1 #ifndef ALITRACKPARAM_H
2 #define ALITRACKPARAM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
13 class AliExternalTrackParam;
19 static Double_t FastAsin(Double_t x);
21 static Double_t fgFastAsin[20000];
25 class AliTrackParam: public TObject {
27 virtual const Double_t* GetParameter() const = 0;
28 virtual const Double_t* GetCovariance() const = 0;
29 virtual Double_t X() const = 0;
30 virtual Double_t Alpha() const = 0;
31 virtual AliExternalTrackParam* CreateExternalParam() const = 0;
32 virtual void ResetCovariance(Double_t factor = 10.,
33 Bool_t clearOffDiagonal = kTRUE) = 0;
35 virtual Double_t Y() const = 0;
36 virtual Double_t Z() const = 0;
38 virtual Bool_t PropagateTo(Double_t x, Double_t* length = NULL) = 0;
39 virtual Bool_t RotateTo(Double_t alpha) = 0;
40 Bool_t RotateBy(Double_t dAlpha)
41 {return RotateTo(Alpha() + dAlpha);};
42 virtual Bool_t RotateAndPropagateTo(Double_t alpha, Double_t x,
44 virtual Bool_t CorrectForMaterial(Double_t dAngle2,
46 virtual Bool_t GetProlongationAt(Double_t x, Double_t& y,
47 Double_t& z) const = 0;
48 virtual Double_t GetXAtVertex(Double_t x = 0, Double_t y = 0) const = 0;
49 virtual Double_t GetDsdx() const;
51 virtual Double_t GetPredictedChi2(const AliCluster* cluster) = 0;
52 virtual Bool_t Update(const AliCluster* cluster) = 0;
54 virtual Double_t Phi() const;
55 virtual Double_t SigmaPhi() const;
56 virtual Double_t Theta() const;
57 virtual Double_t SigmaTheta() const;
58 virtual Double_t Eta() const;
59 virtual Double_t Px() const;
60 virtual Double_t Py() const;
61 virtual Double_t Pz() const;
62 virtual Double_t Pt() const;
63 virtual Double_t SigmaPt() const;
64 virtual Double_t P() const;
65 virtual TVector3 Momentum() const;
66 virtual TVector3 Position() const;
67 virtual TVector3 PositionAt(Double_t x) const;
69 ClassDef(AliTrackParam, 1)