19 #include "boost/program_options.hpp"
21 #include "FairMQLogger.h"
22 #include "FairMQParser.h"
23 #include "FairMQProgOptions.h"
24 #include "FairMQProcessor.h"
25 #include "FairMQDevice.h"
28 #include "FairMQTransportFactoryNN.h"
30 #include "FairMQTransportFactoryZMQ.h"
35 int main(
int argc,
char** argv)
39 processor.CatchSignals();
41 FairMQProgOptions config;
45 options_description samplerOptions(
"Sampler options");
46 samplerOptions.add_options()
47 (
"FE", value<int>(&
fe)->default_value(-1),
"Front-End ID")
48 (
"TIMECORR", value<std::string>(&timeCorr)->default_value(
"0.0"),
"Correction of time offset");
50 config.AddToCmdLineOptions(samplerOptions);
54 config.ParseAll(argc, argv);
56 std::string
filename = config.GetValue<std::string>(
"config-json-file");
57 std::string
id = config.GetValue<std::string>(
"id");
59 config.UserParser<FairMQParser::JSON>(
filename, id);
61 processor.fChannels = config.GetFairMQMap();
63 LOG(INFO) <<
"PID: " << getpid();
64 LOG(INFO) <<
"ID: " << id ;
65 LOG(INFO) <<
"FE: " <<
fe;
66 LOG(INFO) <<
"TimeCorr: " <<
timeCorr;
67 LOG(INFO) <<
"Processor::Id Kes: " << FairMQDevice::Id;
68 processor.ListProperties();
71 FairMQTransportFactory* transportFactory =
new FairMQTransportFactoryNN();
73 FairMQTransportFactory* transportFactory =
new FairMQTransportFactoryZMQ();
76 processor.SetTransport(transportFactory);
85 processor.ChangeState(
"INIT_DEVICE");
86 processor.WaitForEndOfState(
"INIT_DEVICE");
88 processor.ChangeState(
"INIT_TASK");
89 processor.WaitForEndOfState(
"INIT_TASK");
91 processor.ChangeState(
"RUN");
92 processor.InteractiveStateLoop();
94 catch (std::exception& e)
96 LOG(ERROR) << e.what();
97 LOG(INFO) <<
"Command line options are the following: ";
int main(int argc, char **argv)
virtual void SetProperty(const int key, const std::string &value)
PndTSCorrectorTask * timeCorr