735e167e |
1 | #ifndef AliL3Model_Track |
2 | #define AliL3Model_Track |
3 | |
4 | #include "AliL3Track.h" |
95a00d93 |
5 | #include "AliL3Models.h" |
029912b7 |
6 | #include "AliL3Defs.h" |
735e167e |
7 | |
92a876e2 |
8 | class AliL3Transform; |
9 | |
735e167e |
10 | class AliL3ModelTrack : public AliL3Track { |
11 | |
12 | private: |
13 | |
14 | Short_t fClusterCharge; //Average cluster charge |
95a00d93 |
15 | AliL3ClusterModel *fClusters; //! |
16 | AliL3TrackModel *fTrackModel; //! |
92a876e2 |
17 | AliL3Transform *fTransform; //! |
735e167e |
18 | Short_t fNClusters; |
029912b7 |
19 | Int_t *fOverlap; //! |
95a00d93 |
20 | Float_t fXYResidualQ; //Quantization steps. |
21 | Float_t fZResidualQ; |
029912b7 |
22 | Float_t fXYResolution; |
23 | Float_t fZResolution; |
24 | Float_t fXYWidthQ; |
25 | Float_t fZWidthQ; |
26 | Int_t fSlice; |
27 | Int_t fPatch; |
95a00d93 |
28 | |
735e167e |
29 | //Crossing points with padrows |
30 | Float_t *fPad; //! |
31 | Float_t *fTime; //! |
32 | |
33 | public: |
34 | AliL3ModelTrack(); |
35 | virtual ~AliL3ModelTrack(); |
36 | |
37 | void Init(Int_t slice,Int_t patch); |
029912b7 |
38 | void SetCluster(Int_t row,Float_t dpad,Float_t dtime,Float_t charge,Float_t sigmaY2,Float_t sigmaZ2); |
95a00d93 |
39 | void FillModel(); |
029912b7 |
40 | void FillTrack(); |
95a00d93 |
41 | void Print(); |
735e167e |
42 | |
029912b7 |
43 | void SetPadHit(Int_t row,Float_t f); |
44 | void SetTimeHit(Int_t row,Float_t f); |
45 | void SetOverlap(Int_t row,Int_t id); |
46 | void SetXYResolution(Float_t f) {fXYResolution=f;} |
47 | void SetZResolution(Float_t f) {fZResolution=f;} |
735e167e |
48 | |
95a00d93 |
49 | AliL3ClusterModel *GetClusters() {return fClusters;} |
95a00d93 |
50 | AliL3TrackModel *GetModel() {return fTrackModel;} |
029912b7 |
51 | AliL3ClusterModel *GetClusterModel(Int_t row); |
52 | Int_t GetOverlap(Int_t row); |
53 | Float_t GetPadHit(Int_t row); |
54 | Float_t GetTimeHit(Int_t row); |
55 | Bool_t GetPad(Int_t row,Float_t &pad); |
56 | Bool_t GetTime(Int_t row,Float_t &time); |
57 | Bool_t GetClusterCharge(Int_t row,Int_t &charge); |
58 | Bool_t GetXYWidth(Int_t row,Float_t &width); |
59 | Bool_t GetZWidth(Int_t row,Float_t &width); |
95a00d93 |
60 | Bool_t GetPadResidual(Int_t row,Float_t &res); |
61 | Bool_t GetTimeResidual(Int_t row,Float_t &res); |
62 | Int_t GetNClusters() {return fNClusters;} |
63 | |
92a876e2 |
64 | Double_t GetParSigmaY2(Int_t row); |
65 | Double_t GetParSigmaZ2(Int_t row); |
95a00d93 |
66 | |
735e167e |
67 | ClassDef(AliL3ModelTrack,1) |
68 | |
69 | }; |
70 | |
71 | #endif |