LCFIPlus  0.6.5
LcfiplusProcessor.h
Go to the documentation of this file.
1 #ifndef LcfiplusProcessor_h
2 #define LcfiplusProcessor_h 1
3 
4 #include "marlin/Processor.h"
5 #include "lcio.h"
6 #include <string>
7 
8 #include "LCIOStorer.h"
9 #include "EventStore.h"
10 
11 using namespace lcio ;
12 using namespace marlin ;
13 
22 class LcfiplusProcessor : public Processor, public lcfiplus::EventStoreObserver {
23 
24  public:
25 
26  virtual Processor* newProcessor() {
27  return new LcfiplusProcessor ;
28  }
29 
31  virtual ~LcfiplusProcessor() ;
32 
35  virtual void init() ;
36 
39  virtual void processRunHeader( LCRunHeader* run ) ;
40 
43  virtual void processEvent( LCEvent* evt ) ;
44 
45 
46  virtual void check( LCEvent* evt ) ;
47 
48 
51  virtual void end() ;
52 
53 
54  virtual void RegisterCallback(const char* name, const char* classname, int flags);
55 
56  private:
57 
58  // lciostorer singleton
59  static lcfiplus::LCIOStorer* _lcio;
60  bool _lcioowner;
61 
62  int _useMcp;
63 
66  std::string _pfoCollectionName;
67  std::string _mcpCollectionName;
68  std::string _mcpfoRelationName;
69  std::vector<std::string> _algonames;
70 
71  std::vector<lcfiplus::Algorithm*> _algos;
72  lcfiplus::Parameters* _param;
73 
74  int _nRun ;
75  int _nEvt ;
76  int _printPeriod;
77 
78  float _magneticField;
79  float _beamSizeX;
80  float _beamSizeY;
81  float _beamSizeZ;
82 
83  int _readSubdetectorEnergies;
84  int _trackHitOrdering;
85  int _updateVertexRPDaughters;
86  int _ignoreLackOfVertexRP;
87 
88  // collections to register
89  std::vector<std::string> _vertexColNamesToWrite;
90  std::vector<std::string> _jetColNamesToWrite;
91  std::vector<int> _vertexColNamesToWriteFlags;
92  std::vector<int> _jetColNamesToWriteFlags;
93 
94  bool _inInit;
95 
96  //Particle ID Algorithm Name
97  string _pidAlgoName;
98 } ;
99 
100 #endif
101 
102 
103 
Marlin processor for LCFIPlus.
Definition: LcfiplusProcessor.h:22
Definition: LCIOStorer.h:22
Definition: EventStore.h:17
Definition: lcfiplus.h:152
virtual Processor * newProcessor()
Definition: LcfiplusProcessor.h:26