StFmsSimulatorMaker  1.0.0
FMS fast simulator maker
StRoot/StFmsSimulatorMaker/StFmsSimulatorMaker.h
Go to the documentation of this file.
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