00001 #ifndef RootEventData_TEvtRecObject_H 00002 #define RootEventData_TEvtRecObject_H 00003 00004 #include "TObject.h" 00005 #include "TObjArray.h" 00006 00007 #include "TEvtRecEvent.h" 00008 #include "TEvtRecTrack.h" 00009 #include "TEvtRecPrimaryVertex.h" 00010 #include "TEvtRecVeeVertex.h" 00011 #include "TEvtRecPi0.h" 00012 #include "TEvtRecEtaToGG.h" 00013 #include "TEvtRecDTag.h" 00014 00015 class TEvtRecObject : public TObject { 00016 00017 public: 00018 00019 TEvtRecObject(); 00020 virtual ~TEvtRecObject(); 00021 00022 void initialize(); 00023 00024 void Clear(Option_t* option = ""); 00025 00026 void Print(Option_t* option = "") const; 00027 00028 // Interfaces of EvtRecEvent 00029 const TEvtRecEvent* getEvtRecEvent() const { return m_evtRecEvent; } 00030 void setEvtRecEvent(TEvtRecEvent* evtRecEvent); 00031 00032 // Interfaces of EvtRecTracks 00033 const TObjArray* getEvtRecTrackCol() const { return m_evtRecTrackCol; } 00034 void addEvtRecTrack(TEvtRecTrack* track); 00035 const TEvtRecTrack* getEvtRecTrack(Int_t i) const; 00036 void clearEvtRecTrackCol() { m_evtRecTrackCol->Clear(); } 00037 00038 // Interfaces of EvtRecPrimaryVertex 00039 const TEvtRecPrimaryVertex* getEvtRecPrimaryVertex() const {return m_evtRecPrimaryVertex; } 00040 void setEvtRecPrimaryVertex(TEvtRecPrimaryVertex* evtRecPrimaryVertex); 00041 00042 // Interfaces of EvtRecVeeVertex 00043 const TObjArray* getEvtRecVeeVertexCol() const {return m_evtRecVeeVertexCol; } 00044 void addEvtRecVeeVertex(TEvtRecVeeVertex* veeVertex); 00045 const TEvtRecVeeVertex* getEvtRecVeeVertex(Int_t i) const; 00046 void clearEvtRecVeeVertexCol() { m_evtRecVeeVertexCol->Clear(); } 00047 00048 00049 00050 // Interfaces of EvtRecPi0 00051 const TObjArray* getEvtRecPi0Col() const {return m_evtRecPi0Col; } 00052 void addEvtRecPi0(TEvtRecPi0* pi0); 00053 const TEvtRecPi0* getEvtRecPi0(Int_t i) const; 00054 void clearEvtRecPi0Col() { m_evtRecPi0Col->Clear(); } 00055 00056 // Interfaces of EvtRecEtaToGG 00057 const TObjArray* getEvtRecEtaToGGCol() const {return m_evtRecEtaToGGCol; } 00058 void addEvtRecEtaToGG(TEvtRecEtaToGG* eta); 00059 const TEvtRecEtaToGG* getEvtRecEtaToGG(Int_t i) const; 00060 void clearEvtRecEtaToGGCol() { m_evtRecEtaToGGCol->Clear(); } 00061 00062 00063 00064 00065 // Interfaces of EvtRecDTag 00066 const TObjArray* getEvtRecDTagCol() const {return m_evtRecDTagCol; } 00067 void addEvtRecDTag(TEvtRecDTag* dtag); 00068 const TEvtRecDTag* getEvtRecDTag(Int_t i) const; 00069 void clearEvtRecDTagCol() { m_evtRecDTagCol->Clear(); } 00070 00071 00072 00073 00074 private: 00075 00077 static TEvtRecEvent* s_staticEvtRecEvent; 00078 TEvtRecEvent* m_evtRecEvent; //-> 00079 static TObjArray* s_staticEvtRecTrackCol; 00080 TObjArray* m_evtRecTrackCol; //-> 00081 00083 static TEvtRecPrimaryVertex* s_staticEvtRecPrimaryVertex; 00084 TEvtRecPrimaryVertex* m_evtRecPrimaryVertex; //-> 00085 static TObjArray* s_staticEvtRecVeeVertexCol; 00086 TObjArray* m_evtRecVeeVertexCol; //-> 00087 00088 // data members to store EvtRecPi0 00089 static TObjArray* s_staticEvtRecPi0Col; 00090 TObjArray* m_evtRecPi0Col; //-> 00091 00092 00093 // data members to store EvtRecEtaToGG 00094 static TObjArray* s_staticEvtRecEtaToGGCol; 00095 TObjArray* m_evtRecEtaToGGCol; //-> 00096 00097 00098 00099 // data members to store EvtRecDTag 00100 static TObjArray* s_staticEvtRecDTagCol; 00101 TObjArray* m_evtRecDTagCol; //-> 00102 00103 ClassDef(TEvtRecObject, 2) 00104 }; 00105 00106 #endif