00001 #ifndef SimpleFastMCProcessor_h 00002 #define SimpleFastMCProcessor_h 1 00003 00004 #include "marlin/Processor.h" 00005 #include "marlin/IRecoParticleFactory.h" 00006 00007 #include "lcio.h" 00008 #include <string> 00009 00010 00011 00012 using namespace lcio ; 00013 00014 namespace marlin{ 00015 00016 00070 class SimpleFastMCProcessor : public Processor { 00071 00072 public: 00073 00075 virtual Processor* newProcessor() { return new SimpleFastMCProcessor ; } 00076 00077 00078 SimpleFastMCProcessor() ; 00079 00080 00083 virtual void init() ; 00084 00087 virtual void processRunHeader( LCRunHeader* run ) ; 00088 00091 virtual void processEvent( LCEvent * evt ) ; 00092 00095 virtual void check( LCEvent * evt ) ; 00096 00099 virtual void end() ; 00100 00101 00102 protected: 00103 00105 std::string _inputCollectionName ; 00106 00108 std::string _recoParticleCollectionName ; 00109 std::string _mcTruthCollectionName ; 00110 00112 float _momentumCut ; 00113 00115 FloatVec _initChargedRes ; 00116 00118 FloatVec _initPhotonRes ; 00119 00121 FloatVec _initNeutralHadronRes ; 00122 00124 IRecoParticleFactory* _factory ; 00125 00126 int _nRun ; 00127 int _nEvt ; 00128 00129 } ; 00130 00131 } // end namespace 00132 00133 #endif 00134 00135