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