00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include "DstEvent/DstExtTrack.h"
00012
00013 DstExtTrack::DstExtTrack()
00014 {
00015 m_trackId=-99;
00016
00017 myParticleType=2;
00018
00019 Hep3Vector zeroVector(-99.,-99.,-99.);
00020 HepSymMatrix zeroMatrix(6,0);
00021
00022 for(int i=0; i<5; i++)
00023 {
00024 myTof1VolumeName.push_back("TOF1");
00025 myTof2VolumeName.push_back("TOF2");
00026 myEmcVolumeName.push_back("EMC");
00027 myMucVolumeName.push_back("MUC");
00028 myTof1Position.push_back(zeroVector);
00029 myTof1Momentum.push_back(zeroVector);
00030 myTof2Position.push_back(zeroVector);
00031 myTof2Momentum.push_back(zeroVector);
00032 myEmcPosition.push_back(zeroVector);
00033 myEmcMomentum.push_back(zeroVector);
00034 myMucPosition.push_back(zeroVector);
00035 myMucMomentum.push_back(zeroVector);
00036
00037 myTof1VolumeNumber[i]=-99;
00038 myTof2VolumeNumber[i]=-99;
00039 myEmcVolumeNumber[i]=-1;
00040 myMucVolumeNumber[i]=-99;
00041
00042 myTof1[i]=-99.;
00043 myTof1Path[i]=-99.;
00044 myTof1PosSigmaAlongZ[i]=-99.;
00045 myTof1PosSigmaAlongT[i]=-99.;
00046 myTof1PosSigmaAlongX[i]=-99.;
00047 myTof1PosSigmaAlongY[i]=-99.;
00048 myTof2[i]=-99.;
00049 myTof2Path[i]=-99.;
00050 myTof2PosSigmaAlongZ[i]=-99.;
00051 myTof2PosSigmaAlongT[i]=-99.;
00052 myTof2PosSigmaAlongX[i]=-99.;
00053 myTof2PosSigmaAlongY[i]=-99.;
00054 myEmcPosSigmaAlongTheta[i]=-99.;
00055 myEmcPosSigmaAlongPhi[i]=-99.;
00056 myMucPosSigmaAlongZ[i]=-99.;
00057 myMucPosSigmaAlongT[i]=-99.;
00058 myMucPosSigmaAlongX[i]=-99.;
00059 myMucPosSigmaAlongY[i]=-99.;
00060 myEmcPath[i]=-99.;
00061
00062
00063 myMucKalchi2[i]=-1;
00064 myMucKaldof[i]= -1;
00065 myMucKaldepth[i]= -1;
00066 myMucKalbrLastLayer[i]= -1;
00067 myMucKalecLastLayer[i]= -1;
00068 myMucKalnumHits[i]= -1;
00069
00070
00071 myTof1ErrorMatrix.push_back(zeroMatrix);
00072 myTof2ErrorMatrix.push_back(zeroMatrix);
00073 myEmcErrorMatrix.push_back(zeroMatrix);
00074 myMucErrorMatrix.push_back(zeroMatrix);
00075 }
00076 }
00077
00078 DstExtTrack::~DstExtTrack(){}
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162 void DstExtTrack::SetTof1Data(Hep3Vector aPosition,Hep3Vector aMomentum,string aVolumeName,
00163 int aVolumeNumber,double aTof,double aPath,HepSymMatrix aErrorMatrix,
00164 double aZSigma,double aTSigma,double aXSigma,double aYSigma)
00165 {
00166 myTof1Position[myParticleType] = aPosition;
00167 myTof1Momentum[myParticleType] = aMomentum;
00168 myTof1VolumeName[myParticleType] = aVolumeName;
00169 myTof1VolumeNumber[myParticleType] = aVolumeNumber;
00170 myTof1[myParticleType] = aTof;
00171 myTof1Path[myParticleType] = aPath;
00172 myTof1PosSigmaAlongZ[myParticleType] = aZSigma;
00173 myTof1PosSigmaAlongT[myParticleType] = aTSigma;
00174 myTof1PosSigmaAlongX[myParticleType] = aXSigma;
00175 myTof1PosSigmaAlongY[myParticleType] = aYSigma;
00176 myTof1ErrorMatrix[myParticleType] = aErrorMatrix;
00177 }
00178
00179 void DstExtTrack::SetTof2Data(Hep3Vector aPosition,Hep3Vector aMomentum,string aVolumeName,
00180 int aVolumeNumber,double aTof,double aPath,HepSymMatrix aErrorMatrix,
00181 double aZSigma,double aTSigma,double aXSigma,double aYSigma)
00182 {
00183 myTof2Position[myParticleType] = aPosition;
00184 myTof2Momentum[myParticleType] = aMomentum;
00185 myTof2VolumeName[myParticleType] = aVolumeName;
00186 myTof2VolumeNumber[myParticleType] = aVolumeNumber;
00187 myTof2[myParticleType] = aTof;
00188 myTof2Path[myParticleType] = aPath;
00189 myTof2PosSigmaAlongZ[myParticleType] = aZSigma;
00190 myTof2PosSigmaAlongT[myParticleType] = aTSigma;
00191 myTof2PosSigmaAlongX[myParticleType] = aXSigma;
00192 myTof2PosSigmaAlongY[myParticleType] = aYSigma;
00193 myTof2ErrorMatrix[myParticleType] = aErrorMatrix;
00194 }
00195
00196 void DstExtTrack::SetEmcData(Hep3Vector aPosition,Hep3Vector aMomentum,string aVolumeName,
00197 int aVolumeNumber,double aThetaSigma,double aPhiSigma,
00198 HepSymMatrix aErrorMatrix)
00199 {
00200 myEmcPosition[myParticleType] = aPosition;
00201 myEmcMomentum[myParticleType] = aMomentum;
00202 myEmcVolumeName[myParticleType] = aVolumeName;
00203 myEmcVolumeNumber[myParticleType] = aVolumeNumber;
00204 myEmcPosSigmaAlongTheta[myParticleType] = aThetaSigma;
00205 myEmcPosSigmaAlongPhi[myParticleType] = aPhiSigma;
00206 myEmcErrorMatrix[myParticleType] = aErrorMatrix;
00207 }
00208
00209 void DstExtTrack::SetMucData(Hep3Vector aPosition,Hep3Vector aMomentum,string aVolumeName,
00210 int aVolumeNumber,HepSymMatrix aErrorMatrix,double aZSigma,
00211 double aTSigma,double aXSigma,double aYSigma)
00212 {
00213 myMucPosition[myParticleType] = aPosition;
00214 myMucMomentum[myParticleType] = aMomentum;
00215 myMucVolumeName[myParticleType] = aVolumeName;
00216 myMucVolumeNumber[myParticleType] = aVolumeNumber;
00217 myMucPosSigmaAlongZ[myParticleType] = aZSigma;
00218 myMucPosSigmaAlongT[myParticleType] = aTSigma;
00219 myMucPosSigmaAlongX[myParticleType] = aXSigma;
00220 myMucPosSigmaAlongY[myParticleType] = aYSigma;
00221 myMucErrorMatrix[myParticleType] = aErrorMatrix;
00222 }
00223
00224
00225
00226 void DstExtTrack::SetMucKalData(double chi2,int dof, double depth, int brLastLay, int ecLastLay, int nhits)
00227 {
00228
00229 myMucKalchi2[1] = chi2;
00230 myMucKaldof[1]=dof;
00231 myMucKaldepth[1]=depth;
00232 myMucKalbrLastLayer[1]=brLastLay;
00233 myMucKalecLastLayer[1]=ecLastLay;
00234 myMucKalnumHits[1]=nhits;
00235
00236
00237 }
00238
00239
00240