]>
Commit | Line | Data |
---|---|---|
51ad6848 | 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 */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | ||
9 | #include <TObject.h> | |
10 | #include <TVector3.h> | |
11 | ||
12 | class AliCluster; | |
13 | class AliExternalTrackParam; | |
14 | ||
15 | ||
16 | class FastMath { | |
17 | public: | |
18 | FastMath(); | |
19 | static Double_t FastAsin(Double_t x); | |
20 | private: | |
21 | static Double_t fgFastAsin[20000]; | |
22 | }; | |
23 | ||
24 | ||
25 | class AliTrackParam: public TObject { | |
26 | public: | |
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; | |
34 | ||
35 | virtual Double_t Y() const = 0; | |
36 | virtual Double_t Z() const = 0; | |
37 | ||
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, | |
43 | Double_t* length); | |
44 | virtual Bool_t CorrectForMaterial(Double_t dAngle2, | |
45 | Double_t dPrel) = 0; | |
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; | |
50 | ||
51 | virtual Double_t GetPredictedChi2(const AliCluster* cluster) = 0; | |
52 | virtual Bool_t Update(const AliCluster* cluster) = 0; | |
53 | ||
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; | |
68 | ||
69 | ClassDef(AliTrackParam, 1) | |
70 | }; | |
71 | ||
72 | #endif |