BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Event/RootEventData/include/RootEventData/TRecExtTrack.h
Go to the documentation of this file.
1#ifndef RootEventData_TRecExtTrack_H
2#define RootEventData_TRecExtTrack_H 1
3
4#include "TObject.h"
5#include "TString.h"
6using namespace std;
7
8class TRecExtTrack : public TObject {
9
10public:
12
14
15 // modifiers
16 void SetTrackId( const Int_t trackId ) { m_trackId = trackId; }
17 // Tof layer1:
18 void SetTof1PositionX( const Double_t Tof1PositionX, const Int_t i = 2 ) {
19 myTof1PositionX[i] = Tof1PositionX;
20 }
21 void SetTof1PositionY( const Double_t Tof1PositionY, const Int_t i = 2 ) {
22 myTof1PositionY[i] = Tof1PositionY;
23 }
24 void SetTof1PositionZ( const Double_t Tof1PositionZ, const Int_t i = 2 ) {
25 myTof1PositionZ[i] = Tof1PositionZ;
26 }
27 void SetTof1MomentumX( const Double_t Tof1MomentumX, const Int_t i = 2 ) {
28 myTof1MomentumX[i] = Tof1MomentumX;
29 }
30 void SetTof1MomentumY( const Double_t Tof1MomentumY, const Int_t i = 2 ) {
31 myTof1MomentumY[i] = Tof1MomentumY;
32 }
33 void SetTof1MomentumZ( const Double_t Tof1MomentumZ, const Int_t i = 2 ) {
34 myTof1MomentumZ[i] = Tof1MomentumZ;
35 }
36
37 void SetTof1VolumeName( const TString Tof1VolumeName, const Int_t i = 2 ) {
38 myTof1VolumeName[i] = Tof1VolumeName;
39 }
40 void SetTof1VolumeNumber( const Int_t Tof1VolumeNumber, const Int_t i = 2 ) {
41 myTof1VolumeNumber[i] = Tof1VolumeNumber;
42 }
43 void SetTof1( const Double_t Tof1, const Int_t i = 2 ) { myTof1[i] = Tof1; }
44 void SetTof1Path( const Double_t Tof1Path, const Int_t i = 2 ) { myTof1Path[i] = Tof1Path; }
45 void SetTof1PosSigmaAlongZ( const Double_t Tof1PosSigmaAlongZ, const Int_t i = 2 ) {
46 myTof1PosSigmaAlongZ[i] = Tof1PosSigmaAlongZ;
47 }
48 void SetTof1PosSigmaAlongT( const Double_t Tof1PosSigmaAlongT, const Int_t i = 2 ) {
49 myTof1PosSigmaAlongT[i] = Tof1PosSigmaAlongT;
50 }
51 void SetTof1PosSigmaAlongX( const Double_t Tof1PosSigmaAlongX, const Int_t i = 2 ) {
52 myTof1PosSigmaAlongX[i] = Tof1PosSigmaAlongX;
53 }
54 void SetTof1PosSigmaAlongY( const Double_t Tof1PosSigmaAlongY, const Int_t i = 2 ) {
55 myTof1PosSigmaAlongY[i] = Tof1PosSigmaAlongY;
56 }
57 void SetTof1ErrorMatrix( const Double_t Tof1ErrorMatrix[6][6], const Int_t k = 2 ) {
58 for ( Int_t i = 0; i < 6; i++ )
59 for ( Int_t j = 0; j < 6; j++ ) myTof1ErrorMatrix[k][i][j] = Tof1ErrorMatrix[i][j];
60 }
61
62 // Tof layer2:
63 void SetTof2PositionX( const Double_t Tof2PositionX, const Int_t i = 2 ) {
64 myTof2PositionX[i] = Tof2PositionX;
65 }
66 void SetTof2PositionY( const Double_t Tof2PositionY, const Int_t i = 2 ) {
67 myTof2PositionY[i] = Tof2PositionY;
68 }
69 void SetTof2PositionZ( const Double_t Tof2PositionZ, const Int_t i = 2 ) {
70 myTof2PositionZ[i] = Tof2PositionZ;
71 }
72 void SetTof2MomentumX( const Double_t Tof2MomentumX, const Int_t i = 2 ) {
73 myTof2MomentumX[i] = Tof2MomentumX;
74 }
75 void SetTof2MomentumY( const Double_t Tof2MomentumY, const Int_t i = 2 ) {
76 myTof2MomentumY[i] = Tof2MomentumY;
77 }
78 void SetTof2MomentumZ( const Double_t Tof2MomentumZ, const Int_t i = 2 ) {
79 myTof2MomentumZ[i] = Tof2MomentumZ;
80 }
81
82 void SetTof2VolumeName( const TString Tof2VolumeName, const Int_t i = 2 ) {
83 myTof2VolumeName[i] = Tof2VolumeName;
84 }
85 void SetTof2VolumeNumber( const Int_t Tof2VolumeNumber, const Int_t i = 2 ) {
86 myTof2VolumeNumber[i] = Tof2VolumeNumber;
87 }
88 void SetTof2( const Double_t Tof2, const Int_t i = 2 ) { myTof2[i] = Tof2; }
89 void SetTof2Path( const Double_t Tof2Path, const Int_t i = 2 ) { myTof2Path[i] = Tof2Path; }
90 void SetTof2PosSigmaAlongZ( const Double_t Tof2PosSigmaAlongZ, const Int_t i = 2 ) {
91 myTof2PosSigmaAlongZ[i] = Tof2PosSigmaAlongZ;
92 }
93 void SetTof2PosSigmaAlongT( const Double_t Tof2PosSigmaAlongT, const Int_t i = 2 ) {
94 myTof2PosSigmaAlongT[i] = Tof2PosSigmaAlongT;
95 }
96 void SetTof2PosSigmaAlongX( const Double_t Tof2PosSigmaAlongX, const Int_t i = 2 ) {
97 myTof2PosSigmaAlongX[i] = Tof2PosSigmaAlongX;
98 }
99 void SetTof2PosSigmaAlongY( const Double_t Tof2PosSigmaAlongY, const Int_t i = 2 ) {
100 myTof2PosSigmaAlongY[i] = Tof2PosSigmaAlongY;
101 }
102 void SetTof2ErrorMatrix( const Double_t Tof2ErrorMatrix[6][6], const Int_t k = 2 ) {
103 for ( Int_t i = 0; i < 6; i++ )
104 for ( Int_t j = 0; j < 6; j++ ) myTof2ErrorMatrix[k][i][j] = Tof2ErrorMatrix[i][j];
105 }
106
107 // Emc:
108 void SetEmcPositionX( const Double_t EmcPositionX, const Int_t i = 2 ) {
109 myEmcPositionX[i] = EmcPositionX;
110 }
111 void SetEmcPositionY( const Double_t EmcPositionY, const Int_t i = 2 ) {
112 myEmcPositionY[i] = EmcPositionY;
113 }
114 void SetEmcPositionZ( const Double_t EmcPositionZ, const Int_t i = 2 ) {
115 myEmcPositionZ[i] = EmcPositionZ;
116 }
117 void SetEmcMomentumX( const Double_t EmcMomentumX, const Int_t i = 2 ) {
118 myEmcMomentumX[i] = EmcMomentumX;
119 }
120 void SetEmcMomentumY( const Double_t EmcMomentumY, const Int_t i = 2 ) {
121 myEmcMomentumY[i] = EmcMomentumY;
122 }
123 void SetEmcMomentumZ( const Double_t EmcMomentumZ, const Int_t i = 2 ) {
124 myEmcMomentumZ[i] = EmcMomentumZ;
125 }
126
127 void SetEmcVolumeName( const TString EmcVolumeName, const Int_t i = 2 ) {
128 myEmcVolumeName[i] = EmcVolumeName;
129 }
130 void SetEmcVolumeNumber( const Int_t EmcVolumeNumber, const Int_t i = 2 ) {
131 myEmcVolumeNumber[i] = EmcVolumeNumber;
132 }
133
134 void SetEmcPosSigmaAlongTheta( const Double_t EmcPosSigmaAlongTheta, const Int_t i = 2 ) {
135 myEmcPosSigmaAlongTheta[i] = EmcPosSigmaAlongTheta;
136 }
137 void SetEmcPosSigmaAlongPhi( const Double_t EmcPosSigmaAlongPhi, const Int_t i = 2 ) {
138 myEmcPosSigmaAlongPhi[i] = EmcPosSigmaAlongPhi;
139 }
140
141 void SetEmcErrorMatrix( const Double_t EmcErrorMatrix[6][6], const Int_t k = 2 ) {
142 for ( Int_t i = 0; i < 6; i++ )
143 for ( Int_t j = 0; j < 6; j++ ) myEmcErrorMatrix[k][i][j] = EmcErrorMatrix[i][j];
144 }
145
146 void SetEmcPath( Double_t path, const Int_t i = 2 ) { myEmcPath[i] = path; }
147
148 // Muc:
149 void SetMucPositionX( const Double_t MucPositionX, const Int_t i = 2 ) {
150 myMucPositionX[i] = MucPositionX;
151 }
152 void SetMucPositionY( const Double_t MucPositionY, const Int_t i = 2 ) {
153 myMucPositionY[i] = MucPositionY;
154 }
155 void SetMucPositionZ( const Double_t MucPositionZ, const Int_t i = 2 ) {
156 myMucPositionZ[i] = MucPositionZ;
157 }
158 void SetMucMomentumX( const Double_t MucMomentumX, const Int_t i = 2 ) {
159 myMucMomentumX[i] = MucMomentumX;
160 }
161 void SetMucMomentumY( const Double_t MucMomentumY, const Int_t i = 2 ) {
162 myMucMomentumY[i] = MucMomentumY;
163 }
164 void SetMucMomentumZ( const Double_t MucMomentumZ, const Int_t i = 2 ) {
165 myMucMomentumZ[i] = MucMomentumZ;
166 }
167
168 void SetMucVolumeName( const TString MucVolumeName, const Int_t i = 2 ) {
169 myMucVolumeName[i] = MucVolumeName;
170 }
171 void SetMucVolumeNumber( const Int_t MucVolumeNumber, const Int_t i = 2 ) {
172 myMucVolumeNumber[i] = MucVolumeNumber;
173 }
174
175 void SetMucPosSigmaAlongZ( const Double_t MucPosSigmaAlongZ, const Int_t i = 2 ) {
176 myMucPosSigmaAlongZ[i] = MucPosSigmaAlongZ;
177 }
178 void SetMucPosSigmaAlongT( const Double_t MucPosSigmaAlongT, const Int_t i = 2 ) {
179 myMucPosSigmaAlongT[i] = MucPosSigmaAlongT;
180 }
181 void SetMucPosSigmaAlongX( const Double_t MucPosSigmaAlongX, const Int_t i = 2 ) {
182 myMucPosSigmaAlongX[i] = MucPosSigmaAlongX;
183 }
184 void SetMucPosSigmaAlongY( const Double_t MucPosSigmaAlongY, const Int_t i = 2 ) {
185 myMucPosSigmaAlongY[i] = MucPosSigmaAlongY;
186 }
187
188 void SetMucErrorMatrix( const Double_t MucErrorMatrix[6][6], const Int_t k = 2 ) {
189 for ( Int_t i = 0; i < 6; i++ )
190 for ( Int_t j = 0; j < 6; j++ ) myMucErrorMatrix[k][i][j] = MucErrorMatrix[i][j];
191 }
192
193 void SetSize( Int_t size, const Int_t i = 2 ) { mySize[i] = size; }
194 void SetExtMucHit( Double_t PositionX, Double_t PositionY, Double_t PositionZ,
195 Double_t MomentumX, Double_t MomentumY, Double_t MomentumZ,
196 TString VolumeName, Int_t VolumeNumber, Double_t PosSigmaAlongZ,
197 Double_t PosSigmaAlongT, Double_t PosSigmaAlongX, Double_t PosSigmaAlongY,
198 Double_t ErrorMatrix[6][6], const Int_t k = 2 ) {
199 myPositionX[k].push_back( PositionX );
200 myPositionY[k].push_back( PositionY );
201 myPositionZ[k].push_back( PositionZ );
202 myMomentumX[k].push_back( MomentumX );
203 myMomentumY[k].push_back( MomentumY );
204 myMomentumZ[k].push_back( MomentumZ );
205 myVolumeName[k].push_back( VolumeName );
206 myVolumeNumber[k].push_back( VolumeNumber );
207 myPosSigmaAlongZ[k].push_back( PosSigmaAlongZ );
208 myPosSigmaAlongT[k].push_back( PosSigmaAlongT );
209 myPosSigmaAlongX[k].push_back( PosSigmaAlongX );
210 myPosSigmaAlongY[k].push_back( PosSigmaAlongY );
211 vector<Double_t> vecError;
212 for ( int i = 0; i < 6; i++ )
213 for ( int j = 0; j < 6; j++ ) { vecError.push_back( ErrorMatrix[i][j] ); }
214 myErrorMatrix[k].push_back( vecError );
215 }
216
217 // extractors
218 Int_t GetTrackId() const { return m_trackId; }
219 // Tof layer1:
220 Double_t GetTof1PositionX( const Int_t i = 2 ) const { return myTof1PositionX[i]; }
221 Double_t GetTof1PositionY( const Int_t i = 2 ) const { return myTof1PositionY[i]; }
222 Double_t GetTof1PositionZ( const Int_t i = 2 ) const { return myTof1PositionZ[i]; }
223 Double_t GetTof1MomentumX( const Int_t i = 2 ) const { return myTof1MomentumX[i]; }
224 Double_t GetTof1MomentumY( const Int_t i = 2 ) const { return myTof1MomentumY[i]; }
225 Double_t GetTof1MomentumZ( const Int_t i = 2 ) const { return myTof1MomentumZ[i]; }
226
227 TString GetTof1VolumeName( const Int_t i = 2 ) const { return myTof1VolumeName[i]; }
228 Int_t GetTof1VolumeNumber( const Int_t i = 2 ) const { return myTof1VolumeNumber[i]; }
229 Double_t GetTof1( const Int_t i = 2 ) const { return myTof1[i]; }
230 Double_t GetTof1Path( const Int_t i = 2 ) const { return myTof1Path[i]; }
231 Double_t GetTof1PosSigmaAlongZ( const Int_t i = 2 ) const { return myTof1PosSigmaAlongZ[i]; }
232 Double_t GetTof1PosSigmaAlongT( const Int_t i = 2 ) const { return myTof1PosSigmaAlongT[i]; }
233 Double_t GetTof1PosSigmaAlongX( const Int_t i = 2 ) const { return myTof1PosSigmaAlongX[i]; }
234 Double_t GetTof1PosSigmaAlongY( const Int_t i = 2 ) const { return myTof1PosSigmaAlongY[i]; }
235 Double_t GetTof1ErrorMatrix( Int_t i, Int_t j, const Int_t k = 2 ) const {
236 return myTof1ErrorMatrix[k][i][j];
237 }
238
239 // Tof layer2:
240 Double_t GetTof2PositionX( const Int_t i = 2 ) const { return myTof2PositionX[i]; }
241 Double_t GetTof2PositionY( const Int_t i = 2 ) const { return myTof2PositionY[i]; }
242 Double_t GetTof2PositionZ( const Int_t i = 2 ) const { return myTof2PositionZ[i]; }
243 Double_t GetTof2MomentumX( const Int_t i = 2 ) const { return myTof2MomentumX[i]; }
244 Double_t GetTof2MomentumY( const Int_t i = 2 ) const { return myTof2MomentumY[i]; }
245 Double_t GetTof2MomentumZ( const Int_t i = 2 ) const { return myTof2MomentumZ[i]; }
246
247 TString GetTof2VolumeName( const Int_t i = 2 ) const { return myTof2VolumeName[i]; }
248 Int_t GetTof2VolumeNumber( const Int_t i = 2 ) const { return myTof2VolumeNumber[i]; }
249 Double_t GetTof2( const Int_t i = 2 ) const { return myTof2[i]; }
250 Double_t GetTof2Path( const Int_t i = 2 ) const { return myTof2Path[i]; }
251 Double_t GetTof2PosSigmaAlongZ( const Int_t i = 2 ) const { return myTof2PosSigmaAlongZ[i]; }
252 Double_t GetTof2PosSigmaAlongT( const Int_t i = 2 ) const { return myTof2PosSigmaAlongT[i]; }
253 Double_t GetTof2PosSigmaAlongX( const Int_t i = 2 ) const { return myTof2PosSigmaAlongX[i]; }
254 Double_t GetTof2PosSigmaAlongY( const Int_t i = 2 ) const { return myTof2PosSigmaAlongY[i]; }
255 Double_t GetTof2ErrorMatrix( Int_t i, Int_t j, const Int_t k = 2 ) const {
256 return myTof2ErrorMatrix[k][i][j];
257 }
258
259 // Emc
260 Double_t GetEmcPositionX( const Int_t i = 2 ) const { return myEmcPositionX[i]; }
261 Double_t GetEmcPositionY( const Int_t i = 2 ) const { return myEmcPositionY[i]; }
262 Double_t GetEmcPositionZ( const Int_t i = 2 ) const { return myEmcPositionZ[i]; }
263 Double_t GetEmcMomentumX( const Int_t i = 2 ) const { return myEmcMomentumX[i]; }
264 Double_t GetEmcMomentumY( const Int_t i = 2 ) const { return myEmcMomentumY[i]; }
265 Double_t GetEmcMomentumZ( const Int_t i = 2 ) const { return myEmcMomentumZ[i]; }
266
267 TString GetEmcVolumeName( const Int_t i = 2 ) const { return myEmcVolumeName[i]; }
268 Int_t GetEmcVolumeNumber( const Int_t i = 2 ) const { return myEmcVolumeNumber[i]; }
269 Double_t GetEmcPosSigmaAlongTheta( const Int_t i = 2 ) const {
270 return myEmcPosSigmaAlongTheta[i];
271 }
272 Double_t GetEmcPosSigmaAlongPhi( const Int_t i = 2 ) const {
273 return myEmcPosSigmaAlongPhi[i];
274 }
275 Double_t GetEmcErrorMatrix( Int_t i, Int_t j, const Int_t k = 2 ) const {
276 return myEmcErrorMatrix[k][i][j];
277 }
278 Double_t emcPath( const Int_t i = 2 ) const { return myEmcPath[i]; }
279
280 // Muc
281 Double_t GetMucPositionX( const Int_t i = 2 ) const { return myMucPositionX[i]; }
282 Double_t GetMucPositionY( const Int_t i = 2 ) const { return myMucPositionY[i]; }
283 Double_t GetMucPositionZ( const Int_t i = 2 ) const { return myMucPositionZ[i]; }
284 Double_t GetMucMomentumX( const Int_t i = 2 ) const { return myMucMomentumX[i]; }
285 Double_t GetMucMomentumY( const Int_t i = 2 ) const { return myMucMomentumY[i]; }
286 Double_t GetMucMomentumZ( const Int_t i = 2 ) const { return myMucMomentumZ[i]; }
287
288 TString GetMucVolumeName( const Int_t i = 2 ) const { return myMucVolumeName[i]; }
289 Int_t GetMucVolumeNumber( const Int_t i = 2 ) const { return myMucVolumeNumber[i]; }
290 Double_t GetMucPosSigmaAlongZ( const Int_t i = 2 ) const { return myMucPosSigmaAlongZ[i]; }
291 Double_t GetMucPosSigmaAlongT( const Int_t i = 2 ) const { return myMucPosSigmaAlongT[i]; }
292 Double_t GetMucPosSigmaAlongX( const Int_t i = 2 ) const { return myMucPosSigmaAlongX[i]; }
293 Double_t GetMucPosSigmaAlongY( const Int_t i = 2 ) const { return myMucPosSigmaAlongY[i]; }
294 Double_t GetMucErrorMatrix( Int_t i, Int_t j, const Int_t k = 2 ) const {
295 return myMucErrorMatrix[k][i][j];
296 }
297
298 // ExtMucHitVet
299 Int_t GetSize( const Int_t i = 2 ) const { return mySize[i]; };
300 Double_t GetPositionX( Int_t i, const Int_t k = 2 ) const { return myPositionX[k][i]; }
301 Double_t GetPositionY( Int_t i, const Int_t k = 2 ) const { return myPositionY[k][i]; }
302 Double_t GetPositionZ( Int_t i, const Int_t k = 2 ) const { return myPositionZ[k][i]; }
303 Double_t GetMomentumX( Int_t i, const Int_t k = 2 ) const { return myMomentumX[k][i]; }
304 Double_t GetMomentumY( Int_t i, const Int_t k = 2 ) const { return myMomentumY[k][i]; }
305 Double_t GetMomentumZ( Int_t i, const Int_t k = 2 ) const { return myMomentumZ[k][i]; }
306 TString GetVolumeName( Int_t i, const Int_t k = 2 ) const { return myVolumeName[k][i]; }
307 Int_t GetVolumeNumber( Int_t i, const Int_t k = 2 ) const { return myVolumeNumber[k][i]; }
308 Double_t GetPosSigmaAlongZ( Int_t i, const Int_t k = 2 ) const {
309 return myPosSigmaAlongZ[k][i];
310 }
311 Double_t GetPosSigmaAlongT( Int_t i, const Int_t k = 2 ) const {
312 return myPosSigmaAlongT[k][i];
313 }
314 Double_t GetPosSigmaAlongX( Int_t i, const Int_t k = 2 ) const {
315 return myPosSigmaAlongX[k][i];
316 }
317 Double_t GetPosSigmaAlongY( Int_t i, const Int_t k = 2 ) const {
318 return myPosSigmaAlongY[k][i];
319 }
320 vector<Double_t> GetErrorMatrix( Int_t i, const Int_t k = 2 ) const {
321 return myErrorMatrix[k][i];
322 }
323
324private:
325 // Tof TrkExt data.
326 Int_t m_trackId; // Track Id wensp Add 2005-10-19
327 //
328 // Tof layer1:
329 Double_t myTof1PositionX[5]; // Position when the particle enters the TOF layer1.
330 Double_t myTof1PositionY[5]; // Position when the particle enters the TOF layer1
331 Double_t myTof1PositionZ[5]; // Position when the particle enters the TOF layer1
332 Double_t myTof1MomentumX[5]; // Momentum when the particle enters the TOF layer1.
333 Double_t myTof1MomentumY[5]; // Momentum when the particle enters the TOF layer1.
334 Double_t myTof1MomentumZ[5]; // Momentum when the particle enters the TOF layer1.
335
336 TString myTof1VolumeName[5]; // Scintillator volume name
337 Int_t myTof1VolumeNumber[5]; // Scintillator volume number
338 Double_t myTof1[5]; // Time of flight
339 Double_t myTof1Path[5]; // Path of flight
340 Double_t myTof1PosSigmaAlongZ[5]; // Sigma Z
341 Double_t myTof1PosSigmaAlongT[5]; // Sigma along Z x R
342 Double_t myTof1PosSigmaAlongX[5]; // Sigma X
343 Double_t myTof1PosSigmaAlongY[5]; // Sigma Y
344 Double_t myTof1ErrorMatrix[5][6][6]; // Error matrix 6x6 (x,p)
345
346 // Tof layer2:
347 Double_t myTof2PositionX[5]; // Position when the particle enters the TOF layer2.
348 Double_t myTof2PositionY[5]; // Position when the particle enters the TOF layer2
349 Double_t myTof2PositionZ[5]; // Position when the particle enters the TOF layer2
350 Double_t myTof2MomentumX[5]; // Momentum when the particle enters the TOF layer2
351 Double_t myTof2MomentumY[5]; // Momentum when the particle enters the TOF layer2
352 Double_t myTof2MomentumZ[5]; // Momentum when the particle enters the TOF layer2
353
354 TString myTof2VolumeName[5]; // Scintillator volume name
355 Int_t myTof2VolumeNumber[5]; // Scintillator volume number
356 Double_t myTof2[5]; // Time of flight
357 Double_t myTof2Path[5]; // Path of flight
358 Double_t myTof2PosSigmaAlongZ[5]; // Sigma Z
359 Double_t myTof2PosSigmaAlongT[5]; // Sigma along Z x R
360 Double_t myTof2PosSigmaAlongX[5]; // Sigma X
361 Double_t myTof2PosSigmaAlongY[5]; // Sigma Y
362 Double_t myTof2ErrorMatrix[5][6][6]; // Error matrix 6x6 (x,p)
363
364 // Emc TrkExt data,which is similar to TOF data.
365 Double_t myEmcPositionX[5]; // Position 2.
366 Double_t myEmcPositionY[5]; // Position 2
367 Double_t myEmcPositionZ[5]; // Position 2
368 Double_t myEmcMomentumX[5]; // Momentum
369 Double_t myEmcMomentumY[5]; // Momentum
370 Double_t myEmcMomentumZ[5]; // Momentum
371
372 TString myEmcVolumeName[5]; // Scintillator volume name
373 Int_t myEmcVolumeNumber[5]; // Scintillator volume number
374 Double_t myEmcPosSigmaAlongTheta[5];
375 Double_t myEmcPosSigmaAlongPhi[5];
376 Double_t myEmcErrorMatrix[5][6][6]; // Error matrix 6x6 (x,p)
377
378 Double_t myEmcPath[5];
379
380 // Muc TrkExt data,which is similar to TOF data.
381 Double_t myMucPositionX[5]; // Position 2.
382 Double_t myMucPositionY[5]; // Position 2
383 Double_t myMucPositionZ[5]; // Position 2
384 Double_t myMucMomentumX[5]; // Momentum
385 Double_t myMucMomentumY[5]; // Momentum
386 Double_t myMucMomentumZ[5]; // Momentum
387
388 TString myMucVolumeName[5]; // Scintillator volume name
389 Int_t myMucVolumeNumber[5]; // Scintillator volume number
390
391 Double_t myMucPosSigmaAlongZ[5];
392 Double_t myMucPosSigmaAlongT[5];
393 Double_t myMucPosSigmaAlongX[5];
394 Double_t myMucPosSigmaAlongY[5];
395 Double_t myMucErrorMatrix[5][6][6];
396
397 // for ExtMucHitVec
398 Int_t mySize[5]; // size of the vector
399 vector<Double_t> myPositionX[5];
400 vector<Double_t> myPositionY[5];
401 vector<Double_t> myPositionZ[5];
402 vector<Double_t> myMomentumX[5];
403 vector<Double_t> myMomentumY[5];
404 vector<Double_t> myMomentumZ[5];
405 vector<TString> myVolumeName[5];
406 vector<Int_t> myVolumeNumber[5];
407 vector<Double_t> myPosSigmaAlongZ[5];
408 vector<Double_t> myPosSigmaAlongT[5];
409 vector<Double_t> myPosSigmaAlongX[5];
410 vector<Double_t> myPosSigmaAlongY[5];
411 vector<vector<Double_t>> myErrorMatrix[5];
412
413 ClassDef( TRecExtTrack, 3 )
414};
415
416#endif
Double_t GetTof2PosSigmaAlongX(const Int_t i=2) const
void SetTof2VolumeName(const TString Tof2VolumeName, const Int_t i=2)
void SetTof1VolumeNumber(const Int_t Tof1VolumeNumber, const Int_t i=2)
Double_t GetPositionX(Int_t i, const Int_t k=2) const
Double_t GetPositionZ(Int_t i, const Int_t k=2) const
void SetTof2PosSigmaAlongZ(const Double_t Tof2PosSigmaAlongZ, const Int_t i=2)
void SetTof1MomentumZ(const Double_t Tof1MomentumZ, const Int_t i=2)
Double_t GetTof1PosSigmaAlongY(const Int_t i=2) const
void SetExtMucHit(Double_t PositionX, Double_t PositionY, Double_t PositionZ, Double_t MomentumX, Double_t MomentumY, Double_t MomentumZ, TString VolumeName, Int_t VolumeNumber, Double_t PosSigmaAlongZ, Double_t PosSigmaAlongT, Double_t PosSigmaAlongX, Double_t PosSigmaAlongY, Double_t ErrorMatrix[6][6], const Int_t k=2)
void SetTof2(const Double_t Tof2, const Int_t i=2)
void SetEmcVolumeNumber(const Int_t EmcVolumeNumber, const Int_t i=2)
TString GetVolumeName(Int_t i, const Int_t k=2) const
void SetTof1Path(const Double_t Tof1Path, const Int_t i=2)
void SetTof2PosSigmaAlongX(const Double_t Tof2PosSigmaAlongX, const Int_t i=2)
void SetTof1PosSigmaAlongY(const Double_t Tof1PosSigmaAlongY, const Int_t i=2)
void SetEmcMomentumX(const Double_t EmcMomentumX, const Int_t i=2)
void SetTof2MomentumY(const Double_t Tof2MomentumY, const Int_t i=2)
void SetMucPositionZ(const Double_t MucPositionZ, const Int_t i=2)
void SetTof2MomentumX(const Double_t Tof2MomentumX, const Int_t i=2)
void SetMucPositionX(const Double_t MucPositionX, const Int_t i=2)
Double_t GetMomentumX(Int_t i, const Int_t k=2) const
void SetMucPosSigmaAlongX(const Double_t MucPosSigmaAlongX, const Int_t i=2)
void SetMucVolumeName(const TString MucVolumeName, const Int_t i=2)
void SetTof2PosSigmaAlongY(const Double_t Tof2PosSigmaAlongY, const Int_t i=2)
void SetTof1MomentumX(const Double_t Tof1MomentumX, const Int_t i=2)
void SetTof1PositionZ(const Double_t Tof1PositionZ, const Int_t i=2)
vector< Double_t > GetErrorMatrix(Int_t i, const Int_t k=2) const
void SetMucPosSigmaAlongY(const Double_t MucPosSigmaAlongY, const Int_t i=2)
void SetEmcMomentumY(const Double_t EmcMomentumY, const Int_t i=2)
void SetTof2ErrorMatrix(const Double_t Tof2ErrorMatrix[6][6], const Int_t k=2)
void SetTof2Path(const Double_t Tof2Path, const Int_t i=2)
Double_t GetTof1ErrorMatrix(Int_t i, Int_t j, const Int_t k=2) const
void SetMucMomentumY(const Double_t MucMomentumY, const Int_t i=2)
Double_t GetTof1PosSigmaAlongZ(const Int_t i=2) const
void SetMucPosSigmaAlongT(const Double_t MucPosSigmaAlongT, const Int_t i=2)
void SetTof1(const Double_t Tof1, const Int_t i=2)
Double_t GetPosSigmaAlongY(Int_t i, const Int_t k=2) const
void SetMucMomentumZ(const Double_t MucMomentumZ, const Int_t i=2)
Double_t GetTof2PosSigmaAlongY(const Int_t i=2) const
Double_t GetPosSigmaAlongX(Int_t i, const Int_t k=2) const
void SetEmcErrorMatrix(const Double_t EmcErrorMatrix[6][6], const Int_t k=2)
Double_t GetPosSigmaAlongZ(Int_t i, const Int_t k=2) const
Int_t GetVolumeNumber(Int_t i, const Int_t k=2) const
void SetEmcMomentumZ(const Double_t EmcMomentumZ, const Int_t i=2)
void SetTof1ErrorMatrix(const Double_t Tof1ErrorMatrix[6][6], const Int_t k=2)
void SetTof1PosSigmaAlongX(const Double_t Tof1PosSigmaAlongX, const Int_t i=2)
Double_t GetTof2PosSigmaAlongZ(const Int_t i=2) const
void SetEmcPosSigmaAlongTheta(const Double_t EmcPosSigmaAlongTheta, const Int_t i=2)
Double_t GetEmcErrorMatrix(Int_t i, Int_t j, const Int_t k=2) const
Double_t GetPositionY(Int_t i, const Int_t k=2) const
void SetTof2PosSigmaAlongT(const Double_t Tof2PosSigmaAlongT, const Int_t i=2)
void SetTof1PosSigmaAlongT(const Double_t Tof1PosSigmaAlongT, const Int_t i=2)
void SetTof1MomentumY(const Double_t Tof1MomentumY, const Int_t i=2)
void SetEmcPositionX(const Double_t EmcPositionX, const Int_t i=2)
void SetEmcPositionZ(const Double_t EmcPositionZ, const Int_t i=2)
void SetMucPositionY(const Double_t MucPositionY, const Int_t i=2)
Double_t GetTof2ErrorMatrix(Int_t i, Int_t j, const Int_t k=2) const
void SetTof2MomentumZ(const Double_t Tof2MomentumZ, const Int_t i=2)
void SetMucErrorMatrix(const Double_t MucErrorMatrix[6][6], const Int_t k=2)
void SetEmcVolumeName(const TString EmcVolumeName, const Int_t i=2)
void SetTof2PositionY(const Double_t Tof2PositionY, const Int_t i=2)
Double_t GetTof1PosSigmaAlongX(const Int_t i=2) const
Double_t GetEmcPosSigmaAlongPhi(const Int_t i=2) const
Double_t GetTof1PosSigmaAlongT(const Int_t i=2) const
void SetTof1PosSigmaAlongZ(const Double_t Tof1PosSigmaAlongZ, const Int_t i=2)
Double_t GetMomentumZ(Int_t i, const Int_t k=2) const
void SetMucPosSigmaAlongZ(const Double_t MucPosSigmaAlongZ, const Int_t i=2)
Double_t GetMomentumY(Int_t i, const Int_t k=2) const
Double_t GetEmcPosSigmaAlongTheta(const Int_t i=2) const
Double_t GetMucPosSigmaAlongX(const Int_t i=2) const
void SetTof1VolumeName(const TString Tof1VolumeName, const Int_t i=2)
void SetMucMomentumX(const Double_t MucMomentumX, const Int_t i=2)
Double_t GetMucErrorMatrix(Int_t i, Int_t j, const Int_t k=2) const
void SetTof1PositionX(const Double_t Tof1PositionX, const Int_t i=2)
void SetTof2PositionZ(const Double_t Tof2PositionZ, const Int_t i=2)
Double_t GetMucPosSigmaAlongT(const Int_t i=2) const
void SetEmcPosSigmaAlongPhi(const Double_t EmcPosSigmaAlongPhi, const Int_t i=2)
Double_t GetTof2PosSigmaAlongT(const Int_t i=2) const
void SetTof2PositionX(const Double_t Tof2PositionX, const Int_t i=2)
void SetEmcPath(Double_t path, const Int_t i=2)
void SetEmcPositionY(const Double_t EmcPositionY, const Int_t i=2)
void SetTof2VolumeNumber(const Int_t Tof2VolumeNumber, const Int_t i=2)
void SetMucVolumeNumber(const Int_t MucVolumeNumber, const Int_t i=2)
void SetTof1PositionY(const Double_t Tof1PositionY, const Int_t i=2)
Double_t GetPosSigmaAlongT(Int_t i, const Int_t k=2) const
Double_t GetMucPosSigmaAlongZ(const Int_t i=2) const
Double_t GetMucPosSigmaAlongY(const Int_t i=2) const