1 #include "Ctp3DimData.h"
4 #include <spdlog/spdlog.h>
6 using namespace std::chrono;
8 int main(
int argc,
char **argv) {
9 auto console = spdlog::stdout_logger_mt(
"console");
14 std::vector<std::string> service_list;
15 console->info(
"{}", argc);
19 std::vector<std::string> param_list;
20 param_list.push_back(
"MONBUSY");
21 param_list.push_back(
"TESTPARAM");
22 std::vector<std::string> det_list;
23 det_list.push_back(
"tpc");
24 det_list.push_back(
"trd");
25 det_list.push_back(
"zdc");
26 det_list.push_back(
"emcal");
27 det_list.push_back(
"pmd");
28 det_list.push_back(
"acorde");
29 det_list.push_back(
"sdd");
30 det_list.push_back(
"muon_trk");
31 det_list.push_back(
"muon_trg");
32 det_list.push_back(
"daq");
33 det_list.push_back(
"ssd");
34 det_list.push_back(
"fmd");
35 det_list.push_back(
"t0");
36 det_list.push_back(
"hmpid");
37 det_list.push_back(
"phos");
38 det_list.push_back(
"cpv");
39 det_list.push_back(
"as");
40 det_list.push_back(
"spd");
41 det_list.push_back(
"tof");
42 det_list.push_back(
"v0");
44 for (
auto s : param_list)
45 for (
auto d : det_list) {
46 console->info(
"Adding service {}/{}", d, s);
47 service_list.push_back(d +
"/" + s);
50 for (
int i = 1; i < argc; i++)
51 service_list.push_back(argv[i]);
54 int n = service_list.size();
56 console->info(
"Number of services {}", n);
58 std::vector<DimService *> services;
64 for (
auto s : service_list) {
68 v->
btime = float(i + 1) / n;
69 char format[] =
"I:2;F:3";
70 sx =
new DimService(s.data(), format, (
void *)v, 20);
71 services.push_back(sx);
75 DimServer::start(
"Ctp3TestDimServer");
80 std::srand(std::time(
nullptr));
82 index = rand() %
static_cast<int>(n);
85 console->info(
"Sending index={} s={} val={}", index, sx->getName(),
87 v->
btime = ((float)rand() / (RAND_MAX));
89 duration_cast<milliseconds>(system_clock::now().time_since_epoch());
90 v->
epchts = (int) (ms.count()/1000);
91 v->
epchtu = (int) (ms.count() - (ms.count()/1000*1000))*1000;
93 services[index]->updateService((
void*)v, 20);
98 for (
auto d : services) {
float btime
busy/time [0..1]
w32 epchts
epochtime in secs
Ctp3 dim data object class.
w32 epchtu
0..999999 in micsecs