CGEM BOSS 6.6.5.f
BESIII Offline Software System
Loading...
Searching...
No Matches
DstExtTrack.cxx
Go to the documentation of this file.
1//
2//File: DstExtTrack.cxx
3//Author: L.L.Wang
4//
5//Description: Output of track extrapolation results.
6//
7//History: 2005.7.5 created by L.L.Wang
8//
9//
10
11#include "DstEvent/DstExtTrack.h"
12
14{
15 m_trackId=-99;
16
18
19 Hep3Vector zeroVector(-99.,-99.,-99.);
20 HepSymMatrix zeroMatrix(6,0);
21
22 for(int i=0; i<5; i++)
23 {
24 myTof1VolumeName.push_back("TOF1");
25 myTof2VolumeName.push_back("TOF2");
26 myEmcVolumeName.push_back("EMC");
27 myMucVolumeName.push_back("MUC");
28 myTof1Position.push_back(zeroVector);
29 myTof1Momentum.push_back(zeroVector);
30 myTof2Position.push_back(zeroVector);
31 myTof2Momentum.push_back(zeroVector);
32 myEmcPosition.push_back(zeroVector);
33 myEmcMomentum.push_back(zeroVector);
34 myMucPosition.push_back(zeroVector);
35 myMucMomentum.push_back(zeroVector);
36
37 myTof1VolumeNumber[i]=-99;
38 myTof2VolumeNumber[i]=-99;
39 myEmcVolumeNumber[i]=-1;
40 myMucVolumeNumber[i]=-99;
41
42 myTof1[i]=-99.;
43 myTof1Path[i]=-99.;
44 myTof1PosSigmaAlongZ[i]=-99.;
45 myTof1PosSigmaAlongT[i]=-99.;
46 myTof1PosSigmaAlongX[i]=-99.;
47 myTof1PosSigmaAlongY[i]=-99.;
48 myTof2[i]=-99.;
49 myTof2Path[i]=-99.;
50 myTof2PosSigmaAlongZ[i]=-99.;
51 myTof2PosSigmaAlongT[i]=-99.;
52 myTof2PosSigmaAlongX[i]=-99.;
53 myTof2PosSigmaAlongY[i]=-99.;
54 myEmcPosSigmaAlongTheta[i]=-99.;
55 myEmcPosSigmaAlongPhi[i]=-99.;
56 myMucPosSigmaAlongZ[i]=-99.;
57 myMucPosSigmaAlongT[i]=-99.;
58 myMucPosSigmaAlongX[i]=-99.;
59 myMucPosSigmaAlongY[i]=-99.;
60 myEmcPath[i]=-99.;
61
62 //****added by Li Chunhua
63 myMucKalchi2[i]=-1;
64 myMucKaldof[i]= -1;
65 myMucKaldepth[i]= -1;
66 myMucKalbrLastLayer[i]= -1;
67 myMucKalecLastLayer[i]= -1;
68 myMucKalnumHits[i]= -1;
69 //********************
70
71 myTof1ErrorMatrix.push_back(zeroMatrix);
72 myTof2ErrorMatrix.push_back(zeroMatrix);
73 myEmcErrorMatrix.push_back(zeroMatrix);
74 myMucErrorMatrix.push_back(zeroMatrix);
75 }
76}
77
79
80/*
81//Tof layer1 data:
82const Hep3Vector DstExtTrack::GetTof1Position() const {return myTof1Position;}
83
84const Hep3Vector DstExtTrack::GetTof1Momentum() const {return myTof1Momentum;}
85
86const string DstExtTrack::GetTof1VolumeName() const {return myTof1VolumeName;}
87
88const int DstExtTrack::GetTof1VolumeNumber() const {return myTof1VolumeNumber;}
89
90const double DstExtTrack::GetTof1() const {return myTof1;}
91
92const double DstExtTrack::GetTof1Path() const {return myTof1Path;}
93
94const double DstExtTrack::GetTof1PosSigmaAlongZ() const {return myTof1PosSigmaAlongZ;}
95
96const double DstExtTrack::GetTof1PosSigmaAlongT() const {return myTof1PosSigmaAlongT;}
97
98const double DstExtTrack::GetTof1PosSigmaAlongX() const {return myTof1PosSigmaAlongX;}
99
100const double DstExtTrack::GetTof1PosSigmaAlongY() const {return myTof1PosSigmaAlongY;}
101
102const HepSymMatrix DstExtTrack::GetTof1ErrorMatrix() const {return myTof1ErrorMatrix;}
103
104//Tof layer2 data:
105const Hep3Vector DstExtTrack::GetTof2Position() const {return myTof2Position;}
106
107const Hep3Vector DstExtTrack::GetTof2Momentum() const {return myTof2Momentum;}
108
109const string DstExtTrack::GetTof2VolumeName() const {return myTof2VolumeName;}
110
111const int DstExtTrack::GetTof2VolumeNumber() const {return myTof2VolumeNumber;}
112
113const double DstExtTrack::GetTof2() const {return myTof2;}
114
115const double DstExtTrack::GetTof2Path() const {return myTof2Path;}
116
117const double DstExtTrack::GetTof2PosSigmaAlongZ() const {return myTof2PosSigmaAlongZ;}
118
119const double DstExtTrack::GetTof2PosSigmaAlongT() const {return myTof2PosSigmaAlongT;}
120
121const double DstExtTrack::GetTof2PosSigmaAlongX() const {return myTof2PosSigmaAlongX;}
122
123const double DstExtTrack::GetTof2PosSigmaAlongY() const {return myTof2PosSigmaAlongY;}
124
125const HepSymMatrix DstExtTrack::GetTof2ErrorMatrix() const {return myTof2ErrorMatrix;}
126
127//Emc data
128const Hep3Vector DstExtTrack::GetEmcPosition() const {return myEmcPosition;}
129
130const Hep3Vector DstExtTrack::GetEmcMomentum() const {return myEmcMomentum;}
131
132const string DstExtTrack::GetEmcVolumeName() const {return myEmcVolumeName;}
133
134const int DstExtTrack::GetEmcVolumeNumber() const {return myEmcVolumeNumber;}
135
136const double DstExtTrack::GetEmcPosSigmaAlongTheta() const {return myEmcPosSigmaAlongTheta;}
137
138const double DstExtTrack::GetEmcPosSigmaAlongPhi() const {return myEmcPosSigmaAlongPhi;}
139
140const HepSymMatrix DstExtTrack::GetEmcErrorMatrix() const {return myEmcErrorMatrix;}
141
142//Muc data
143const Hep3Vector DstExtTrack::GetMucPosition() const {return myMucPosition;}
144
145const Hep3Vector DstExtTrack::GetMucMomentum() const {return myMucMomentum;}
146
147const string DstExtTrack::GetMucVolumeName() const {return myMucVolumeName;}
148
149const int DstExtTrack::GetMucVolumeNumber() const {return myMucVolumeNumber;}
150
151const double DstExtTrack::GetMucPosSigmaAlongZ() const {return myMucPosSigmaAlongZ;}
152
153const double DstExtTrack::GetMucPosSigmaAlongT() const {return myMucPosSigmaAlongT;}
154
155const double DstExtTrack::GetMucPosSigmaAlongX() const {return myMucPosSigmaAlongX;}
156
157const double DstExtTrack::GetMucPosSigmaAlongY() const {return myMucPosSigmaAlongY;}
158
159const HepSymMatrix DstExtTrack::GetMucErrorMatrix() const {return myMucErrorMatrix;}
160*/
161
162void DstExtTrack::SetTof1Data(Hep3Vector aPosition,Hep3Vector aMomentum,string aVolumeName,
163 int aVolumeNumber,double aTof,double aPath,HepSymMatrix aErrorMatrix,
164 double aZSigma,double aTSigma,double aXSigma,double aYSigma)
165{
166 myTof1Position[myParticleType] = aPosition;
167 myTof1Momentum[myParticleType] = aMomentum;
168 myTof1VolumeName[myParticleType] = aVolumeName;
169 myTof1VolumeNumber[myParticleType] = aVolumeNumber;
170 myTof1[myParticleType] = aTof;
171 myTof1Path[myParticleType] = aPath;
172 myTof1PosSigmaAlongZ[myParticleType] = aZSigma;
173 myTof1PosSigmaAlongT[myParticleType] = aTSigma;
174 myTof1PosSigmaAlongX[myParticleType] = aXSigma;
175 myTof1PosSigmaAlongY[myParticleType] = aYSigma;
176 myTof1ErrorMatrix[myParticleType] = aErrorMatrix;
177}
178
179void DstExtTrack::SetTof2Data(Hep3Vector aPosition,Hep3Vector aMomentum,string aVolumeName,
180 int aVolumeNumber,double aTof,double aPath,HepSymMatrix aErrorMatrix,
181 double aZSigma,double aTSigma,double aXSigma,double aYSigma)
182{
183 myTof2Position[myParticleType] = aPosition;
184 myTof2Momentum[myParticleType] = aMomentum;
185 myTof2VolumeName[myParticleType] = aVolumeName;
186 myTof2VolumeNumber[myParticleType] = aVolumeNumber;
187 myTof2[myParticleType] = aTof;
188 myTof2Path[myParticleType] = aPath;
189 myTof2PosSigmaAlongZ[myParticleType] = aZSigma;
190 myTof2PosSigmaAlongT[myParticleType] = aTSigma;
191 myTof2PosSigmaAlongX[myParticleType] = aXSigma;
192 myTof2PosSigmaAlongY[myParticleType] = aYSigma;
193 myTof2ErrorMatrix[myParticleType] = aErrorMatrix;
194}
195
196void DstExtTrack::SetEmcData(Hep3Vector aPosition,Hep3Vector aMomentum,string aVolumeName,
197 int aVolumeNumber,double aThetaSigma,double aPhiSigma,
198 HepSymMatrix aErrorMatrix)
199{
200 myEmcPosition[myParticleType] = aPosition;
201 myEmcMomentum[myParticleType] = aMomentum;
202 myEmcVolumeName[myParticleType] = aVolumeName;
203 myEmcVolumeNumber[myParticleType] = aVolumeNumber;
204 myEmcPosSigmaAlongTheta[myParticleType] = aThetaSigma;
205 myEmcPosSigmaAlongPhi[myParticleType] = aPhiSigma;
206 myEmcErrorMatrix[myParticleType] = aErrorMatrix;
207}
208
209void DstExtTrack::SetMucData(Hep3Vector aPosition,Hep3Vector aMomentum,string aVolumeName,
210 int aVolumeNumber,HepSymMatrix aErrorMatrix,double aZSigma,
211 double aTSigma,double aXSigma,double aYSigma)
212{
213 myMucPosition[myParticleType] = aPosition;
214 myMucMomentum[myParticleType] = aMomentum;
215 myMucVolumeName[myParticleType] = aVolumeName;
216 myMucVolumeNumber[myParticleType] = aVolumeNumber;
217 myMucPosSigmaAlongZ[myParticleType] = aZSigma;
218 myMucPosSigmaAlongT[myParticleType] = aTSigma;
219 myMucPosSigmaAlongX[myParticleType] = aXSigma;
220 myMucPosSigmaAlongY[myParticleType] = aYSigma;
221 myMucErrorMatrix[myParticleType] = aErrorMatrix;
222}
223
224
225//added by LI Chunhua
226void DstExtTrack::SetMucKalData(double chi2,int dof, double depth, int brLastLay, int ecLastLay, int nhits)
227{
228
229 myMucKalchi2[1] = chi2;
230 myMucKaldof[1]=dof;
231 myMucKaldepth[1]=depth;
232 myMucKalbrLastLayer[1]=brLastLay;
233 myMucKalecLastLayer[1]=ecLastLay;
234 myMucKalnumHits[1]=nhits;
235
236
237}
238
239
240
void SetTof1Data(Hep3Vector aPosition, Hep3Vector aMomentum, string aVolumeName, int aVolumeNumber, double aTof, double aPath, HepSymMatrix aErrorMatrix, double aZSigma=0., double aTSigma=0., double aXSigma=0., double aYSigma=0.)
void SetEmcData(Hep3Vector aPosition, Hep3Vector aMomentum, string aVolumeName, int aVolumeNumber, double aThetaSigma, double aPhiSigma, HepSymMatrix aErrorMatrix)
void SetTof2Data(Hep3Vector aPosition, Hep3Vector aMomentum, string aVolumeName, int aVolumeNumber, double aTof, double aPath, HepSymMatrix aErrorMatrix, double aZSigma=0., double aTSigma=0., double aXSigma=0., double aYSigma=0.)
void SetMucData(Hep3Vector aPosition, Hep3Vector aMomentum, string aVolumeName, int aVolumeNumber, HepSymMatrix aErrorMatrix, double aZSigma=0., double aTSigma=0., double aXSigma=0., double aYSigma=0.)
void SetMucKalData(double chi2, int dof, double depth, int brLastLay, int ecLastLay, int nhits)