00001 // 00002 //File: ExtTrack.cxx 00003 //Author: L.L.Wang 00004 // 00005 //Description: Output of track extrapolation results. 00006 // 00007 //History: 2005.7.5 created by L.L.Wang 00008 // 00009 // 00010 00011 #include "ExtEvent/RecExtTrack.h" 00012 00013 RecExtTrack& RecExtTrack::operator=(const DstExtTrack& aTrack) 00014 { 00015 DstExtTrack::operator=(aTrack); 00016 return *this; 00017 } 00018 00019 RecExtTrack::RecExtTrack(const DstExtTrack& aTrack) 00020 :DstExtTrack(aTrack) 00021 { 00022 } 00023 00024 RecExtTrack::RecExtTrack() 00025 {/* 00026 myTof1VolumeName="TOF1"; 00027 myTof2VolumeName="TOF2"; 00028 myEmcVolumeName="EMC"; 00029 myMucVolumeName="MUC"; 00030 Hep3Vector zeroVector(0.,0.,0.); 00031 myTof1Position = zeroVector; 00032 myTof1Momentum = zeroVector; 00033 myTof2Position = zeroVector; 00034 myTof2Momentum = zeroVector; 00035 myEmcPosition = zeroVector; 00036 myEmcMomentum = zeroVector; 00037 myMucPosition = zeroVector; 00038 myMucMomentum = zeroVector; 00039 00040 myTof1VolumeNumber=-1; 00041 myTof2VolumeNumber=-1; 00042 myEmcVolumeNumber=-1; 00043 myMucVolumeNumber=-1; 00044 00045 myTof1=0.; 00046 myTof1Path=0.; 00047 myTof1PosSigmaAlongZ=0.; 00048 myTof1PosSigmaAlongT=0.; 00049 myTof1PosSigmaAlongX=0.; 00050 myTof1PosSigmaAlongY=0.; 00051 myTof2=0.; 00052 myTof2Path=0.; 00053 myTof2PosSigmaAlongZ=0.; 00054 myTof2PosSigmaAlongT=0.; 00055 myTof2PosSigmaAlongX=0.; 00056 myTof2PosSigmaAlongY=0.; 00057 myEmcPosSigmaAlongTheta=0.; 00058 myEmcPosSigmaAlongPhi=0.; 00059 myMucPosSigmaAlongZ=0.; 00060 myMucPosSigmaAlongT=0.; 00061 myMucPosSigmaAlongX=0.; 00062 myMucPosSigmaAlongY=0.; 00063 00064 HepSymMatrix zeroMatrix(6,0); 00065 myTof1ErrorMatrix=zeroMatrix; 00066 myTof2ErrorMatrix=zeroMatrix; 00067 myEmcErrorMatrix=zeroMatrix; 00068 myMucErrorMatrix=zeroMatrix; 00069 00070 myEmcPath = 0;*/ 00071 00072 //myPathInTof1 = 0.0; 00073 //myPathInTof2 = 0.0; 00074 00075 vector<double> vd; 00076 ExtMucHitVec muHitVec; 00077 for(int i=0; i<5; i++) 00078 { 00079 myExtMucHitVec.push_back(muHitVec); 00080 myPathInTof1.push_back(vd); 00081 myPathInTof2.push_back(vd); 00082 } 00083 } 00084 00085 RecExtTrack::~RecExtTrack(){} 00086 00087 /* 00088 const int ExtTrack::GetTrackID() const {return myTrackID;} 00089 00090 //Tof layer1 data: 00091 const Hep3Vector ExtTrack::GetTof1Position() const {return myTof1Position;} 00092 00093 const Hep3Vector ExtTrack::GetTof1Momentum() const {return myTof1Momentum;} 00094 00095 const string ExtTrack::GetTof1VolumeName() const {return myTof1VolumeName;} 00096 00097 const int ExtTrack::GetTof1VolumeNumber() const {return myTof1VolumeNumber;} 00098 00099 const double ExtTrack::GetTof1() const {return myTof1;} 00100 00101 const double ExtTrack::GetTof1Path() const {return myTof1Path;} 00102 00103 const double ExtTrack::GetTof1PosSigmaAlongZ() const {return myTof1PosSigmaAlongZ;} 00104 00105 const double ExtTrack::GetTof1PosSigmaAlongT() const {return myTof1PosSigmaAlongT;} 00106 00107 const double ExtTrack::GetTof1PosSigmaAlongX() const {return myTof1PosSigmaAlongX;} 00108 00109 const double ExtTrack::GetTof1PosSigmaAlongY() const {return myTof1PosSigmaAlongY;} 00110 00111 const HepSymMatrix ExtTrack::GetTof1ErrorMatrix() const {return myTof1ErrorMatrix;} 00112 00113 //Tof layer2 data: 00114 const Hep3Vector ExtTrack::GetTof2Position() const {return myTof2Position;} 00115 00116 const Hep3Vector ExtTrack::GetTof2Momentum() const {return myTof2Momentum;} 00117 00118 const string ExtTrack::GetTof2VolumeName() const {return myTof2VolumeName;} 00119 00120 const int ExtTrack::GetTof2VolumeNumber() const {return myTof2VolumeNumber;} 00121 00122 const double ExtTrack::GetTof2() const {return myTof2;} 00123 00124 const double ExtTrack::GetTof2Path() const {return myTof2Path;} 00125 00126 const double ExtTrack::GetTof2PosSigmaAlongZ() const {return myTof2PosSigmaAlongZ;} 00127 00128 const double ExtTrack::GetTof2PosSigmaAlongT() const {return myTof2PosSigmaAlongT;} 00129 00130 const double ExtTrack::GetTof2PosSigmaAlongX() const {return myTof2PosSigmaAlongX;} 00131 00132 const double ExtTrack::GetTof2PosSigmaAlongY() const {return myTof2PosSigmaAlongY;} 00133 00134 const HepSymMatrix ExtTrack::GetTof2ErrorMatrix() const {return myTof2ErrorMatrix;} 00135 00136 //Emc data 00137 const Hep3Vector ExtTrack::GetEmcPosition() const {return myEmcPosition;} 00138 00139 const Hep3Vector ExtTrack::GetEmcMomentum() const {return myEmcMomentum;} 00140 00141 const string ExtTrack::GetEmcVolumeName() const {return myEmcVolumeName;} 00142 00143 const int ExtTrack::GetEmcVolumeNumber() const {return myEmcVolumeNumber;} 00144 00145 const double ExtTrack::GetEmcPosSigmaAlongTheta() const {return myEmcPosSigmaAlongTheta;} 00146 00147 const double ExtTrack::GetEmcPosSigmaAlongPhi() const {return myEmcPosSigmaAlongPhi;} 00148 00149 const HepSymMatrix ExtTrack::GetEmcErrorMatrix() const {return myEmcErrorMatrix;} 00150 00151 //Muc data 00152 const Hep3Vector ExtTrack::GetMucPosition() const {return myMucPosition;} 00153 00154 const Hep3Vector ExtTrack::GetMucMomentum() const {return myMucMomentum;} 00155 00156 const string ExtTrack::GetMucVolumeName() const {return myMucVolumeName;} 00157 00158 const int ExtTrack::GetMucVolumeNumber() const {return myMucVolumeNumber;} 00159 00160 const double ExtTrack::GetMucPosSigmaAlongZ() const {return myMucPosSigmaAlongZ;} 00161 00162 const double ExtTrack::GetMucPosSigmaAlongT() const {return myMucPosSigmaAlongT;} 00163 00164 const double ExtTrack::GetMucPosSigmaAlongX() const {return myMucPosSigmaAlongX;} 00165 00166 const double ExtTrack::GetMucPosSigmaAlongY() const {return myMucPosSigmaAlongY;} 00167 00168 const HepSymMatrix ExtTrack::GetMucErrorMatrix() const {return myMucErrorMatrix;} 00169 00170 00171 00172 //Set 00173 void ExtTrack::SetTrackID(int aTrackID) {myTrackID = aTrackID;} 00174 00175 void ExtTrack::SetTof1Data(Hep3Vector aPosition,Hep3Vector aMomentum,string aVolumeName, 00176 int aVolumeNumber,double aTof,double aPath,HepSymMatrix aErrorMatrix, 00177 00178 00179 double aZSigma,double aTSigma,double aXSigma,double aYSigma) 00180 { 00181 myTof1Position = aPosition; 00182 myTof1Momentum = aMomentum; 00183 myTof1VolumeName = aVolumeName; 00184 myTof1VolumeNumber = aVolumeNumber; 00185 myTof1 = aTof; 00186 myTof1Path = aPath; 00187 myTof1PosSigmaAlongZ = aZSigma; 00188 myTof1PosSigmaAlongT = aTSigma; 00189 myTof1PosSigmaAlongX = aXSigma; 00190 myTof1PosSigmaAlongY = aYSigma; 00191 myTof1ErrorMatrix = aErrorMatrix; 00192 } 00193 00194 void ExtTrack::SetTof2Data(Hep3Vector aPosition,Hep3Vector aMomentum,string aVolumeName, 00195 int aVolumeNumber,double aTof,double aPath,HepSymMatrix aErrorMatrix, 00196 double aZSigma,double aTSigma,double aXSigma,double aYSigma) 00197 { 00198 myTof2Position = aPosition; 00199 myTof2Momentum = aMomentum; 00200 myTof2VolumeName = aVolumeName; 00201 myTof2VolumeNumber = aVolumeNumber; 00202 myTof2 = aTof; 00203 myTof2Path = aPath; 00204 myTof2PosSigmaAlongZ = aZSigma; 00205 myTof2PosSigmaAlongT = aTSigma; 00206 myTof2PosSigmaAlongX = aXSigma; 00207 myTof2PosSigmaAlongY = aYSigma; 00208 myTof2ErrorMatrix = aErrorMatrix; 00209 } 00210 00211 void ExtTrack::SetEmcData(Hep3Vector aPosition,Hep3Vector aMomentum,string aVolumeName, 00212 int aVolumeNumber,double aThetaSigma,double aPhiSigma, 00213 HepSymMatrix aErrorMatrix) 00214 { 00215 myEmcPosition = aPosition; 00216 myEmcMomentum = aMomentum; 00217 myEmcVolumeName = aVolumeName; 00218 myEmcVolumeNumber = aVolumeNumber; 00219 myEmcPosSigmaAlongTheta = aThetaSigma; 00220 myEmcPosSigmaAlongPhi = aPhiSigma; 00221 myEmcErrorMatrix = aErrorMatrix; 00222 } 00223 00224 void ExtTrack::SetMucData(Hep3Vector aPosition,Hep3Vector aMomentum,string aVolumeName, 00225 int aVolumeNumber,HepSymMatrix aErrorMatrix,double aZSigma, 00226 double aTSigma,double aXSigma,double aYSigma) 00227 { 00228 myMucPosition = aPosition; 00229 myMucMomentum = aMomentum; 00230 myMucVolumeName = aVolumeName; 00231 myMucVolumeNumber = aVolumeNumber; 00232 myMucPosSigmaAlongZ = aZSigma; 00233 myMucPosSigmaAlongT = aTSigma; 00234 myMucPosSigmaAlongX = aXSigma; 00235 myMucPosSigmaAlongY = aYSigma; 00236 myMucErrorMatrix = aErrorMatrix; 00237 } 00238 */