]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/comp/AliL3ModelTrack.h
Can compile with or without aliroot.
[u/mrichter/AliRoot.git] / HLT / comp / AliL3ModelTrack.h
1 #ifndef AliL3Model_Track
2 #define AliL3Model_Track
3
4 #include "AliL3Track.h"
5 #include "AliL3Models.h"
6 #include "AliL3Defs.h"
7
8 class AliL3Transform;
9
10 class AliL3ModelTrack : public AliL3Track {
11
12  private:
13   
14   Short_t fClusterCharge; //Average cluster charge
15   AliL3ClusterModel *fClusters; //!
16   AliL3TrackModel *fTrackModel; //!
17   AliL3Transform *fTransform; //!
18   Short_t fNClusters;
19   Int_t *fOverlap; //!
20   Float_t fXYResidualQ; //Quantization steps.
21   Float_t fZResidualQ;
22   Float_t fXYResolution;
23   Float_t fZResolution;
24   Float_t fXYWidthQ;
25   Float_t fZWidthQ;
26   Int_t fSlice;
27   Int_t fPatch;
28   
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);
38   void SetCluster(Int_t row,Float_t dpad,Float_t dtime,Float_t charge,Float_t sigmaY2,Float_t sigmaZ2);
39   void FillModel();
40   void FillTrack();
41   void Print();
42   
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;}
48   
49   AliL3ClusterModel *GetClusters() {return fClusters;}
50   AliL3TrackModel *GetModel() {return fTrackModel;}
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);
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   
64   Double_t GetParSigmaY2(Int_t row);
65   Double_t GetParSigmaZ2(Int_t row);
66   
67   ClassDef(AliL3ModelTrack,1)
68
69 };
70
71 #endif