Line data Source code
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 0 : class AliHLTITSTrack : public AliKalmanTrack
18 : {
19 : public:
20 :
21 : AliHLTITSTrack();
22 : AliHLTITSTrack(AliESDtrack& t,Bool_t c=kFALSE) throw (const Char_t *);
23 : AliHLTITSTrack(AliExternalTrackParam& t ) throw (const Char_t *);
24 : AliHLTITSTrack(const AliHLTITSTrack& t);
25 : AliHLTITSTrack &operator=(const AliHLTITSTrack& t);
26 :
27 0 : Int_t TPCtrackId(){ return fTPCtrackId;}
28 0 : void SetTPCtrackId( Int_t v ){ fTPCtrackId = v;}
29 :
30 : Int_t GetProlongationFast(Double_t alpha, Double_t xr,Double_t &y, Double_t &z);
31 :
32 :
33 0 : Float_t GetExpQ() const {return fExpQ;}
34 0 : void SetExpQ(Float_t f) {fExpQ=f;}
35 :
36 : Double_t GetPredictedChi2(const AliCluster* c) const;
37 : Double_t GetPredictedChi2(Double_t cy, Double_t cz, Double_t cerr2Y, Double_t cerr2Z) const;
38 :
39 :
40 : Bool_t CorrectForMeanMaterial(Double_t xOverX0, Double_t xTimesRho,
41 : Bool_t anglecorr=kFALSE) {
42 0 : return AliExternalTrackParam::CorrectForMeanMaterial(xOverX0,xTimesRho,GetMass(),anglecorr);
43 : }
44 :
45 : Bool_t PropagateTo(Double_t xr, Double_t d, Double_t x0=AliITSRecoParam::GetX0Air());
46 :
47 : Bool_t PropagateToTGeo(Double_t xToGo, Int_t nstep, Double_t &xOverX0, Double_t &xTimesRho, Bool_t addTime=kTRUE);
48 : Bool_t PropagateToTGeo(Double_t xToGo, Int_t nstep=1, Bool_t addTime=kTRUE) {
49 0 : Double_t dummy1,dummy2; return PropagateToTGeo(xToGo,nstep,dummy1,dummy2,addTime);
50 0 : }
51 :
52 : Bool_t Update(const AliCluster *cl, Double_t chi2, Int_t i);
53 :
54 : Bool_t Propagate(Double_t alpha, Double_t xr);
55 0 : Bool_t Propagate(Double_t xr) { return Propagate(GetAlpha(),xr); }
56 :
57 : void ResetClusters();
58 :
59 : using AliExternalTrackParam::GetC;
60 0 : Double_t GetC() const {return AliExternalTrackParam::GetC(GetBz());}
61 : Double_t GetD(Double_t x, Double_t y) const {
62 0 : return AliExternalTrackParam::GetD(x,y,GetBz());
63 : }
64 :
65 : Bool_t GetGlobalXYZat(Double_t xloc,Double_t &x,Double_t &y,Double_t &z) const;
66 : Bool_t GetPhiZat(Double_t r,Double_t &phi,Double_t &z) const;
67 : //Bool_t GetLocalXat(Double_t r,Double_t &xloc) const;
68 : Bool_t GetLocalXPhiZat(Double_t r,Double_t &xloc, double &phi, double &z ) const ;
69 :
70 0 : Int_t GetClusterIndex(Int_t i) const {return fIndex[i];}
71 0 : void SetClusterIndex(Int_t i, Int_t index ) { fIndex[i] = index;}
72 :
73 : Bool_t GetYZAtPhiX( double phi, double x,
74 : double &y, double&z, double &snp, double cov[3] ) const;
75 :
76 : Bool_t GetLocalYZat(Double_t xloc, Double_t &y, Double_t &z) const ;
77 :
78 : protected:
79 :
80 :
81 : Int_t fIndex[2*AliITSgeomTGeo::kNLayers]; // indices of associated clusters
82 :
83 : Float_t fExpQ; // expected Q
84 : Int_t fTPCtrackId;
85 :
86 6 : ClassDef(AliHLTITSTrack,0) //HLT ITS tracker
87 : };
88 :
89 :
90 :
91 :
92 :
93 : #endif
94 :
95 :
|