3 #ifndef ALIL3HOUGHTRACK_H
4 #define ALIL3HOUGHTRACK_H
6 #include "AliL3Track.h"
8 class AliL3HoughTrack : public AliL3Track {
12 virtual ~AliL3HoughTrack();
14 virtual void Set(AliL3Track *track);
15 virtual Int_t Compare(const AliL3Track *track) const;
17 Bool_t IsHelix() const {return fIsHelix;}
18 void UpdateToFirstRow();
19 void SetTrackParameters(Double_t kappa,Double_t eangle,Int_t weight);
20 void SetLineParameters(Double_t psi,Double_t D,Int_t weight,Int_t *rowrange,Int_t refrow);
22 Int_t GetWeight() const {return fWeight;}
23 Double_t GetPsiLine() const {return fPsiLine;}
24 Double_t GetDLine() const {return fDLine;}
26 Int_t GetEtaIndex() const {return fEtaIndex;}
27 Double_t GetEta() const {return fEta;}
28 Int_t GetSlice() const {return fSlice;}
29 void GetLineCrossingPoint(Int_t padrow,Float_t *xy);
31 Float_t GetBinX() const {return fBinX;}
32 Float_t GetBinY() const {return fBinY;}
33 Float_t GetSizeX() const {return fSizeX;}
34 Float_t GetSizeY() const {return fSizeY;}
36 void SetHelixTrue() {fIsHelix=kTRUE;}
37 void SetSlice(Int_t slice) {fSlice=slice;}
38 void SetEta(Double_t f);
39 void SetWeight(Int_t i,Bool_t update=kFALSE) {if(update) fWeight+= i; else fWeight = i;}
40 void SetEtaIndex(Int_t f) {fEtaIndex = f;}
41 void SetBestMCid(Int_t f,Double_t mindist);
42 void SetDLine(Double_t f) {fDLine=f;}
43 void SetPsiLine(Double_t f) {fPsiLine=f;}
45 void SetBinXY(Float_t binx,Float_t biny,Float_t sizex,Float_t sizey) {fBinX = binx; fBinY = biny; fSizeX = sizex; fSizeY = sizey;}
49 Double_t fMinDist;//Minimum distance to a generated track while associating mc label
50 Int_t fWeight;//Track weight
51 Int_t fEtaIndex;//Eta slice index
52 Double_t fEta;//Track Eta
53 Int_t fSlice; //The slice where this track was found
56 Double_t fPsiLine;//??
58 Bool_t fIsHelix;//Is the track helix or not?
60 Float_t fBinX,fBinY,fSizeX,fSizeY;//Size and position of the hough space peak
62 ClassDef(AliL3HoughTrack,1) //Track class for Hough tracklets