FairRoot/PandaRoot
Functions
runPndTopixProcessor.cxx File Reference
#include <PndMQTopix4Processor.h>
#include <iostream>
#include "boost/program_options.hpp"
#include "FairMQLogger.h"
#include "FairMQParser.h"
#include "FairMQProgOptions.h"
#include "FairMQProcessor.h"
#include "FairMQDevice.h"
#include "FairMQTransportFactoryZMQ.h"

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 

Function Documentation

int main ( int  argc,
char **  argv 
)

Definition at line 35 of file runPndTopixProcessor.cxx.

References PndMQTopix4Processor::FE, fe, filename, PndMQTopix4Processor::SetFilter(), PndMQTopix4Processor::SetProperty(), PndMQTopix4Processor::TimeCorr, and timeCorr.

36 {
37  PndMQTopix4Processor processor;
38  processor.SetFilter(false);
39  processor.CatchSignals();
40 
41  FairMQProgOptions config;
42 
43  int fe;
44  std::string timeCorr;
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");
49 
50  config.AddToCmdLineOptions(samplerOptions);
51 
52  try
53  {
54  config.ParseAll(argc, argv);
55 
56  std::string filename = config.GetValue<std::string>("config-json-file");
57  std::string id = config.GetValue<std::string>("id");
58 
59  config.UserParser<FairMQParser::JSON>(filename, id);
60 
61  processor.fChannels = config.GetFairMQMap();
62 
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();
69 
70 #ifdef NANOMSG
71  FairMQTransportFactory* transportFactory = new FairMQTransportFactoryNN();
72 #else
73  FairMQTransportFactory* transportFactory = new FairMQTransportFactoryZMQ();
74 #endif
75 
76  processor.SetTransport(transportFactory);
77 
78  processor.SetProperty(FairMQDevice::Id, id);
80  processor.SetProperty(PndMQTopix4Processor::TimeCorr, timeCorr);
81 
82  //PndMQTopix4ProcessorTask* task = new PndMQTopix4ProcessorTask();
83  //processor.SetTask(task);
84 
85  processor.ChangeState("INIT_DEVICE");
86  processor.WaitForEndOfState("INIT_DEVICE");
87 
88  processor.ChangeState("INIT_TASK");
89  processor.WaitForEndOfState("INIT_TASK");
90 
91  processor.ChangeState("RUN");
92  processor.InteractiveStateLoop();
93  }
94  catch (std::exception& e)
95  {
96  LOG(ERROR) << e.what();
97  LOG(INFO) << "Command line options are the following: ";
98  config.PrintHelp();
99  return 1;
100  }
101 
102  return 0;
103 }
int fe
Definition: anaLmdDigi.C:67
virtual void SetProperty(const int key, const std::string &value)
PndTSCorrectorTask * timeCorr
const string filename