FairRoot/PandaRoot
Functions
runPndHitEventBuilder.cxx File Reference
#include "PndMQHitEventDevice.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 runPndHitEventBuilder.cxx.

References builder, filename, and PndMQHitEventDevice::SetProperty().

36 {
38  builder.CatchSignals();
39 
40  FairMQProgOptions config;
41 
42  try
43  {
44  config.ParseAll(argc, argv);
45 
46  std::string filename = config.GetValue<std::string>("config-json-file");
47  std::string id = config.GetValue<std::string>("id");
48 
49 
50  config.UserParser<FairMQParser::JSON>(filename, id);
51 
52  builder.fChannels = config.GetFairMQMap();
53 
54  LOG(INFO) << "PID: " << getpid();
55  LOG(INFO) << "ID: " << id ;
56  builder.ListProperties();
57 
58 #ifdef NANOMSG
59  FairMQTransportFactory* transportFactory = new FairMQTransportFactoryNN();
60 #else
61  FairMQTransportFactory* transportFactory = new FairMQTransportFactoryZMQ();
62 #endif
63 
64  builder.SetTransport(transportFactory);
65 
66  builder.SetProperty(FairMQDevice::Id, id);
67 
68  //PndMQTopix4ProcessorTask* task = new PndMQTopix4ProcessorTask();
69  //builder.SetTask(task);
70 
71  builder.ChangeState("INIT_DEVICE");
72  builder.WaitForEndOfState("INIT_DEVICE");
73 
74  builder.ChangeState("INIT_TASK");
75  builder.WaitForEndOfState("INIT_TASK");
76 
77  builder.ChangeState("RUN");
78  builder.InteractiveStateLoop();
79  }
80  catch (std::exception& e)
81  {
82  LOG(ERROR) << e.what();
83  LOG(INFO) << "Command line options are the following: ";
84  config.PrintHelp();
85  return 1;
86  }
87 
88  return 0;
89 }
virtual void SetProperty(const int key, const std::string &value)
PndGapEventBuilderTask * builder
const string filename