]>
Commit | Line | Data |
---|---|---|
1 | // @(#) $Id$ | |
2 | ||
3 | #ifndef ALIL3HOUGHTRACK_H | |
4 | #define ALIL3HOUGHTRACK_H | |
5 | ||
6 | #include "AliL3Track.h" | |
7 | ||
8 | class AliL3HoughTrack : public AliL3Track { | |
9 | ||
10 | public: | |
11 | AliL3HoughTrack(); | |
12 | virtual ~AliL3HoughTrack(); | |
13 | ||
14 | virtual void Set(AliL3Track *track); | |
15 | virtual Int_t Compare(const AliL3Track *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(AliL3HoughTrack,1) //Track class for Hough tracklets | |
64 | ||
65 | }; | |
66 | ||
67 | #endif |