735e167e |
1 | #ifndef AliL3Model_Track |
2 | #define AliL3Model_Track |
3 | |
4 | #include "AliL3Track.h" |
95a00d93 |
5 | #include "AliL3Models.h" |
735e167e |
6 | |
7 | class AliL3ModelTrack : public AliL3Track { |
8 | |
9 | private: |
10 | |
11 | Short_t fClusterCharge; //Average cluster charge |
95a00d93 |
12 | AliL3ClusterModel *fClusters; //! |
13 | AliL3TrackModel *fTrackModel; //! |
735e167e |
14 | Short_t fNClusters; |
15 | Int_t fOverlap; |
95a00d93 |
16 | Float_t fXYResidualQ; //Quantization steps. |
17 | Float_t fZResidualQ; |
18 | |
735e167e |
19 | //Crossing points with padrows |
20 | Float_t *fPad; //! |
21 | Float_t *fTime; //! |
22 | |
23 | public: |
24 | AliL3ModelTrack(); |
25 | virtual ~AliL3ModelTrack(); |
26 | |
27 | void Init(Int_t slice,Int_t patch); |
28 | void SetCluster(Float_t dpad,Float_t dtime,Float_t charge,Float_t sigmaY2,Float_t sigmaZ2); |
95a00d93 |
29 | void FillModel(); |
30 | void Print(); |
735e167e |
31 | |
32 | void SetPadHit(Int_t row,Float_t f) {fPad[row]=f;} |
33 | void SetTimeHit(Int_t row,Float_t f) {fTime[row]=f;} |
34 | void SetOverlap(Int_t i) {fOverlap=i;} |
35 | |
95a00d93 |
36 | AliL3ClusterModel *GetClusters() {return fClusters;} |
37 | AliL3ClusterModel *GetClusterModel(Int_t i) {if(!fClusters) return 0; return &fClusters[i];} |
38 | AliL3TrackModel *GetModel() {return fTrackModel;} |
735e167e |
39 | Int_t GetOverlap() {return fOverlap;} |
40 | Float_t GetPadHit(Int_t row) {return fPad[row];} |
41 | Float_t GetTimeHit(Int_t row) {return fTime[row];} |
95a00d93 |
42 | Bool_t GetPadResidual(Int_t row,Float_t &res); |
43 | Bool_t GetTimeResidual(Int_t row,Float_t &res); |
44 | Int_t GetNClusters() {return fNClusters;} |
45 | |
46 | Double_t GetParSigmaY2(Double_t r); |
47 | Double_t GetParSigmaZ2(Double_t r); |
48 | |
735e167e |
49 | ClassDef(AliL3ModelTrack,1) |
50 | |
51 | }; |
52 | |
53 | #endif |