00001 #ifndef RootEventData_TDisTrack_H 00002 #define RootEventData_TDisTrack_H 1 00003 #include "TObject.h" 00004 #include "TClonesArray.h" 00005 #include "TObjArray.h" 00006 00007 #include "TRecMdcTrack.h" 00008 #include "TRecTofTrack.h" 00009 #include "TRecMdcHit.h" 00010 #include "TRecMucTrack.h" 00011 #include "TRecEmcShower.h" 00012 class TDisTrack : public TObject { 00013 00014 public: 00015 00016 TDisTrack(); 00017 virtual ~TDisTrack(); 00018 00019 void initialize(); 00020 00021 void Clear(Option_t *option=""); 00022 00023 void Print(Option_t *option="") const; 00024 00025 00026 // inline Bool_t getFromMc() { return m_fromMc; }; 00027 00028 00029 // ********************* Dst Track ******************************/ 00031 const TObjArray* getRecMdcTrackCol() const { return m_recMdcTrackCol; }; 00032 00034 void addRecMdcTrack(TRecMdcTrack *Track); 00035 00037 const TRecMdcTrack* getRecMdcTrack(Int_t i) const; 00038 00040 void clearRecMdcTrackCol() { m_recMdcTrackCol->Clear(); } 00041 00043 const TObjArray* getRecMdcHitCol() const { return m_recMdcHitCol; }; 00045 void addRecMdcHit(TRecMdcHit *Hit); 00047 const TRecMdcHit* getRecMdcHit(Int_t i) const; 00049 void clearRecMdcHitCol() { m_recMdcHitCol->Clear(); } 00050 00052 const TObjArray* getTofTrackCol() const { 00053 // std::cout<<" in TObjArray* getTofTrackCol()"<<std::endl; 00054 return m_recTofTrackCol; }; 00055 //Add a TofTrack into the TOF Data collection 00056 void addTofTrack(TRecTofTrack * Track); 00058 const TRecTofTrack* getTofTrack(Int_t i) const; 00060 void clearTofTrackCol() { m_recTofTrackCol->Clear();} 00061 00063 const TObjArray* getMucTrackCol() const { return m_recMucTrackCol; }; 00065 void addMucTrack(TRecMucTrack * Track); 00067 const TRecMucTrack* getMucTrack(Int_t i) const; 00069 void clearMucTrackCol() { m_recMucTrackCol->Clear();} 00070 int getMdcTrackNum(); 00071 int getTofTrackNum(); 00072 int getEmcShowerNum(); 00073 int getMucTrackNum(); 00074 int getMdcHitNum(); 00075 00076 /* 00078 const TObjArray* getTofTrackCol() const { 00079 std::cout<<" in TObjArray* getTofTrackCol()"<<std::endl; 00080 return m_recTofTrackCol; }; 00081 00083 void addTofTrack(TRecTofTrack * Track); 00084 00086 const TRecTofTrack* getTofTrack(Int_t i) const; 00087 00089 void clearTofTrackCol() { m_recTofTrackCol->Clear();} 00090 00091 00093 const TObjArray* getEmcHitCol() const { return m_recEmcHitCol; }; 00094 00095 // /// Add a TkrTrack into the Emc data collection 00096 void addEmcHit(TRecEmcHit *Track); 00097 00099 const TRecEmcHit* getEmcHit(Int_t i) const; 00100 00102 void clearEmcHitCol() { m_recEmcHitCol->Clear(); } 00103 00105 const TObjArray* getEmcClusterCol() const { return m_recEmcClusterCol; }; 00106 00108 void addEmcCluster(TRecEmcCluster *Track); 00109 00111 const TRecEmcCluster* getEmcCluster(Int_t i) const; 00112 00114 void clearEmcClusterCol() { m_recEmcClusterCol->Clear(); } 00115 */ 00117 const TObjArray* getEmcShowerCol() const { return m_recEmcShowerCol; }; 00118 00120 void addEmcShower(TRecEmcShower *Track); 00121 00123 const TRecEmcShower* getEmcShower(Int_t i) const; 00124 00126 void clearEmcShowerCol() { m_recEmcShowerCol->Clear(); } 00127 00128 /* 00130 const TObjArray* getMucTrackCol() const { return m_recMucTrackCol; }; 00131 00133 void addMucTrack(TRecMucTrack * Track); 00134 00136 const TRecMucTrack* getMucTrack(Int_t i) const; 00137 00139 void clearMucTrackCol() { m_recMucTrackCol->Clear();} 00140 00142 const TObjArray* getRecMdcDedxCol() const { return m_recMdcDedxCol; }; 00143 00145 void addRecMdcDedx(TRecMdcDedx * Track); 00146 00148 const TRecMdcDedx* getRecMdcDedx(Int_t i) const; 00149 00151 void clearRecMdcDedxCol() { m_recMdcDedxCol->Clear();} 00152 00153 00155 const TObjArray* getRecMdcDedxHitCol() const { return m_recMdcDedxHitCol; }; 00156 00158 void addRecMdcDedxHit(TRecMdcDedxHit * Track); 00159 00161 const TRecMdcDedxHit* getRecMdcDedxHit(Int_t i) const; 00162 00164 void clearRecMdcDedxHitCol() { m_recMdcDedxHitCol->Clear();} 00165 00166 00167 00169 // const TObjArray* getExtTrackCol() const { return m_extTrackCol; }; 00170 00172 // void addExtTrack(TRecExtTrack * Track); 00173 */ 00174 /* /// retrieve a MucTrack From the collection, using the index into the array */ 00175 // const TRecExtTrack* getExtTrack(Int_t i) const; 00176 00177 /* /// clear the whole array */ 00178 // void clearExtTrackCol() { m_extTrackCol->Clear();} 00179 00180 /* // TObjArray of MdcKal Data 00181 const TObjArray* getRecMdcKalTrackCol() const { return m_recMdcKalTrackCol; }; 00182 void addRecMdcKalTrack(TRecMdcKalTrack * Track); 00183 const TRecMdcKalTrack* getRecMdcKalTrack(Int_t i) const; 00184 void clearRecMdcKalTrackCol() { m_recMdcKalTrackCol->Clear();} 00185 00186 // TObjArray of EsTime Data 00187 const TObjArray* getEvTimeCol() const { return m_recEvTimeCol; }; 00188 void addEvTime(TRecEvTime * Track); 00189 const TRecEvTime* getEvTime(Int_t i) const; 00190 void clearEvTimeCol() { std::cout<<"in clearEvTimeCol"<<std::endl; m_recEvTimeCol->Clear();} 00191 00192 */ 00193 00194 private: 00195 00197 TObjArray* m_recMdcTrackCol; //-> 00198 TObjArray* m_recTofTrackCol; //-> 00199 TObjArray* m_recMdcHitCol; //-> 00200 TObjArray* m_recMucTrackCol; //-> 00201 TObjArray* m_recEmcShowerCol; //-> 00202 00203 /* static TObjArray * s_staticEmcHitCol; 00204 TObjArray* m_recEmcHitCol; //-> 00205 00206 static TObjArray * s_staticEmcClusterCol; 00207 TObjArray* m_recEmcClusterCol; //-> 00208 */ 00209 /* /// data members to store Emc track data 00210 static TObjArray * s_staticEmcShowerCol; 00211 TObjArray* m_recEmcShowerCol; //-> 00212 00214 static TObjArray * s_staticTofTrackCol; 00215 TObjArray* m_recTofTrackCol; //-> 00216 00218 static TObjArray *s_staticMucTrackCol; 00219 TObjArray* m_recMucTrackCol; //-> 00220 00222 static TObjArray * s_staticRecMdcDedxCol; 00223 TObjArray* m_recMdcDedxCol; //-> 00224 00226 static TObjArray * s_staticRecMdcDedxHitCol; 00227 TObjArray* m_recMdcDedxHitCol; //-> 00228 */ 00229 00230 00231 00232 ClassDef(TDisTrack,2) 00233 00234 }; 00235 00236 #endif