]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliTrackParam.h
More inline functions available to the user (B.Hippolyte)
[u/mrichter/AliRoot.git] / STEER / AliTrackParam.h
CommitLineData
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
12class AliCluster;
13class AliExternalTrackParam;
14
15
16class FastMath {
17public:
18 FastMath();
19 static Double_t FastAsin(Double_t x);
20 private:
21 static Double_t fgFastAsin[20000];
22};
23
24
25class 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