00001 #ifndef RootEventData_TRecMdcKalTrack_H
00002 #define RootEventData_TRecMdcKalTrack_H 1
00003
00004 #include "TObject.h"
00005 #include "TString.h"
00006
00007 class TRecMdcKalTrack : public TObject {
00008
00009 public:
00010
00011 TRecMdcKalTrack();
00012 ~TRecMdcKalTrack ();
00013
00014
00015 const Int_t getTrackId() const { return m_trackId; }
00016 const Double_t getMass( Int_t pid ) const { return m_mass[pid]; }
00017 const Double_t getLength( Int_t pid ) const { return m_length[pid]; }
00018 const Double_t getTof( Int_t pid ) const { return m_tof[pid]; }
00019 const Double_t getfiTerm( Int_t pid ) const { return m_fiTerm[pid]; }
00020 const Double_t getPathSM( Int_t pid ) const { return m_pathSM[pid]; }
00021 const Int_t getNhits( Int_t pid ) const { return m_nhits[pid]; }
00022 const Int_t getNlayer( Int_t pid ) const { return m_nlayer[pid]; }
00023 const Int_t getStat( Int_t i,Int_t pid ) const { return m_stat[i][pid]; }
00024 const Double_t getChisq( Int_t i, Int_t pid ) const { return m_chisq[i][pid];}
00025 const Int_t getNdf( Int_t i, Int_t pid ) const { return m_ndf[i][pid]; }
00026 const Int_t getNseg( Int_t pid ) const { return m_nSegs[pid]; }
00027 const Double_t getZHelix(Int_t i) const {return m_zhelix[i];}
00028 const Double_t getZError(Int_t i, Int_t j) const {return m_zerror[i][j];}
00029 const Double_t getZHelixE(Int_t i) const {return m_zhelix_e[i];}
00030 const Double_t getZErrorE(Int_t i, Int_t j) const {return m_zerror_e[i][j];}
00031 const Double_t getZHelixMu(Int_t i) const {return m_zhelix_mu[i];}
00032 const Double_t getZErrorMu(Int_t i, Int_t j) const {return m_zerror_mu[i][j];}
00033 const Double_t getZHelixK(Int_t i) const {return m_zhelix_k[i];}
00034 const Double_t getZErrorK(Int_t i, Int_t j) const {return m_zerror_k[i][j];}
00035 const Double_t getZHelixP(Int_t i) const {return m_zhelix_p[i];}
00036 const Double_t getZErrorP(Int_t i, Int_t j) const {return m_zerror_p[i][j];}
00037 const Double_t getFHelix(Int_t i) const {return m_fhelix[i];}
00038 const Double_t getFError(Int_t i, Int_t j) const {return m_ferror[i][j];}
00039 const Double_t getFHelixE(Int_t i) const {return m_fhelix_e[i];}
00040 const Double_t getFErrorE(Int_t i, Int_t j) const {return m_ferror_e[i][j];}
00041 const Double_t getFHelixMu(Int_t i) const {return m_fhelix_mu[i];}
00042 const Double_t getFErrorMu(Int_t i, Int_t j) const {return m_ferror_mu[i][j];}
00043 const Double_t getFHelixK(Int_t i) const {return m_fhelix_k[i];}
00044 const Double_t getFErrorK(Int_t i, Int_t j) const {return m_ferror_k[i][j];}
00045 const Double_t getFHelixP(Int_t i) const {return m_fhelix_p[i];}
00046 const Double_t getFErrorP(Int_t i, Int_t j) const {return m_ferror_p[i][j];}
00047 const Double_t getLHelix(Int_t i) const {return m_lhelix[i];}
00048 const Double_t getLError(Int_t i, Int_t j) const {return m_lerror[i][j];}
00049 const Double_t getLHelixE(Int_t i) const {return m_lhelix_e[i];}
00050 const Double_t getLErrorE(Int_t i, Int_t j) const {return m_lerror_e[i][j];}
00051 const Double_t getLHelixMu(Int_t i) const {return m_lhelix_mu[i];}
00052 const Double_t getLErrorMu(Int_t i, Int_t j) const {return m_lerror_mu[i][j];}
00053 const Double_t getLHelixK(Int_t i) const {return m_lhelix_k[i];}
00054 const Double_t getLErrorK(Int_t i, Int_t j) const {return m_lerror_k[i][j];}
00055 const Double_t getLHelixP(Int_t i) const {return m_lhelix_p[i];}
00056 const Double_t getLErrorP(Int_t i, Int_t j) const {return m_lerror_p[i][j];}
00057 const Double_t getTHelix(Int_t i) const {return m_thelix[i];}
00058 const Double_t getTError(Int_t i) const {return m_terror[i];}
00059
00060 const Double_t getPocaE(Int_t i) const {return m_poca_e[i];}
00061
00062 const Double_t getPocaMu(Int_t i) const {return m_poca_mu[i];}
00063
00064 const Double_t getPoca(Int_t i) const {return m_poca[i];}
00065
00066 const Double_t getPocaK(Int_t i) const {return m_poca_k[i];}
00067
00068 const Double_t getPocaP(Int_t i) const {return m_poca_p[i];}
00069
00070 const Double_t getLPointE(Int_t i) const {return m_lpoint_e[i];}
00071 const Double_t getLPointMu(Int_t i) const {return m_lpoint_mu[i];}
00072 const Double_t getLPoint(Int_t i) const {return m_lpoint[i];}
00073 const Double_t getLPointK(Int_t i) const {return m_lpoint_k[i];}
00074 const Double_t getLPointP(Int_t i) const {return m_lpoint_p[i];}
00075
00076 const Double_t getLPivotE(Int_t i) const {return m_lpivot_e[i];}
00077 const Double_t getLPivotMu(Int_t i) const {return m_lpivot_mu[i];}
00078 const Double_t getLPivot(Int_t i) const {return m_lpivot[i];}
00079 const Double_t getLPivotK(Int_t i) const {return m_lpivot_k[i];}
00080 const Double_t getLPivotP(Int_t i) const {return m_lpivot_p[i];}
00081
00082
00083
00084 void setTrackId (const Int_t trackId) { m_trackId = trackId; }
00085 void setMass(const Double_t mass[5]){
00086 for (int i =0 ; i< 5 ; i++)
00087 m_mass[i] = mass[i];
00088 }
00089
00090 void setLength(const Double_t length[5]){
00091 for (int i =0 ; i< 5 ; i++)
00092 m_length[i] = length[i];
00093 }
00094
00095 void setFiTerm(const Double_t fiTerm[5]){
00096 for (int i =0 ; i< 5 ; i++)
00097 m_fiTerm[i] = fiTerm[i];
00098 }
00099
00100 void setPathSM(const Double_t pathSM[5]){
00101 for (int i =0 ; i< 5 ; i++)
00102 m_pathSM[i] = pathSM[i];
00103 }
00104
00105 void setTof(const Double_t tof[5]){
00106 for (int i =0 ; i< 5 ; i++)
00107 m_tof[i] = tof[i];
00108 }
00109
00110 void setNhits(const Int_t nhits[5]){
00111 for (int i =0 ; i< 5 ; i++)
00112 m_nhits[i] = nhits[i];
00113 }
00114
00115 void setStat(const Int_t stat , Int_t i , Int_t pid){ m_stat[i][pid] = stat ;}
00116 void setChisq(const Double_t chisq , Int_t i , Int_t pid){ m_chisq[i][pid] = chisq ;}
00117 void setNdf(const Int_t ndf , Int_t i , Int_t pid){ m_ndf[i][pid] = ndf ;}
00118 void setNseg(const Int_t nSeg , Int_t pid){ m_nSegs[pid] = nSeg ;}
00119 void setNlayer(const Int_t nlayer , Int_t pid){ m_nlayer[pid] = nlayer;}
00120
00121 void setZHelix(const Double_t zhelix[5]){
00122 for (int i = 0 ; i<5 ; i++)
00123 m_zhelix[i] = zhelix[i];
00124 }
00125 void setZError(const Double_t zerror[5][5]){
00126 for (int i= 0 ; i<5 ; i++)
00127 for (int j=0; j<=i; j++){
00128 m_zerror[i][j] = zerror[i][j];
00129 m_zerror[j][i] = zerror[i][j];
00130 }
00131 }
00132 void setZHelixE(const Double_t zhelix_e[5]){
00133 for (int i = 0 ; i<5 ; i++)
00134 m_zhelix_e[i] = zhelix_e[i];
00135 }
00136 void setZErrorE(const Double_t zerror_e[5][5]){
00137 for (int i= 0 ; i<5 ; i++)
00138 for (int j=0; j<=i; j++){
00139 m_zerror_e[i][j] = zerror_e[i][j];
00140 m_zerror_e[j][i] = zerror_e[i][j];
00141 }
00142 }
00143
00144 void setZHelixMu(const Double_t zhelix_mu[5]){
00145 for (int i = 0 ; i<5 ; i++)
00146 m_zhelix_mu[i] = zhelix_mu[i];
00147 }
00148
00149 void setZErrorMu(const Double_t zerror_mu[5][5]){
00150 for (int i= 0 ; i<5 ; i++)
00151 for (int j=0; j<=i; j++){
00152 m_zerror_mu[i][j] = zerror_mu[i][j];
00153 m_zerror_mu[j][i] = zerror_mu[i][j];
00154 }
00155 }
00156 void setZHelixK(const Double_t zhelix_k[5]){
00157 for (int i = 0 ; i<5 ; i++)
00158 m_zhelix_k[i] = zhelix_k[i];
00159 }
00160 void setZErrorK(const Double_t zerror_k[5][5]){
00161 for (int i= 0 ; i<5 ; i++)
00162 for (int j=0; j<=i; j++){
00163 m_zerror_k[i][j] = zerror_k[i][j];
00164 m_zerror_k[j][i] = zerror_k[i][j];
00165 }
00166 }
00167 void setZHelixP(const Double_t zhelix_p[5]){
00168 for (int i = 0 ; i<5 ; i++)
00169 m_zhelix_p[i] = zhelix_p[i];
00170 }
00171 void setZErrorP(const Double_t zerror_p[5][5]){
00172 for (int i= 0 ; i<5 ; i++)
00173 for (int j=0; j<=i; j++){
00174 m_zerror_p[i][j] = zerror_p[i][j];
00175 m_zerror_p[j][i] = zerror_p[i][j];
00176 }
00177 }
00178
00179
00180 void setFHelix(const Double_t fhelix[5]){
00181 for (int i = 0 ; i<5 ; i++)
00182 m_fhelix[i] = fhelix[i];
00183 }
00184
00185 void setFError(const Double_t ferror[5][5]){
00186 for (int i= 0 ; i<5 ; i++)
00187 for (int j=0; j<=i; j++){
00188 m_ferror[i][j] = ferror[i][j];
00189 m_ferror[j][i] = ferror[i][j];
00190 }
00191 }
00192 void setFHelixE(const Double_t fhelix_e[5]){
00193 for (int i = 0 ; i<5 ; i++)
00194 m_fhelix_e[i] = fhelix_e[i];
00195 }
00196 void setFErrorE(const Double_t ferror_e[5][5]){
00197 for (int i= 0 ; i<5 ; i++)
00198 for (int j=0; j<=i; j++){
00199 m_ferror_e[i][j] = ferror_e[i][j];
00200 m_ferror_e[j][i] = ferror_e[i][j];
00201 }
00202 }
00203 void setFHelixMu(const Double_t fhelix_mu[5]){
00204 for (int i = 0 ; i<5 ; i++)
00205 m_fhelix_mu[i] = fhelix_mu[i];
00206 }
00207 void setFErrorMu(const Double_t ferror_mu[5][5]){
00208 for (int i= 0 ; i<5 ; i++)
00209 for (int j=0; j<=i; j++){
00210 m_ferror_mu[i][j] = ferror_mu[i][j];
00211 m_ferror_mu[j][i] = ferror_mu[i][j];
00212 }
00213 }
00214 void setFHelixK(const Double_t fhelix_k[5]){
00215 for (int i = 0 ; i<5 ; i++)
00216 m_fhelix_k[i] = fhelix_k[i];
00217 }
00218 void setFErrorK(const Double_t ferror_k[5][5]){
00219 for (int i= 0 ; i<5 ; i++)
00220 for (int j=0; j<=i; j++){
00221 m_ferror_k[i][j] = ferror_k[i][j];
00222 m_ferror_k[j][i] = ferror_k[i][j];
00223 }
00224 }
00225 void setFHelixP(const Double_t fhelix_p[5]){
00226 for (int i = 0 ; i<5 ; i++)
00227 m_fhelix_p[i] = fhelix_p[i];
00228 }
00229 void setFErrorP(const Double_t ferror_p[5][5]){
00230 for (int i= 0 ; i<5 ; i++)
00231 for (int j=0; j<=i; j++){
00232 m_ferror_p[i][j] = ferror_p[i][j];
00233 m_ferror_p[j][i] = ferror_p[i][j];
00234 }
00235 }
00236
00237
00238 void setLHelix(const Double_t lhelix[5]){
00239 for (int i = 0 ; i<5 ; i++)
00240 m_lhelix[i] = lhelix[i];
00241 }
00242 void setLError(const Double_t lerror[5][5]){
00243 for (int i= 0 ; i<5 ; i++)
00244 for (int j=0; j<=i; j++){
00245 m_lerror[i][j] = lerror[i][j];
00246 m_lerror[j][i] = lerror[i][j];
00247 }
00248 }
00249 void setLHelixE(const Double_t lhelix_e[5]){
00250 for (int i = 0 ; i<5 ; i++)
00251 m_lhelix_e[i] = lhelix_e[i];
00252 }
00253
00254 void setLErrorE(const Double_t lerror_e[5][5]){
00255 for (int i= 0 ; i<5 ; i++)
00256 for (int j=0; j<=i; j++){
00257 m_lerror_e[i][j] = lerror_e[i][j];
00258 m_lerror_e[j][i] = lerror_e[i][j];
00259 }
00260 }
00261
00262 void setLHelixMu(const Double_t lhelix_mu[5]){
00263 for (int i = 0 ; i<5 ; i++)
00264 m_lhelix_mu[i] = lhelix_mu[i];
00265 }
00266
00267 void setLErrorMu(const Double_t lerror_mu[5][5]){
00268 for (int i=0; i<5; i++)
00269 for (int j=0; j<=i; j++){
00270 m_lerror_mu[i][j] = lerror_mu[i][j];
00271 m_lerror_mu[j][i] = lerror_mu[i][j];
00272 }
00273 }
00274
00275 void setLHelixK(const Double_t lhelix_k[5]){
00276 for (int i=0; i<5; i++)
00277 m_lhelix_k[i] = lhelix_k[i];
00278 }
00279
00280 void setLErrorK(const Double_t lerror_k[5][5]){
00281 for (int i=0; i<5; i++)
00282 for (int j=0; j<=i; j++){
00283 m_lerror_k[i][j] = lerror_k[i][j];
00284 m_lerror_k[j][i] = lerror_k[i][j];
00285 }
00286 }
00287
00288 void setLHelixP(const Double_t lhelix_p[5]){
00289 for (int i =0; i<5 ; i++)
00290 m_lhelix_p[i] = lhelix_p[i];
00291 }
00292
00293 void setLErrorP(const Double_t lerror_p[5][5]){
00294 for (int i=0; i<5 ; i++)
00295 for (int j=0; j<=i; j++){
00296 m_lerror_p[i][j] = lerror_p[i][j];
00297 m_lerror_p[j][i] = lerror_p[i][j];
00298 }
00299 }
00300
00301 void setTHelix(const Double_t thelix[5]){
00302 for (int i = 0 ; i<5 ; i++)
00303 m_thelix[i] = thelix[i];
00304 }
00305 void setTError(const Double_t terror[15]){
00306 for (int i= 0 ; i<15 ; i++){
00307 m_terror[i] = terror[i];
00308 }
00309 }
00310
00311 void setPocaE(const Double_t poca_e[3]){
00312 for(int i=0; i<3; i++) m_poca_e[i] = poca_e[i];
00313 }
00314
00315 void setPocaMu(const Double_t poca_mu[3]){
00316 for(int i=0; i<3; i++) m_poca_mu[i] = poca_mu[i];
00317 }
00318
00319 void setPoca(const Double_t poca[3]){
00320 for(int i=0; i<3; i++) m_poca[i] = poca[i];
00321 }
00322
00323 void setPocaK(const Double_t poca_k[3]){
00324 for(int i=0; i<3; i++) m_poca_k[i] = poca_k[i];
00325 }
00326
00327 void setPocaP(const Double_t poca_p[3]){
00328 for(int i=0; i<3; i++) m_poca_p[i] = poca_p[i];
00329 }
00330
00331 void setLPointE(const Double_t lpoint_e[3]){
00332 for(int i=0; i<3; i++) m_lpoint_e[i] = lpoint_e[i];
00333 }
00334
00335 void setLPointMu(const Double_t lpoint_mu[3]){
00336 for(int i=0; i<3; i++) m_lpoint_mu[i] = lpoint_mu[i];
00337 }
00338
00339 void setLPoint(const Double_t lpoint[3]){
00340 for(int i=0; i<3; i++) m_lpoint[i] = lpoint[i];
00341 }
00342
00343 void setLPointK(const Double_t lpoint_k[3]){
00344 for(int i=0; i<3; i++) m_lpoint_k[i] = lpoint_k[i];
00345 }
00346
00347 void setLPointP(const Double_t lpoint_p[3]){
00348 for(int i=0; i<3; i++) m_lpoint_p[i] = lpoint_p[i];
00349 }
00350
00351 void setLPivotE(const Double_t lpivot_e[3]){
00352 for(int i=0; i<3; i++) m_lpivot_e[i] = lpivot_e[i];
00353 }
00354
00355 void setLPivotMu(const Double_t lpivot_mu[3]){
00356 for(int i=0; i<3; i++) m_lpivot_mu[i] = lpivot_mu[i];
00357 }
00358
00359 void setLPivot(const Double_t lpivot[3]){
00360 for(int i=0; i<3; i++) m_lpivot[i] = lpivot[i];
00361 }
00362
00363 void setLPivotK(const Double_t lpivot_k[3]){
00364 for(int i=0; i<3; i++) m_lpivot_k[i] = lpivot_k[i];
00365 }
00366
00367 void setLPivotP(const Double_t lpivot_p[3]){
00368 for(int i=0; i<3; i++) m_lpivot_p[i] = lpivot_p[i];
00369 }
00370
00371
00372 private:
00373 Int_t m_trackId;
00374 Double_t m_mass[5];
00375 Double_t m_length[5];
00376 Double_t m_tof[5];
00377 Double_t m_fiTerm[5];
00378 Double_t m_pathSM[5];
00379 Int_t m_nhits[5];
00380 Int_t m_nlayer[5];
00381 Int_t m_stat[2][5];
00382 Double_t m_chisq[2][5];
00383 Int_t m_ndf[2][5];
00384 Int_t m_nSegs[5];
00385
00386 Double_t m_poca[3];
00387 Double_t m_poca_e[3];
00388 Double_t m_poca_mu[3];
00389 Double_t m_poca_k[3];
00390 Double_t m_poca_p[3];
00391
00392 Double_t m_lpoint[3];
00393 Double_t m_lpoint_e[3];
00394 Double_t m_lpoint_mu[3];
00395 Double_t m_lpoint_k[3];
00396 Double_t m_lpoint_p[3];
00397
00398 Double_t m_lpivot[3];
00399 Double_t m_lpivot_e[3];
00400 Double_t m_lpivot_mu[3];
00401 Double_t m_lpivot_k[3];
00402 Double_t m_lpivot_p[3];
00403
00404 Double_t m_zhelix[5];
00405 Double_t m_zerror[5][5];
00406 Double_t m_zhelix_e[5];
00407 Double_t m_zerror_e[5][5];
00408 Double_t m_zhelix_mu[5];
00409 Double_t m_zerror_mu[5][5];
00410 Double_t m_zhelix_k[5];
00411 Double_t m_zerror_k[5][5];
00412 Double_t m_zhelix_p[5];
00413 Double_t m_zerror_p[5][5];
00414
00415 Double_t m_fhelix[5];
00416 Double_t m_ferror[5][5];
00417 Double_t m_fhelix_e[5];
00418 Double_t m_ferror_e[5][5];
00419 Double_t m_fhelix_mu[5];
00420 Double_t m_ferror_mu[5][5];
00421 Double_t m_fhelix_k[5];
00422 Double_t m_ferror_k[5][5];
00423 Double_t m_fhelix_p[5];
00424 Double_t m_ferror_p[5][5];
00425
00426 Double_t m_lhelix[5];
00427 Double_t m_lerror[5][5];
00428 Double_t m_lhelix_e[5];
00429 Double_t m_lerror_e[5][5];
00430 Double_t m_lhelix_mu[5];
00431 Double_t m_lerror_mu[5][5];
00432 Double_t m_lhelix_k[5];
00433 Double_t m_lerror_k[5][5];
00434 Double_t m_lhelix_p[5];
00435 Double_t m_lerror_p[5][5];
00436
00437 Double_t m_thelix[5];
00438 Double_t m_terror[15];
00439
00440 ClassDef(TRecMdcKalTrack, 4)
00441 };
00442
00443 #endif