3 #ifndef AliL3Model_Track
4 #define AliL3Model_Track
6 #include "AliL3Track.h"
7 #include "AliL3Models.h"
9 class AliL3ModelTrack : public AliL3Track {
13 Short_t fClusterCharge; //Average cluster charge
14 AliL3ClusterModel *fClusters; //!
15 AliL3TrackModel *fTrackModel; //!
18 Int_t *fNoverlaps; //!
20 Float_t *fParSigmaY2; //!
21 Float_t *fParSigmaZ2; //!
22 Float_t *fCrossingAngle; //!
25 //Crossing points with padrows
29 Float_t QuantizePad(Int_t row,Float_t pad);
30 Float_t QuantizeTime(Int_t row,Float_t time);
31 Float_t QuantizeSigmaY2(Int_t row,Float_t dsigmaY2);
32 Float_t QuantizeSigmaZ2(Int_t row,Float_t dsigmaZ2);
33 Float_t RetrievePad(Int_t row,Float_t dpad);
34 Float_t RetrieveTime(Int_t row,Float_t time);
35 Float_t RetrieveSigmaY2(Int_t row,Float_t dsigmaY2);
36 Float_t RetrieveSigmaZ2(Int_t row,Float_t dsigmaZ2);
40 virtual ~AliL3ModelTrack();
42 void Init(Int_t slice,Int_t patch);
43 void CalculateClusterWidths(Int_t row,Bool_t parametrize=kFALSE);
44 void SetCluster(Int_t row,Float_t dpad,Float_t dtime,Float_t charge,Float_t sigmaY2,Float_t sigmaZ2,Int_t npads);
47 void Print(Bool_t everything=kTRUE);
48 void Set(AliL3Track *tpt);
50 void SetPadHit(Int_t row,Float_t f);
51 void SetTimeHit(Int_t row,Float_t f);
52 void SetCrossingAngleLUT(Int_t row,Float_t angle);
53 void SetOverlap(Int_t row,Int_t id);
54 void SetClusterLabel(Int_t row,Int_t *trackID);
55 void SetNClusters(Int_t i) {fNClusters = i;}
57 Int_t GetNPresentClusters();
58 Bool_t IsPresent(Int_t row);
59 Bool_t IsSet(Int_t row);
61 AliL3ClusterModel *GetClusters() {return fClusters;}
62 AliL3TrackModel *GetModel() {return fTrackModel;}
63 AliL3ClusterModel *GetClusterModel(Int_t row);
64 Int_t *GetOverlaps(Int_t row);
65 Int_t GetNOverlaps(Int_t row);
66 Int_t GetNPads(Int_t row);
67 Int_t GetSlice(Int_t row);
68 Float_t GetPadHit(Int_t row);
69 Float_t GetTimeHit(Int_t row);
70 Float_t GetCrossingAngleLUT(Int_t row);
71 Float_t GetParSigmaY2(Int_t row);
72 Float_t GetParSigmaZ2(Int_t row);
73 Bool_t GetPad(Int_t row,Float_t &pad);
74 Bool_t GetTime(Int_t row,Float_t &time);
75 Bool_t GetClusterCharge(Int_t row,Int_t &charge);
76 Bool_t GetXYWidth(Int_t row,Float_t &width);
77 Bool_t GetZWidth(Int_t row,Float_t &width);
78 Bool_t GetPadResidual(Int_t row,Float_t &res);
79 Bool_t GetTimeResidual(Int_t row,Float_t &res);
80 Bool_t GetXYWidthResidual(Int_t row,Float_t &res);
81 Bool_t GetZWidthResidual(Int_t row,Float_t &res);
82 Int_t GetNClusters() {return fNClusters;}
83 void GetClusterLabel(Int_t row,Int_t *trackID);
85 ClassDef(AliL3ModelTrack,1)