Marlin  1.17.1
 All Classes Namespaces Functions Variables Enumerations Friends Pages
SimpleFastMCProcessor.h
1 #ifndef SimpleFastMCProcessor_h
2 #define SimpleFastMCProcessor_h 1
3 
4 #include "marlin/Processor.h"
5 #include "marlin/IRecoParticleFactory.h"
6 
7 #include "lcio.h"
8 #include <string>
9 
10 
11 
12 using namespace lcio ;
13 
14 namespace marlin{
15 
16 
71 
72  public:
73 
75  virtual Processor* newProcessor() { return new SimpleFastMCProcessor ; }
76 
77 
80  SimpleFastMCProcessor& operator=(const marlin::SimpleFastMCProcessor&) = delete;
81 
84  virtual void init() ;
85 
88  virtual void processRunHeader( LCRunHeader* run ) ;
89 
92  virtual void processEvent( LCEvent * evt ) ;
93 
96  virtual void check( LCEvent * evt ) ;
97 
100  virtual void end() ;
101 
102 
103  protected:
104 
106  std::string _inputCollectionName{};
107 
109  std::string _recoParticleCollectionName{};
110  std::string _mcTruthCollectionName{};
111 
113  float _momentumCut=0.0;
114 
116  FloatVec _initChargedRes{};
117 
119  FloatVec _initPhotonRes{};
120 
122  FloatVec _initNeutralHadronRes{};
123 
125  IRecoParticleFactory* _factory=NULL;
126 
127  int _nRun=-1;
128  int _nEvt=-1;
129 
130  } ;
131 
132 } // end namespace
133 
134 #endif
135 
136 
virtual Processor * newProcessor()
Returns a new instance of the processor.
Definition: SimpleFastMCProcessor.h:75
A simple smearing &quot;Monte Carlo&quot; processor.
Definition: SimpleFastMCProcessor.h:70
Interface for a factory class that creates a ReconstructedParticle from an MCParticle.
Definition: IRecoParticleFactory.h:19
Base class for Marlin processors.
Definition: Processor.h:64