00001 #include "RootEventData/TDisTrack.h" 00002 #include <iostream> 00003 #include "TCollection.h" // Declares TIter 00004 00005 ClassImp(TDisTrack) 00006 00007 // Allocate the TObjArray just once 00008 00009 //*************************************************************** 00010 TDisTrack::TDisTrack() 00011 { 00012 //Dst Track 00013 //Rec Track 00014 // if (!m_recMdcTrackCol) { 00015 00016 m_recMdcTrackCol = new TObjArray(); 00017 // } 00018 m_recMdcHitCol = new TObjArray(); 00019 m_recTofTrackCol = new TObjArray(); 00020 m_recMucTrackCol = new TObjArray(); 00021 m_recEmcShowerCol = new TObjArray(); 00022 /* m_recTofTrackCol = s_staticTofTrackCol; 00023 00024 00025 Clear();*/ 00026 00027 } 00028 00029 //***************************************************************** 00030 TDisTrack::~TDisTrack() { 00031 00032 00033 /**************************** Dst Track *************************/ 00034 00035 // delete m_recMdcTrackCol; 00036 if(m_recMdcTrackCol){ //m_recMdcTrackCol->Clear(); 00037 m_recMdcTrackCol->Delete(); 00038 delete m_recMdcTrackCol;} 00039 m_recMdcTrackCol = 0; 00040 00041 if(m_recMdcHitCol){ //m_recMdcHitCol->Clear(); 00042 m_recMdcHitCol->Delete(); 00043 delete m_recMdcHitCol;} 00044 m_recMdcHitCol = 0; 00045 00046 if(m_recTofTrackCol){// m_recTofTrackCol->Clear(); 00047 m_recTofTrackCol->Delete(); 00048 delete m_recTofTrackCol;} 00049 m_recTofTrackCol = 0; 00050 00051 if(m_recMucTrackCol){ //m_recMucTrackCol->Clear(); 00052 m_recMucTrackCol->Delete(); 00053 delete m_recMucTrackCol;} 00054 m_recMucTrackCol = 0; 00055 00056 if(m_recEmcShowerCol){//m_recEmcShowerCol->Clear(); 00057 m_recEmcShowerCol->Delete(); 00058 delete m_recEmcShowerCol;} 00059 m_recEmcShowerCol =0; 00060 00061 } 00062 00063 //***************************************************************** 00064 void TDisTrack::initialize(){ 00065 } 00066 00067 //***************************************************************** 00068 void TDisTrack::Clear(Option_t *option) { 00069 if(m_recMdcTrackCol){// m_recMdcTrackCol->Clear(); 00070 std::cout<<"step1"<<std::endl; 00071 // m_recMdcTrackCol->Delete(); 00072 delete m_recMdcTrackCol;} 00073 m_recMdcTrackCol = 0; 00074 00075 if(m_recMdcHitCol){ //m_recMdcHitCol->Clear(); 00076 std::cout<<"step2"<<std::endl; 00077 // m_recMdcHitCol->Delete(); 00078 delete m_recMdcHitCol;} 00079 m_recMdcHitCol = 0; 00080 00081 if(m_recTofTrackCol){ //m_recTofTrackCol->Clear(); 00082 std::cout<<"step3"<<std::endl; 00083 // m_recTofTrackCol->Delete(); 00084 delete m_recTofTrackCol;} 00085 m_recTofTrackCol = 0; 00086 00087 if(m_recMucTrackCol){ //m_recMucTrackCol->Clear(); 00088 std::cout<<"step4"<<std::endl; 00089 //; m_recMucTrackCol->Delete(); 00090 delete m_recMucTrackCol;} 00091 m_recMucTrackCol = 0; 00092 00093 if(m_recEmcShowerCol){//m_recEmcShowerCol->Clear(); 00094 std::cout<<"step5"<<std::endl; 00095 // m_recEmcShowerCol->Delete(); 00096 delete m_recEmcShowerCol;} 00097 m_recEmcShowerCol =0; 00098 00099 } 00100 00101 //***************************************************************************** 00102 void TDisTrack::Print(Option_t *option) const { 00103 TObject::Print(option); 00104 } 00105 00106 00107 /**************** Dst Track ************************/ 00109 void TDisTrack::addRecMdcTrack(TRecMdcTrack *Track) { 00110 m_recMdcTrackCol->Add(Track); 00111 } 00112 00113 const TRecMdcTrack* TDisTrack::getRecMdcTrack(Int_t i) const { 00114 if (Int_t(i) >= m_recMdcTrackCol->GetEntries()) 00115 return 0; 00116 return (TRecMdcTrack*)m_recMdcTrackCol->At(i); 00117 } 00118 00119 //MdcHits 00120 void TDisTrack::addRecMdcHit(TRecMdcHit *Hit) { 00121 m_recMdcHitCol->Add(Hit); 00122 } 00123 00124 const TRecMdcHit* TDisTrack::getRecMdcHit(Int_t i) const { 00125 if (Int_t(i) >= m_recMdcHitCol->GetEntries()) 00126 return 0; 00127 return (TRecMdcHit*)m_recMdcHitCol->At(i); 00128 } 00129 00130 //TOF 00131 void TDisTrack::addTofTrack(TRecTofTrack * Track){ 00132 m_recTofTrackCol->Add(Track); 00133 } 00134 const TRecTofTrack* TDisTrack::getTofTrack(Int_t i) const { 00135 if(Int_t(i) >=m_recTofTrackCol->GetEntries()) 00136 return 0; 00137 return (TRecTofTrack*) m_recTofTrackCol->At(i); 00138 } 00139 00141 void TDisTrack::addMucTrack(TRecMucTrack * Track){ 00142 m_recMucTrackCol->Add(Track); 00143 } 00144 00145 const TRecMucTrack* TDisTrack::getMucTrack(Int_t i) const { 00146 if(Int_t(i) >=m_recMucTrackCol->GetEntries()) 00147 return 0; 00148 return (TRecMucTrack*) m_recMucTrackCol->At(i); 00149 } 00150 00151 //EmcShowers 00152 void TDisTrack::addEmcShower(TRecEmcShower *Track){ 00153 m_recEmcShowerCol->Add(Track); 00154 } 00155 00157 const TRecEmcShower* TDisTrack::getEmcShower(Int_t i) const{ 00158 if(Int_t(i) >=m_recEmcShowerCol->GetEntries()) 00159 return 0; 00160 return (TRecEmcShower*) m_recEmcShowerCol->At(i); 00161 } 00162 00163 int TDisTrack::getMdcTrackNum(){ 00164 std::cout<<"getMdcTrackNum step1"<<std::endl; 00165 if(m_recMdcTrackCol){ 00166 std::cout<<"getMdcTrackNum step2"<<std::endl; 00167 return m_recMdcTrackCol->GetEntries(); 00168 } 00169 std::cout<<"getMdcTrackNum step3"<<std::endl; 00170 return 0; 00171 } 00172 00173 int TDisTrack::getTofTrackNum(){ 00174 std::cout<<"getTofTrackNum step1"<<std::endl; 00175 if(m_recTofTrackCol){ 00176 std::cout<<"getTofTrackNum step2"<<std::endl; 00177 return m_recTofTrackCol->GetEntries(); 00178 } 00179 std::cout<<"getTofTrackNum step3"<<std::endl; 00180 return 0; 00181 } 00182 00183 int TDisTrack::getEmcShowerNum(){ 00184 std::cout<<"getEmcShowerNum step1"<<std::endl; 00185 if(m_recEmcShowerCol){ 00186 std::cout<<"getEmcShowerNum step2"<<std::endl; 00187 return m_recEmcShowerCol->GetEntries(); 00188 } 00189 std::cout<<"getEmcShowerNum step3"<<std::endl; 00190 return 0; 00191 } 00192 00193 int TDisTrack::getMucTrackNum(){ 00194 std::cout<<"getMucTrackNum step1"<<std::endl; 00195 if(m_recMucTrackCol){ 00196 std::cout<<"getMucTrackNum step2"<<std::endl; 00197 return m_recMucTrackCol->GetEntries(); 00198 } 00199 std::cout<<"getMucTrackNum step3"<<std::endl; 00200 return 0; 00201 } 00202 00203 int TDisTrack::getMdcHitNum(){ 00204 std::cout<<"getMdcHitkNum step1"<<std::endl; 00205 if(m_recMdcHitCol){ 00206 std::cout<<"getMdcHitkNum step2"<<std::endl; 00207 return m_recMdcHitCol->GetEntries(); 00208 } 00209 std::cout<<"getMdcHitkNum step3"<<std::endl; 00210 return 0; 00211 } 00212 00213