Preparation to use ITS tracking in HLT (C.Cheshkov)
[u/mrichter/AliRoot.git] / STEER / AliESDHLTtrack.h
CommitLineData
482070f2 1#ifndef ALIESDHLTTRACK_H
2#define ALIESDHLTTRACK_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5//-------------------------------------------------------------------------
6// Class AliESDHLTtrack
7// This is the class to handle HLT reconstruted TPC tracks
8//-------------------------------------------------------------------------
9#include "TObject.h"
10
e819460c 11class AliKalmanTrack;
12
482070f2 13class AliESDHLTtrack : public TObject {
14public:
15 AliESDHLTtrack();
16 virtual ~AliESDHLTtrack() {}
17
18 // getters
19 Int_t GetNHits() const {return fNHits;}
20
21 Int_t GetMCid() const {return fMCid;}
22
23 Int_t GetWeight() const {return fWeight;}
24
25 Bool_t ComesFromMainVertex() const {return fFromMainVertex;}
26
27 Int_t GetFirstRow() const {return fRowRange[0];}
28 Int_t GetLastRow() const {return fRowRange[1];}
29 Int_t GetSector() const {return fSector;}
30
8bbc564d 31 Double_t GetFirstPointX() const {return fFirstPoint[0];}
32 Double_t GetFirstPointY() const {return fFirstPoint[1];}
33 Double_t GetFirstPointZ() const {return fFirstPoint[2];}
34 Double_t GetLastPointX() const {return fLastPoint[0];}
35 Double_t GetLastPointY() const {return fLastPoint[1];}
36 Double_t GetLastPointZ() const {return fLastPoint[2];}
482070f2 37
38 Int_t GetCharge() const {return fQ;}
39 Double_t GetPt() const {return fPt;}
40 Double_t GetTgl() const {return fTanl;}
41 Double_t GetPsi() const {return fPsi;}
42
43 Double_t GetPterr() const {return fPterr;}
44 Double_t GetPsierr() const {return fPsierr;}
45 Double_t GetTglerr() const {return fTanlerr;}
46
47 Float_t GetBinX() const {return fBinX;}
48 Float_t GetBinY() const {return fBinY;}
49 Float_t GetSizeX() const {return fSizeX;}
50 Float_t GetSizeY() const {return fSizeY;}
51
52 Double_t GetPx() const {return fPt*cos(fPsi);}
53 Double_t GetPy() const {return fPt*sin(fPsi);}
54 Double_t GetPz() const {return fPt*fTanl;}
55
56 Double_t GetP() const;
57 Double_t GetPseudoRapidity() const;
58
8bbc564d 59 Float_t GetPID() const {return fPID;}
482070f2 60
61 // setters
62 void SetNHits(Int_t f) {fNHits = f;}
63
64 void SetMCid(Int_t f) {fMCid = f;}
65
66 void SetWeight(Int_t f) {fWeight = f;}
67
68 void ComesFromMainVertex(Bool_t f) {fFromMainVertex = f;}
69
70 void SetRowRange(Int_t f,Int_t g) {fRowRange[0]=f; fRowRange[1]=g;}
71 void SetSector(Int_t f) {fSector = f;}
72
73 void SetFirstPoint(Double_t f,Double_t g,Double_t h) {fFirstPoint[0]=f; fFirstPoint[1]=g; fFirstPoint[2]=h;}
74 void SetLastPoint(Double_t f,Double_t g,Double_t h) {fLastPoint[0]=f; fLastPoint[1]=g; fLastPoint[2]=h;}
75
76 void SetCharge(Int_t f) {fQ = f;}
77 void SetTgl(Double_t f) {fTanl =f;}
78 void SetPsi(Double_t f) {fPsi = f;}
79 void SetPt(Double_t f) {fPt = f;}
80
81 void SetPterr(Double_t f) {fPterr = f;}
82 void SetPsierr(Double_t f) {fPsierr = f;}
83 void SetTglerr(Double_t f) {fTanlerr = f;}
84
85 void SetBinXY(Float_t binx,Float_t biny,Float_t sizex,Float_t sizey) {fBinX = binx; fBinY = biny; fSizeX = sizex; fSizeY = sizey;}
86
87 void SetPID(Float_t pid) {fPID = pid;}
88
e819460c 89 Bool_t UpdateTrackParams(const AliKalmanTrack *t);
90
482070f2 91protected:
67bda69e 92 UShort_t fNHits; // Number of assigned clusters
482070f2 93
94 Int_t fMCid; //Assigned id from MC data.
95
67bda69e 96 UShort_t fWeight; //Weight associated to Hough Transform
482070f2 97
98 Bool_t fFromMainVertex; // true if tracks origin is the main vertex, otherwise false
99
100 Int_t fRowRange[2]; //Subsector where this track was build
67bda69e 101 UShort_t fSector; //Sector # where this track was build
482070f2 102
67bda69e 103 Float_t fFirstPoint[3]; //First and last track point in TPC
104 Float_t fLastPoint[3];
482070f2 105
106 Int_t fQ; //track charge
67bda69e 107 Float_t fTanl; //tan of dipangle
108 Float_t fPsi; //azimuthal angle of the momentum
109 Float_t fPt; //transverse momentum
482070f2 110
67bda69e 111 Float_t fPterr;
112 Float_t fPsierr;
113 Float_t fTanlerr;
482070f2 114
115 Float_t fBinX;
116 Float_t fBinY;
117 Float_t fSizeX;
118 Float_t fSizeY;
119
120 Float_t fPID; //so far filled only for conformal mapper tracks
121
e819460c 122 ClassDef(AliESDHLTtrack,3) //ESD HLT track class
482070f2 123};
124
125#endif