]>
Commit | Line | Data |
---|---|---|
74ea065c | 1 | #ifndef ALITOFTRACK_H |
2 | #define ALITOFTRACK_H | |
2c770f53 | 3 | // Description: class for handling ESD extracted tracks for TOF matching. |
74ea065c | 4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | #include <AliKalmanTrack.h> | |
8 | #include <TMath.h> | |
9 | #include "AliTOFGeometry.h" | |
10 | #include "TVector2.h" | |
11 | ||
12 | class AliESDtrack; | |
13 | class AliTOFtrack : public AliKalmanTrack { | |
14 | ||
74ea065c | 15 | public: |
16 | ||
17 | AliTOFtrack():AliKalmanTrack(){} | |
18 | AliTOFtrack(const AliTOFtrack& t); | |
19 | AliTOFtrack(const AliESDtrack& t); | |
20 | ||
21 | ||
22 | Double_t GetAlpha() const {return fAlpha;} | |
23 | Int_t GetSector() const { | |
24 | return Int_t(TVector2::Phi_0_2pi(fAlpha)/AliTOFGeometry::GetAlpha())%AliTOFGeometry::NSectors();} | |
25 | ||
26 | Double_t GetC() const {return fC;} | |
2c770f53 | 27 | void GetCovariance(Double_t cov[15]) const; // track covariance |
74ea065c | 28 | Double_t GetEta() const {return fE;} |
29 | ||
2c770f53 | 30 | void GetExternalCovariance(Double_t cov[15]) const ;// track covariance |
31 | void GetExternalParameters(Double_t& xr, Double_t x[5]) const ;//track parameters | |
74ea065c | 32 | Double_t GetSigmaY2() const {return fCyy;} |
33 | Double_t GetSigmaZ2() const {return fCzz;} | |
34 | ||
2c770f53 | 35 | Double_t Get1Pt() const {return (1e-9*TMath::Abs(fC)/fC + fC)*GetConvConst();} |
74ea065c | 36 | Double_t GetP() const { |
37 | return TMath::Abs(GetPt())*sqrt(1.+GetTgl()*GetTgl()); | |
38 | } | |
39 | Double_t GetPt() const {return 1./Get1Pt();} | |
40 | void GetPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const ; | |
41 | void GetGlobalXYZ(Double_t &x, Double_t &y, Double_t &z) const ; | |
42 | Int_t GetSeedLabel() const { return fSeedLab; } | |
43 | Int_t GetSeedIndex() const { return fSeedInd; } | |
44 | void SetSeedLabel(Int_t lab) { fSeedLab=lab; } | |
45 | void SetSeedIndex(Int_t ind) { fSeedInd=ind; } | |
46 | Double_t GetSnp() const {return fX*fC - fE;} | |
47 | Double_t GetTgl() const {return fT;} | |
48 | Double_t GetX() const {return fX;} | |
49 | Double_t GetY() const {return fY;} | |
50 | Double_t GetZ() const {return fZ;} | |
51 | ||
52 | Int_t Compare(const TObject *o) const; | |
53 | ||
54 | ||
2c770f53 | 55 | Double_t GetYat(Double_t xk, Bool_t skip) const; |
74ea065c | 56 | Int_t PropagateTo(Double_t xr, Double_t x0=8.72, Double_t rho=5.86e-3); |
57 | Int_t PropagateToInnerTOF(Bool_t holes); | |
58 | void ResetCovariance(); | |
59 | void ResetCovariance(Float_t mult); | |
60 | Int_t Rotate(Double_t angle); | |
61 | ||
62 | ||
63 | ||
64 | protected: | |
65 | ||
66 | ||
67 | Int_t fSeedInd; // ESD seed track index | |
68 | Int_t fSeedLab; // track label taken from seeding | |
69 | Double_t fAlpha; // rotation angle | |
70 | Double_t fX; // running local X-coordinate of the track (time bin) | |
71 | ||
72 | Double_t fY; // Y-coordinate of the track | |
73 | Double_t fZ; // Z-coordinate of the track | |
74 | Double_t fE; // C*x0 | |
75 | Double_t fT; // tangent of the track momentum dip angle | |
76 | Double_t fC; // track curvature | |
77 | ||
78 | Double_t fCyy; // covariance | |
79 | Double_t fCzy, fCzz; // matrix | |
80 | Double_t fCey, fCez, fCee; // of the | |
81 | Double_t fCty, fCtz, fCte, fCtt; // track | |
82 | Double_t fCcy, fCcz, fCce, fCct, fCcc; // parameters | |
83 | ||
84 | private: | |
85 | ||
86 | void GetPropagationParameters(Bool_t holes, Double_t *param); | |
87 | ||
88 | ClassDef(AliTOFtrack,0) // TOF reconstructed tracks | |
89 | ||
90 | }; | |
91 | ||
2c770f53 | 92 | #endif |