// ---------------------------------------------------------------------------- // $Id: LCDFastMC.h,v 1.3 2001/06/23 16:15:14 toshi Exp $ // ---------------------------------------------------------------------------- // // $Log: LCDFastMC.h,v $ // Revision 1.3 2001/06/23 16:15:14 toshi // In method arg. , Char_t* -> const Char_t* // // Revision 1.2 2001/06/19 16:56:44 toshi // Just add $ID: $ in the top of this file. // // // one dimensional lookup table // 25-Apr-2001 Toshi Change contructor to remove LCDEventSource, // FetchEvent.. // 07-Jan-1999 Richard creation #ifndef LCDFASTMC_H #define LCDFASTMC_H #include "TObject.h" #include "TObjArray.h" #include "LCDEvent.h" #include "LCDEventSource.h" #include "LCDRecModule.h" #include "LCDEventMarker.h" #include "LCDMCPartPrint.h" #include "LCDTrackFullSmear.h" #include "LCDIPSmear.h" #include "LCDFMCCalRecon.h" #include "LCDGetParameters.h" class LCDFastMC : public TObject { //class LCDFastMC : public TObject { public: LCDFastMC(); LCDFastMC(LCDGetParameters* gp, const Char_t* smearFileName, LCDEvent* event=0); LCDFastMC(const Char_t* geometryFileName, const Char_t* smearFileName, LCDEvent* event=0); ~LCDFastMC(); void Cleanup(LCDEvent* event=0); // call cleanup for each module void CreateModules(const Char_t* fname); void Doit(LCDEvent* event=0); // call doit for each module LCDFMCCalRecon* GetFMCCalRecon(){ return m_calRecon;} LCDGetParameters* GetParameters() { return m_gp; } void SetClusterMerge() { m_calRecon->SetClusterMerge(); } void SetNoClusterMerge() { m_calRecon->SetNoClusterMerge(); } void SetFastMC(LCDGetParameters* gp, const Char_t* smearFileName, LCDEvent* event=0); void SetFastMC(const Char_t* geometryFileName, const Char_t* smearFileName, LCDEvent* event); // Set sigma of the IP smearing void SetIPSigmaX(Double_t s_x){ m_ipSmear->SetSigmaX(s_x);} void SetIPSigmaY(Double_t s_y){ m_ipSmear->SetSigmaY(s_y);} void SetIPSigmaZ(Double_t s_z){ m_ipSmear->SetSigmaZ(s_z);} void SetLCDGetParameters(LCDGetParameters* gp) { m_gp = gp; } private: LCDEvent *m_event ; TObjArray *m_ModuleList ; // processors which have signed up TObjArrayIter *m_iter ; // iterate through m_ModuleList LCDRecModule *m_module ; LCDEventMarker *m_eventMarker ; // our instance of EventMarker LCDMCPartPrint *m_mcPartPrint ; // our instance of MCPartPrint LCDTrackFullSmear *m_trackFullSmear; // our instance of TrackFullSmear LCDFMCCalRecon *m_calRecon ; // our instance of CalRecon LCDIPSmear *m_ipSmear ; // our instance of IPSmear LCDGetParameters *m_gp ; Bool_t m_mygp ; void Init(); public: ClassDef(LCDFastMC,0) // Manager class for Fast MC //Don't change ClassVersionID! Must be 0! }; #endif