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 */
8 ///////////////////////////////////////////////////////////////////////////////
10 // class for fast math //
12 // Class for generic track parameters //
14 ///////////////////////////////////////////////////////////////////////////////
21 class AliExternalTrackParam;
27 static Double_t FastAsin(Double_t x);
29 static Double_t fgFastAsin[20000]; //Array to contain the asin values
33 class AliTrackParam: public TObject {
35 virtual ~AliTrackParam() {}
36 virtual const Double_t* GetParameter() const = 0;
37 virtual const Double_t* GetCovariance() const = 0;
38 virtual Double_t X() const = 0;
39 virtual Double_t Alpha() const = 0;
40 virtual AliExternalTrackParam* CreateExternalParam() const = 0;
41 virtual void ResetCovariance(Double_t factor = 10.,
42 Bool_t clearOffDiagonal = kTRUE) = 0;
44 virtual Double_t Y() const = 0;
45 virtual Double_t Z() const = 0;
47 virtual Bool_t PropagateTo(Double_t x, Double_t* length = NULL) = 0;
48 virtual Bool_t RotateTo(Double_t alpha) = 0;
49 Bool_t RotateBy(Double_t dAlpha)
50 {return RotateTo(Alpha() + dAlpha);};
51 virtual Bool_t RotateAndPropagateTo(Double_t alpha, Double_t x,
53 virtual Bool_t CorrectForMaterial(Double_t dAngle2,
55 virtual Bool_t GetProlongationAt(Double_t x, Double_t& y,
56 Double_t& z) const = 0;
57 virtual Double_t GetXAtVertex(Double_t x = 0, Double_t y = 0) const = 0;
58 virtual Double_t GetDsdx() const;
60 virtual Double_t GetPredictedChi2(const AliCluster* cluster) = 0;
61 virtual Bool_t Update(const AliCluster* cluster) = 0;
63 virtual Double_t Phi() const;
64 virtual Double_t SigmaPhi() const;
65 virtual Double_t Theta() const;
66 virtual Double_t SigmaTheta() const;
67 virtual Double_t Eta() const;
68 virtual Double_t Px() const;
69 virtual Double_t Py() const;
70 virtual Double_t Pz() const;
71 virtual Double_t Pt() const;
72 virtual Double_t SigmaPt() const;
73 virtual Double_t P() const;
74 virtual TVector3 Momentum() const;
75 virtual TVector3 Position() const;
76 virtual TVector3 PositionAt(Double_t x) const;
78 ClassDef(AliTrackParam, 1)