00001 00002 #ifndef ROOT_TMcEvent_H 00003 #define ROOT_TMcEvent_H 00004 00005 #include "TObject.h" 00006 #include "TClonesArray.h" 00007 #include "TObjArray.h" 00008 00009 #include "TMdcMc.h" 00010 #include "TEmcMc.h" 00011 #include "TTofMc.h" 00012 #include "TMucMc.h" 00013 #include "TMcParticle.h" 00014 //#include "TDecayMode.h" 00015 00016 class TMcEvent: public TObject { 00017 public: 00018 00019 TMcEvent(); 00020 virtual ~TMcEvent(); 00021 00022 void initialize(); 00023 00024 void Clear(Option_t *option=""); 00025 00026 void Print(Option_t *option="") const; 00027 00028 00029 // inline Bool_t getFromMc() { return m_fromMc; }; 00030 00031 00032 const TObjArray* getMdcMcHitCol() const { return m_mdcMcHitCol; } 00033 void addMdcMc(TMdcMc *mcHit); 00034 const TMdcMc* getMdcMc(Int_t i) const; 00035 void clearMdcMcHitCol() { m_mdcMcHitCol->Clear(); } 00036 00037 00038 const TObjArray* getEmcMcHitCol() const { return m_emcMcHitCol; } 00039 void addEmcMc(TEmcMc *mcHit); 00040 const TEmcMc* getEmcMc(Int_t i) const; 00041 void clearEmcMcHitCol() { m_emcMcHitCol->Clear(); } 00042 00043 00044 const TObjArray* getTofMcHitCol() const { return m_tofMcHitCol; } 00045 void addTofMc(TTofMc * mcHit); 00046 const TTofMc* getTofMc(Int_t i) const; 00047 void clearTofMcHitCol() { m_tofMcHitCol->Clear();} 00048 00049 const TObjArray* getMucMcHitCol() const { return m_mucMcHitCol; } 00050 void addMucMc(TMucMc * mcHit); 00051 const TMucMc* getMucMc(Int_t i) const; 00052 void clearMucMcHitCol() { m_mucMcHitCol->Clear();} 00053 00054 const TObjArray* getMcParticleCol() const { return m_mcParticleCol; } 00055 void addMcParticle(TMcParticle * mcHit); 00056 const TMcParticle* getMcParticle(Int_t i) const; 00057 void clearMcParticleCol() { m_mcParticleCol->Clear();} 00058 /* 00059 //DecayMode 00060 void addDecayMode(TDecayMode * decayMode); 00061 const TDecayMode* getDecayMode() const; 00062 void clearDecayMode() { m_decayMode->Clear();} 00063 */ 00064 private: 00065 00067 static TObjArray *s_staticMdcMcHitCol; 00068 TObjArray* m_mdcMcHitCol; //-> 00069 00071 static TObjArray *s_staticEmcMcHitCol; 00072 TObjArray* m_emcMcHitCol; //-> 00073 00075 static TObjArray * s_staticTofMcHitCol; 00076 TObjArray* m_tofMcHitCol; //-> 00077 00079 static TObjArray * s_staticMucMcHitCol; 00080 TObjArray* m_mucMcHitCol; //-> 00081 00083 static TObjArray * s_staticMcParticleCol; 00084 TObjArray* m_mcParticleCol; //-> 00085 /* 00087 static TObject* s_staticDecayMode; 00088 TObject* m_decayMode; 00089 */ 00090 00091 00092 ClassDef(TMcEvent,2) // Storage for McTruth event and subsystem data 00093 }; 00094 00095 #endif 00096 00097 00098 00099 00100