]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/ITS/tracking/AliHLTITSTrack.h
ITS tracker component added
[u/mrichter/AliRoot.git] / HLT / ITS / tracking / AliHLTITSTrack.h
CommitLineData
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
11class AliESDtrack;
12class AliESDVertex;
13class AliTracker;
14class AliESDtrack;
15
16//_____________________________________________________________________________
17class AliHLTITSTrack : public AliKalmanTrack
18{
19 public:
6edb0fb5 20
2f399afc 21 AliHLTITSTrack();
22 AliHLTITSTrack(AliESDtrack& t,Bool_t c=kFALSE) throw (const Char_t *);
6edb0fb5 23 AliHLTITSTrack(AliExternalTrackParam& t ) throw (const Char_t *);
2f399afc 24 AliHLTITSTrack(const AliHLTITSTrack& t);
25 AliHLTITSTrack &operator=(const AliHLTITSTrack& t);
26
6edb0fb5 27 Int_t TPCtrackId(){ return fTPCtrackId;}
28 void SetTPCtrackId( Int_t v ){ fTPCtrackId = v;}
29
2f399afc 30 Int_t GetProlongationFast(Double_t alpha, Double_t xr,Double_t &y, Double_t &z);
31
32
33 Float_t GetExpQ() const {return fExpQ;}
34 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 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 Double_t dummy1,dummy2; return PropagateToTGeo(xToGo,nstep,dummy1,dummy2,addTime);
50 }
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 Bool_t Propagate(Double_t xr) { return Propagate(GetAlpha(),xr); }
56
57 void ResetClusters();
2f399afc 58
2f399afc 59 using AliExternalTrackParam::GetC;
60 Double_t GetC() const {return AliExternalTrackParam::GetC(GetBz());}
61 Double_t GetD(Double_t x, Double_t y) const {
62 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
69 Int_t GetClusterIndex(Int_t i) const {return fIndex[i];}
70 void SetClusterIndex(Int_t i, Int_t index ) { fIndex[i] = index;}
71
72 protected:
73
74
75 Int_t fIndex[2*AliITSgeomTGeo::kNLayers]; // indices of associated clusters
76
2f399afc 77 Float_t fExpQ; // expected Q
6edb0fb5 78 Int_t fTPCtrackId;
133288b9 79
80 ClassDef(AliHLTITSTrack,0) //HLT ITS tracker
2f399afc 81};
82
83
84
85
86
87#endif
88
89