FairRoot/PandaRoot
Functions
runFileSinkBursts.cxx File Reference
#include <PndMQFileSinkBursts.h>
#include <csignal>
#include "FairMQLogger.h"
#include "runSimpleMQStateMachine.h"

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 std More...
 

Function Documentation

int main ( int  argc,
char **  argv 
)

std

FairRoot - FairMQ - base/MQ

Definition at line 15 of file runFileSinkBursts.cxx.

References filename.

16 {
17  try
18  {
19  std::string filename;
20  std::vector<std::string> classname;
21  std::vector<std::string> branchname;
22 
23  namespace po = boost::program_options;
24  po::options_description fileSink_options("FileSink options");
25  fileSink_options.add_options()
26  ("file-name", po::value<std::string> (&filename) , "Path to the output file")
27  ("class-name", po::value<std::vector<std::string>>(&classname) , "class name")
28  ("branch-name", po::value<std::vector<std::string>>(&branchname), "branch name");
29 
30 
31  FairMQProgOptions config;
32  config.AddToCmdLineOptions(fileSink_options);
33 
34  config.ParseAll(argc, argv);
35 
36  PndMQFileSinkBursts fileSink;
37  // fileSink.SetProperty(PndMQFileSinkBursts::OutputFileName,filename);
38 
39  if ( classname.size() != branchname.size() ) {
40  LOG(ERROR) << "The classname size (" << classname.size() << ") and branchname size (" << branchname.size() << ") MISMATCH!!!";
41  }
42 
43 // fileSink.AddOutputBranch("FairEventHeader","EventHeader.");
44 // for ( unsigned int ielem = 0 ; ielem < classname.size() ; ielem++ ) {
45 // fileSink.AddOutputBranch(classname.at(ielem),branchname.at(ielem));
46 // }
47 
48  runStateMachine(fileSink, config);
49 
50 
51  }
52  catch (std::exception& e)
53  {
54  LOG(ERROR) << "Unhandled Exception reached the top of main: "
55  << e.what() << ", application will now exit";
56  return 1;
57  }
58 
59  return 0;
60 }
const string filename