]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/ITS/tracking/AliHLTITSTrack.h
Fix compilation warning.
[u/mrichter/AliRoot.git] / HLT / ITS / tracking / AliHLTITSTrack.h
1 #ifndef ALIHLTITSTRACK1_H
2 #define ALIHLTITSTRACK1_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 #include "AliKalmanTrack.h"
8 #include "AliITSRecoParam.h"
9 #include "AliITSgeomTGeo.h"
10
11 class AliESDtrack;
12 class AliESDVertex;
13 class AliTracker;
14 class AliESDtrack;
15
16 //_____________________________________________________________________________
17 class AliHLTITSTrack : public AliKalmanTrack 
18 {
19  public:
20   AliHLTITSTrack();
21   AliHLTITSTrack(AliESDtrack& t,Bool_t c=kFALSE) throw (const Char_t *);
22   AliHLTITSTrack(const AliHLTITSTrack& t);
23   AliHLTITSTrack &operator=(const AliHLTITSTrack& t);
24
25   Int_t GetProlongationFast(Double_t alpha, Double_t xr,Double_t &y, Double_t &z);
26
27
28   Float_t GetExpQ() const {return fExpQ;}
29   void SetExpQ(Float_t f) {fExpQ=f;}
30
31   Double_t GetPredictedChi2(const AliCluster* c) const;
32   Double_t GetPredictedChi2(Double_t cy, Double_t cz, Double_t cerr2Y, Double_t cerr2Z) const;
33
34
35   Bool_t CorrectForMeanMaterial(Double_t xOverX0, Double_t xTimesRho,
36                                 Bool_t anglecorr=kFALSE) {
37     return AliExternalTrackParam::CorrectForMeanMaterial(xOverX0,xTimesRho,GetMass(),anglecorr);
38   }
39
40   Bool_t PropagateTo(Double_t xr, Double_t d, Double_t x0=AliITSRecoParam::GetX0Air());
41
42   Bool_t PropagateToTGeo(Double_t xToGo, Int_t nstep, Double_t &xOverX0, Double_t &xTimesRho, Bool_t addTime=kTRUE);
43   Bool_t PropagateToTGeo(Double_t xToGo, Int_t nstep=1, Bool_t addTime=kTRUE) {
44     Double_t dummy1,dummy2; return PropagateToTGeo(xToGo,nstep,dummy1,dummy2,addTime);
45   }
46
47   Bool_t Update(const AliCluster *cl, Double_t chi2, Int_t i);
48   
49   Bool_t Propagate(Double_t alpha, Double_t xr);
50   Bool_t Propagate(Double_t xr) { return Propagate(GetAlpha(),xr); }
51   
52   void ResetClusters();
53   void UpdateESDtrack(ULong_t flags) const;
54   
55   AliESDtrack *GetESDtrack() const {return fESDtrack;}
56
57   using AliExternalTrackParam::GetC;
58   Double_t GetC() const {return AliExternalTrackParam::GetC(GetBz());}
59   Double_t GetD(Double_t x, Double_t y) const {
60     return AliExternalTrackParam::GetD(x,y,GetBz());
61   }
62  
63   Bool_t GetGlobalXYZat(Double_t xloc,Double_t &x,Double_t &y,Double_t &z) const;
64   Bool_t GetPhiZat(Double_t r,Double_t &phi,Double_t &z) const;
65   Bool_t GetLocalXat(Double_t r,Double_t &xloc) const;
66
67   Int_t GetClusterIndex(Int_t i) const {return fIndex[i];}
68   void SetClusterIndex(Int_t i, Int_t index ) { fIndex[i] = index;}
69
70  protected:
71
72
73   Int_t fIndex[2*AliITSgeomTGeo::kNLayers]; // indices of associated clusters 
74
75
76   AliESDtrack *fESDtrack;    //! pointer to the connected ESD track
77
78   Float_t fExpQ;            // expected Q
79 };
80
81
82
83
84
85 #endif
86
87