]>
Commit | Line | Data |
---|---|---|
2f399afc | 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 |