StFmsSimulatorMaker
1.0.0
FMS fast simulator maker
|
00001 // $Id$ 00002 // 00003 // $Log$ 00010 #ifndef ST_FMS_SIMULATOR_MAKER_H 00011 #define ST_FMS_SIMULATOR_MAKER_H 00012 00013 class g2t_emc_hit_st; 00014 class StFmsHit; 00015 class StEvent; 00016 00017 #include "StChain/StMaker.h" 00018 00044 class StFmsSimulatorMaker : public StMaker { 00045 public: 00049 virtual ~StFmsSimulatorMaker() { } 00053 explicit StFmsSimulatorMaker(const Char_t* name = "fmsSim"); 00054 // Note we the use default copy constructor and assignment operator produced 00055 // by the compiler as we do not allocate any resources on the heap. 00061 Int_t Make(); 00065 virtual const char* GetCVS() const; 00066 00067 private: 00078 enum StFmsDetectorId { 00079 kFpdNorth = 0, 00080 kFpdSouth = 1, 00081 kFpdNorthPreshower = 2, 00082 kFpdSouthPreshower = 3, 00083 kFmsNorthLarge = 8, 00084 kFmsSouthLarge = 9, 00085 kFmsNorthSmall = 10, 00086 kFmsSouthSmall = 11, 00087 kFmsInvalidDetectorId = -1 00088 }; 00097 Int_t getDetectorId(const g2t_emc_hit_st& hit) const; 00104 StFmsHit* makeFmsHit(const g2t_emc_hit_st& hit); 00108 void fillStEvent(StEvent* event); 00112 void printStEventSummary(const StEvent* event); 00113 ClassDef(StFmsSimulatorMaker, 0) 00114 }; 00115 00116 inline const char* StFmsSimulatorMaker::GetCVS() const { 00117 static const char cvs[]="Tag $Name:$ $Id:$ built "__DATE__" "__TIME__; 00118 return cvs; 00119 } 00120 00121 #endif // ST_FMS_SIMULATOR_MAKER_H