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