]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/hough/AliHLTHoughTrack.h
New class AliESDEvent, backward compatibility with the old AliESD (Christian)
[u/mrichter/AliRoot.git] / HLT / hough / AliHLTHoughTrack.h
1 // @(#) $Id$
2
3 #ifndef ALIL3HOUGHTRACK_H
4 #define ALIL3HOUGHTRACK_H
5
6 #include "AliHLTTrack.h"
7
8 class AliHLTHoughTrack : public AliHLTTrack {
9   
10  public:
11   AliHLTHoughTrack(); 
12   virtual ~AliHLTHoughTrack();
13   
14   virtual void Set(AliHLTTrack *track);
15   virtual Int_t Compare(const AliHLTTrack *track) const;
16   
17   Bool_t IsHelix() const {return fIsHelix;}
18   void UpdateToFirstRow();
19   void SetTrackParameters(Double_t kappa,Double_t eangle,Int_t weight);  
20   void SetTrackParametersRow(Double_t alpha1,Double_t alpha2,Double_t eta,Int_t weight);  
21   void SetLineParameters(Double_t psi,Double_t D,Int_t weight,Int_t *rowrange,Int_t refrow);
22
23   Int_t GetWeight()  const {return fWeight;}
24   Double_t GetPsiLine() const {return fPsiLine;}
25   Double_t GetDLine() const {return fDLine;}
26
27   Int_t GetEtaIndex() const {return fEtaIndex;}
28   Double_t GetEta() const {return fEta;}
29   Int_t GetSlice()  const {return fSlice;}
30   void GetLineCrossingPoint(Int_t padrow,Float_t *xy);
31
32   Float_t    GetBinX()   const {return fBinX;}
33   Float_t    GetBinY()   const {return fBinY;}
34   Float_t    GetSizeX()  const {return fSizeX;}
35   Float_t    GetSizeY()  const {return fSizeY;}
36   
37   void SetHelixTrue() {fIsHelix=kTRUE;}
38   void SetSlice(Int_t slice) {fSlice=slice;}
39   void SetEta(Double_t f);
40   void SetWeight(Int_t i,Bool_t update=kFALSE) {if(update) fWeight+= i; else fWeight = i;}
41   void SetEtaIndex(Int_t f) {fEtaIndex = f;}
42   void SetBestMCid(Int_t f,Double_t mindist);
43   void SetDLine(Double_t f) {fDLine=f;}
44   void SetPsiLine(Double_t f) {fPsiLine=f;}
45
46   void SetBinXY(Float_t binx,Float_t biny,Float_t sizex,Float_t sizey) {fBinX = binx; fBinY = biny; fSizeX = sizex; fSizeY = sizey;}
47
48  private:
49   
50   Double_t fMinDist;//Minimum distance to a generated track while associating mc label 
51   Int_t fWeight;//Track weight
52   Int_t fEtaIndex;//Eta slice index
53   Double_t fEta;//Track Eta
54   Int_t fSlice; //The slice where this track was found
55
56   Double_t fDLine;//??
57   Double_t fPsiLine;//??
58  
59   Bool_t fIsHelix;//Is the track helix or not?
60
61   Float_t fBinX,fBinY,fSizeX,fSizeY;//Size and position of the hough space peak 
62
63   ClassDef(AliHLTHoughTrack,1) //Track class for Hough tracklets
64
65 };
66
67 typedef AliHLTHoughTrack AliL3HoughTrack; // for backward comaptibility
68
69 #endif