Checking in for the weekend
[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
7 class AliL3ModelTrack : public AliL3Track {
8
9  private:
10   
11   Short_t fClusterCharge; //Average cluster charge
12   AliL3ClusterModel *fClusters; //!
13   AliL3TrackModel *fTrackModel; //!
14   Short_t fNClusters;
15   Int_t fOverlap;
16   Float_t fXYResidualQ; //Quantization steps.
17   Float_t fZResidualQ;
18   
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);
29   void FillModel();
30   void Print();
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   
36   AliL3ClusterModel *GetClusters() {return fClusters;}
37   AliL3ClusterModel *GetClusterModel(Int_t i) {if(!fClusters) return 0; return &fClusters[i];}
38   AliL3TrackModel *GetModel() {return fTrackModel;}
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];}
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   
49   ClassDef(AliL3ModelTrack,1)
50
51 };
52
53 #endif