Some additional changes related to the previous changes. AliL3Transform
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughTrack.h
1 #ifndef ALIL3_HOUGH_Track
2 #define ALIL3_HOUGH_Track
3
4 #include "AliL3Track.h"
5
6 class AliL3HoughTrack : public AliL3Track {
7   
8  private:
9   
10   Double_t fMinDist;
11   Int_t fWeight;
12   Int_t fEtaIndex;
13   Double_t fEta;
14   Int_t fSlice; //The slice where this track was found
15
16   Double_t fDLine;
17   Double_t fPsiLine;
18  
19   Bool_t fIsHelix;
20
21  public:
22   AliL3HoughTrack(); 
23   virtual ~AliL3HoughTrack();
24   
25   virtual void Set(AliL3Track *track);
26   virtual Int_t Compare(const AliL3Track *track) const;
27   virtual void CalculateHelix();
28   
29   void UpdateToFirstRow();
30   void SetTrackParameters(Double_t kappa,Double_t phi,Int_t weight);  
31   void SetLineParameters(Double_t psi,Double_t D,Int_t weight,Int_t *rowrange,Int_t ref_row);
32
33   Int_t GetWeight()  const {return fWeight;}
34   Double_t GetPsiLine() const {return fPsiLine;}
35   Double_t GetDLine() const {return fDLine;}
36
37   Int_t GetEtaIndex() const {return fEtaIndex;}
38   Double_t GetEta() const {return fEta;}
39   Int_t GetSlice()  const {return fSlice;}
40   void GetLineCrossingPoint(Int_t padrow,Double_t *xy);
41
42   void SetSlice(Int_t slice) {fSlice=slice;}
43   void SetEta(Double_t f);
44   void SetWeight(Int_t i,Bool_t update=kFALSE) {if(update) fWeight+= i; else fWeight = i;}
45   void SetEtaIndex(Int_t f) {fEtaIndex = f;}
46   void SetBestMCid(Int_t f,Double_t min_dist);
47   void SetDLine(Double_t f) {fDLine=f;}
48   void SetPsiLine(Double_t f) {fPsiLine=f;}
49
50   ClassDef(AliL3HoughTrack,1) //Track class for Hough tracklets
51
52 };
53
54 #endif