]>
Commit | Line | Data |
---|---|---|
3e87ef69 | 1 | // @(#) $Id$ |
2 | ||
735e167e | 3 | #ifndef AliL3Model_Track |
4 | #define AliL3Model_Track | |
5 | ||
6 | #include "AliL3Track.h" | |
95a00d93 | 7 | #include "AliL3Models.h" |
92a876e2 | 8 | |
735e167e | 9 | class AliL3ModelTrack : public AliL3Track { |
10 | ||
11 | private: | |
12 | ||
13 | Short_t fClusterCharge; //Average cluster charge | |
95a00d93 | 14 | AliL3ClusterModel *fClusters; //! |
15 | AliL3TrackModel *fTrackModel; //! | |
735e167e | 16 | Short_t fNClusters; |
3e87ef69 | 17 | Int_t fMaxOverlaps; |
18 | Int_t *fNoverlaps; //! | |
19 | Int_t **fOverlap; //! | |
20 | Float_t *fParSigmaY2; //! | |
21 | Float_t *fParSigmaZ2; //! | |
22 | Float_t *fCrossingAngle; //! | |
029912b7 | 23 | Int_t fPatch; |
3e87ef69 | 24 | |
735e167e | 25 | //Crossing points with padrows |
26 | Float_t *fPad; //! | |
27 | Float_t *fTime; //! | |
28 | ||
29 | public: | |
30 | AliL3ModelTrack(); | |
31 | virtual ~AliL3ModelTrack(); | |
32 | ||
33 | void Init(Int_t slice,Int_t patch); | |
3e87ef69 | 34 | void CalculateClusterWidths(Int_t row,Bool_t parametrize=kFALSE); |
4a838220 | 35 | void SetCluster(Int_t row,Float_t dpad,Float_t dtime,Float_t charge,Float_t sigmaY2,Float_t sigmaZ2,Int_t npads); |
95a00d93 | 36 | void FillModel(); |
029912b7 | 37 | void FillTrack(); |
3e87ef69 | 38 | void Print(Bool_t everything=kTRUE); |
39 | void Set(AliL3Track *tpt); | |
40 | ||
029912b7 | 41 | void SetPadHit(Int_t row,Float_t f); |
42 | void SetTimeHit(Int_t row,Float_t f); | |
3e87ef69 | 43 | void SetCrossingAngleLUT(Int_t row,Float_t angle); |
029912b7 | 44 | void SetOverlap(Int_t row,Int_t id); |
3e87ef69 | 45 | void SetClusterLabel(Int_t row,Int_t *trackID); |
46 | void SetNClusters(Int_t i) {fNClusters = i;} | |
47 | ||
2357bb38 | 48 | Int_t GetNPresentClusters(); |
f64c4364 | 49 | Bool_t IsPresent(Int_t row); |
3e87ef69 | 50 | Bool_t IsSet(Int_t row); |
f64c4364 | 51 | |
95a00d93 | 52 | AliL3ClusterModel *GetClusters() {return fClusters;} |
95a00d93 | 53 | AliL3TrackModel *GetModel() {return fTrackModel;} |
029912b7 | 54 | AliL3ClusterModel *GetClusterModel(Int_t row); |
3e87ef69 | 55 | Int_t *GetOverlaps(Int_t row); |
56 | Int_t GetNOverlaps(Int_t row); | |
4a838220 | 57 | Int_t GetNPads(Int_t row); |
3e87ef69 | 58 | Int_t GetSlice(Int_t row); |
029912b7 | 59 | Float_t GetPadHit(Int_t row); |
60 | Float_t GetTimeHit(Int_t row); | |
3e87ef69 | 61 | Float_t GetCrossingAngleLUT(Int_t row); |
62 | Float_t GetParSigmaY2(Int_t row); | |
63 | Float_t GetParSigmaZ2(Int_t row); | |
029912b7 | 64 | Bool_t GetPad(Int_t row,Float_t &pad); |
65 | Bool_t GetTime(Int_t row,Float_t &time); | |
66 | Bool_t GetClusterCharge(Int_t row,Int_t &charge); | |
67 | Bool_t GetXYWidth(Int_t row,Float_t &width); | |
68 | Bool_t GetZWidth(Int_t row,Float_t &width); | |
95a00d93 | 69 | Bool_t GetPadResidual(Int_t row,Float_t &res); |
70 | Bool_t GetTimeResidual(Int_t row,Float_t &res); | |
4a838220 | 71 | Bool_t GetXYWidthResidual(Int_t row,Float_t &res); |
72 | Bool_t GetZWidthResidual(Int_t row,Float_t &res); | |
95a00d93 | 73 | Int_t GetNClusters() {return fNClusters;} |
3e87ef69 | 74 | void GetClusterLabel(Int_t row,Int_t *trackID); |
75 | ||
735e167e | 76 | ClassDef(AliL3ModelTrack,1) |
77 | ||
78 | }; | |
79 | ||
80 | #endif |