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