BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
TRecTrackEvent.cxx
Go to the documentation of this file.
1#include "RootEventData/TRecTrackEvent.h"
2#include "TCollection.h" // Declares TIter
3
5
6// Allocate the TObjArray just once
7
8TObjArray* TRecTrackEvent::s_staticRecMdcTrackCol = 0;
9TObjArray* TRecTrackEvent::s_staticRecMdcHitCol = 0;
10TObjArray* TRecTrackEvent::s_staticTofTrackCol = 0;
11TObjArray* TRecTrackEvent::s_staticEmcHitCol = 0;
12TObjArray* TRecTrackEvent::s_staticEmcClusterCol = 0;
13TObjArray* TRecTrackEvent::s_staticEmcShowerCol = 0;
14TObjArray* TRecTrackEvent::s_staticMucTrackCol = 0;
15TObjArray* TRecTrackEvent::s_staticRecMdcDedxCol = 0;
16TObjArray* TRecTrackEvent::s_staticRecMdcDedxHitCol = 0;
17TObjArray* TRecTrackEvent::s_staticExtTrackCol = 0;
18TObjArray* TRecTrackEvent::s_staticRecMdcKalTrackCol = 0;
19TObjArray* TRecTrackEvent::s_staticRecMdcKalHelixSegCol = 0;
20TObjArray* TRecTrackEvent::s_staticEvTimeCol = 0;
21TObjArray* TRecTrackEvent::s_staticRecZddChannelCol = 0;
22
23//***************************************************************
25 // Dst Track
26 // Rec Track
27 if ( !s_staticRecMdcTrackCol ) { s_staticRecMdcTrackCol = new TObjArray(); }
28 m_recMdcTrackCol = s_staticRecMdcTrackCol;
29
30 if ( !s_staticRecMdcHitCol ) { s_staticRecMdcHitCol = new TObjArray(); }
31 m_recMdcHitCol = s_staticRecMdcHitCol;
32
33 if ( !s_staticTofTrackCol ) { s_staticTofTrackCol = new TObjArray(); }
34 m_recTofTrackCol = s_staticTofTrackCol;
35
36 if ( !s_staticEmcHitCol ) { s_staticEmcHitCol = new TObjArray(); }
37 m_recEmcHitCol = s_staticEmcHitCol;
38
39 if ( !s_staticEmcClusterCol ) { s_staticEmcClusterCol = new TObjArray(); }
40 m_recEmcClusterCol = s_staticEmcClusterCol;
41
42 if ( !s_staticEmcShowerCol ) { s_staticEmcShowerCol = new TObjArray(); }
43 m_recEmcShowerCol = s_staticEmcShowerCol;
44
45 if ( !s_staticMucTrackCol ) { s_staticMucTrackCol = new TObjArray(); }
46 m_recMucTrackCol = s_staticMucTrackCol;
47
48 if ( !s_staticRecMdcDedxCol ) { s_staticRecMdcDedxCol = new TObjArray(); }
49 m_recMdcDedxCol = s_staticRecMdcDedxCol;
50
51 if ( !s_staticRecMdcDedxHitCol ) { s_staticRecMdcDedxHitCol = new TObjArray(); }
52 m_recMdcDedxHitCol = s_staticRecMdcDedxHitCol;
53
54 if ( !s_staticExtTrackCol ) { s_staticExtTrackCol = new TObjArray(); }
55 m_recExtTrackCol = s_staticExtTrackCol;
56
57 if ( !s_staticRecMdcKalTrackCol ) { s_staticRecMdcKalTrackCol = new TObjArray(); }
58 m_recMdcKalTrackCol = s_staticRecMdcKalTrackCol;
59
60 if ( !s_staticRecMdcKalHelixSegCol ) { s_staticRecMdcKalHelixSegCol = new TObjArray(); }
61 m_recMdcKalHelixSegCol = s_staticRecMdcKalHelixSegCol;
62
63 if ( !s_staticEvTimeCol ) { s_staticEvTimeCol = new TObjArray(); }
64 m_recEvTimeCol = s_staticEvTimeCol;
65
66 if ( !s_staticRecZddChannelCol ) { s_staticRecZddChannelCol = new TObjArray(); }
67 m_recZddChannelCol = s_staticRecZddChannelCol;
68
69 Clear();
70}
71
72//*****************************************************************
74
75 /**************************** Dst Track *************************/
76 if ( m_recMdcTrackCol == s_staticRecMdcTrackCol ) s_staticRecMdcTrackCol = 0;
77 m_recMdcTrackCol->Delete();
78 delete m_recMdcTrackCol;
79 m_recMdcTrackCol = 0;
80
81 if ( m_recMdcHitCol == s_staticRecMdcHitCol ) s_staticRecMdcHitCol = 0;
82 m_recMdcHitCol->Delete();
83 delete m_recMdcHitCol;
84 m_recMdcHitCol = 0;
85
86 if ( m_recTofTrackCol == s_staticTofTrackCol ) s_staticTofTrackCol = 0;
87 m_recTofTrackCol->Delete();
88 delete m_recTofTrackCol;
89 m_recTofTrackCol = 0;
90
91 if ( m_recEmcHitCol == s_staticEmcHitCol ) s_staticEmcHitCol = 0;
92 m_recEmcHitCol->Delete();
93 delete m_recEmcHitCol;
94 m_recEmcHitCol = 0;
95
96 if ( m_recEmcClusterCol == s_staticEmcClusterCol ) s_staticEmcClusterCol = 0;
97 m_recEmcClusterCol->Delete();
98 delete m_recEmcClusterCol;
99 m_recEmcClusterCol = 0;
100
101 if ( m_recEmcShowerCol == s_staticEmcShowerCol ) s_staticEmcShowerCol = 0;
102 m_recEmcShowerCol->Delete();
103 delete m_recEmcShowerCol;
104 m_recEmcShowerCol = 0;
105
106 if ( m_recMucTrackCol == s_staticMucTrackCol ) s_staticMucTrackCol = 0;
107 m_recMucTrackCol->Delete();
108 delete m_recMucTrackCol;
109 m_recMucTrackCol = 0;
110
111 if ( m_recMdcDedxCol == s_staticRecMdcDedxCol ) s_staticRecMdcDedxCol = 0;
112 m_recMdcDedxCol->Delete();
113 delete m_recMdcDedxCol;
114 m_recMdcDedxCol = 0;
115
116 if ( m_recMdcDedxHitCol == s_staticRecMdcDedxHitCol ) s_staticRecMdcDedxHitCol = 0;
117 m_recMdcDedxHitCol->Delete();
118 delete m_recMdcDedxHitCol;
119 m_recMdcDedxHitCol = 0;
120
121 if ( m_recExtTrackCol == s_staticExtTrackCol ) s_staticExtTrackCol = 0;
122 m_recExtTrackCol->Delete();
123 delete m_recExtTrackCol;
124 m_recExtTrackCol = 0;
125
126 if ( m_recMdcKalTrackCol == s_staticRecMdcKalTrackCol ) s_staticRecMdcKalTrackCol = 0;
127 m_recMdcKalTrackCol->Delete();
128 delete m_recMdcKalTrackCol;
129 m_recMdcKalTrackCol = 0;
130
131 if ( m_recMdcKalHelixSegCol == s_staticRecMdcKalHelixSegCol )
132 s_staticRecMdcKalHelixSegCol = 0;
133 m_recMdcKalHelixSegCol->Delete();
134 delete m_recMdcKalHelixSegCol;
135 m_recMdcKalHelixSegCol = 0;
136
137 if ( m_recEvTimeCol == s_staticEvTimeCol ) s_staticEvTimeCol = 0;
138 m_recEvTimeCol->Delete();
139 delete m_recEvTimeCol;
140 m_recEvTimeCol = 0;
141
142 if ( m_recZddChannelCol == s_staticRecZddChannelCol ) s_staticRecZddChannelCol = 0;
143 m_recZddChannelCol->Delete();
144 delete m_recZddChannelCol;
145 m_recZddChannelCol = 0;
146}
147
148//*****************************************************************
150
151//*****************************************************************
152void TRecTrackEvent::Clear( Option_t* option ) {}
153
154//*****************************************************************************
155void TRecTrackEvent::Print( Option_t* option ) const { TObject::Print( option ); }
156
157/**************** Dst Track ************************/
158/// Mdc
159void TRecTrackEvent::addRecMdcTrack( TRecMdcTrack* Track ) { m_recMdcTrackCol->Add( Track ); }
160
162 if ( Int_t( i ) >= m_recMdcTrackCol->GetEntries() ) return 0;
163 return (TRecMdcTrack*)m_recMdcTrackCol->At( i );
164}
165
166void TRecTrackEvent::addRecMdcHit( TRecMdcHit* Hit ) { m_recMdcHitCol->Add( Hit ); }
167
169 if ( Int_t( i ) >= m_recMdcHitCol->GetEntries() ) return 0;
170 return (TRecMdcHit*)m_recMdcHitCol->At( i );
171}
172
173/// Tof
174void TRecTrackEvent::addTofTrack( TRecTofTrack* Track ) { m_recTofTrackCol->Add( Track ); }
175
177 if ( Int_t( i ) >= m_recTofTrackCol->GetEntries() ) return 0;
178 return (TRecTofTrack*)m_recTofTrackCol->At( i );
179}
180
181/// Emc
182void TRecTrackEvent::addEmcHit( TRecEmcHit* Track ) { m_recEmcHitCol->Add( Track ); }
183
184const TRecEmcHit* TRecTrackEvent::getEmcHit( Int_t i ) const {
185 if ( Int_t( i ) >= m_recEmcHitCol->GetEntries() ) return 0;
186 return (TRecEmcHit*)m_recEmcHitCol->At( i );
187}
188
190 m_recEmcClusterCol->Add( Track );
191}
192
194 if ( Int_t( i ) >= m_recEmcClusterCol->GetEntries() ) return 0;
195 return (TRecEmcCluster*)m_recEmcClusterCol->At( i );
196}
197
198void TRecTrackEvent::addEmcShower( TRecEmcShower* Track ) { m_recEmcShowerCol->Add( Track ); }
199
201 if ( Int_t( i ) >= m_recEmcShowerCol->GetEntries() ) return 0;
202 return (TRecEmcShower*)m_recEmcShowerCol->At( i );
203}
204
205/// Muc
206void TRecTrackEvent::addMucTrack( TRecMucTrack* Track ) { m_recMucTrackCol->Add( Track ); }
207
209 if ( Int_t( i ) >= m_recMucTrackCol->GetEntries() ) return 0;
210 return (TRecMucTrack*)m_recMucTrackCol->At( i );
211}
212
213/// Dedx
214void TRecTrackEvent::addRecMdcDedx( TRecMdcDedx* Track ) { m_recMdcDedxCol->Add( Track ); }
215
217 if ( Int_t( i ) >= m_recMdcDedxCol->GetEntries() ) return 0;
218 return (TRecMdcDedx*)m_recMdcDedxCol->At( i );
219}
220
222 m_recMdcDedxHitCol->Add( Track );
223}
224
226 if ( Int_t( i ) >= m_recMdcDedxHitCol->GetEntries() ) return 0;
227 return (TRecMdcDedxHit*)m_recMdcDedxHitCol->At( i );
228}
229
230// // Ext
231void TRecTrackEvent::addExtTrack( TRecExtTrack* Track ) { m_recExtTrackCol->Add( Track ); }
232
234 if ( Int_t( i ) >= m_recExtTrackCol->GetEntries() ) return 0;
235 return (TRecExtTrack*)m_recExtTrackCol->At( i );
236}
237
238// RecMdcKal
240 m_recMdcKalTrackCol->Add( Track );
241}
242
244 if ( Int_t( i ) >= m_recMdcKalTrackCol->GetEntries() ) return 0;
245 return (TRecMdcKalTrack*)m_recMdcKalTrackCol->At( i );
246}
247
249 m_recMdcKalHelixSegCol->Add( Track );
250}
251
253 if ( Int_t( i ) >= m_recMdcKalHelixSegCol->GetEntries() ) return 0;
254 return (TRecMdcKalHelixSeg*)m_recMdcKalHelixSegCol->At( i );
255}
256
257// EsTime
258void TRecTrackEvent::addEvTime( TRecEvTime* Track ) { m_recEvTimeCol->Add( Track ); }
259
260const TRecEvTime* TRecTrackEvent::getEvTime( Int_t i ) const {
261 if ( Int_t( i ) >= m_recEvTimeCol->GetEntries() ) return 0;
262 return (TRecEvTime*)m_recEvTimeCol->At( i );
263}
264
265// ZDD
267 m_recZddChannelCol->Add( zdd );
268}
269
271 if ( i >= m_recZddChannelCol->GetEntries() || i < 0 ) return 0;
272 return (TRecZddChannel*)m_recZddChannelCol->At( i );
273}
ClassImp(TRecTrackEvent)
void addRecMdcKalTrack(TRecMdcKalTrack *Track)
void Clear(Option_t *option="")
void addMucTrack(TRecMucTrack *Track)
Add a MucTrack into the TOF Data collection.
const TRecExtTrack * getExtTrack(Int_t i) const
const TRecMdcKalHelixSeg * getRecMdcKalHelixSeg(Int_t i) const
void addRecMdcTrack(TRecMdcTrack *Track)
Add a TkrTrack into the Mdc data collection.
void addEmcCluster(TRecEmcCluster *Track)
Add a TkrTrack into the Emc data collection *‍/.
void addEmcHit(TRecEmcHit *Track)
Add a TkrTrack into the Emc data collection *‍/.
const TRecZddChannel * getRecZddChannel(Int_t i) const
const TRecMdcKalTrack * getRecMdcKalTrack(Int_t i) const
virtual ~TRecTrackEvent()
void addRecMdcKalHelixSeg(TRecMdcKalHelixSeg *Track)
void addRecMdcDedx(TRecMdcDedx *Track)
Add a Dedx into the TOF Data collection.
void addEmcShower(TRecEmcShower *Track)
Add a TkrTrack into the Emc data collection *‍/.
const TRecMdcDedx * getRecMdcDedx(Int_t i) const
retrieve a TofTrack From the collection, using the index into the array
const TRecEvTime * getEvTime(Int_t i) const
const TRecEmcCluster * getEmcCluster(Int_t i) const
retrieve a EmcCluster from the collection, using the index into the array *‍/
const TRecTofTrack * getTofTrack(Int_t i) const
retrieve a TofTrack From the collection, using the index into the array
const TRecEmcHit * getEmcHit(Int_t i) const
retrieve a EmcHit from the collection, using the index into the array *‍/
void addEvTime(TRecEvTime *Track)
const TRecMdcTrack * getRecMdcTrack(Int_t i) const
retrieve a MdcTrack from the collection, using the index into the array
void addRecMdcHit(TRecMdcHit *Hit)
Add a Rec Mdc Hit into the Mdc data collection.
void Print(Option_t *option="") const
const TRecMdcDedxHit * getRecMdcDedxHit(Int_t i) const
retrieve a TofTrack From the collection, using the index into the array
const TRecEmcShower * getEmcShower(Int_t i) const
retrieve a EmcShower from the collection, using the index into the array *‍/
void addRecMdcDedxHit(TRecMdcDedxHit *Track)
Add a Dedx into the TOF Data collection.
void addTofTrack(TRecTofTrack *Track)
Add a TofTrack into the TOF Data collection.
const TRecMucTrack * getMucTrack(Int_t i) const
retrieve a MucTrack From the collection, using the index into the array
const TRecMdcHit * getRecMdcHit(Int_t i) const
retrieve a RecMdcHit from the collection, using the index into the array
void addRecZddChannel(TRecZddChannel *dtag)
void addExtTrack(TRecExtTrack *Track)
Add a ExtTrack into the Ext Data collection.