ba1bfbfbffff261d022ebc8a59ce1e26ed46b623
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughTransformer.h
1 #ifndef ALIL3_HOUGHTRANSFORMER
2 #define ALIL3_HOUGHTRANSFORMER
3
4 #include "AliL3RootTypes.h"
5 #include "AliL3HoughBaseTransformer.h"
6
7 class AliL3Histogram;
8
9 class AliL3HoughTransformer : public AliL3HoughBaseTransformer {
10   
11  private:
12   
13   AliL3Histogram **fParamSpace; //!
14 #ifdef do_mc
15   TrackIndex **fTrackID; //!
16 #endif
17   Bool_t fDoMC;
18   void DeleteHistograms();
19
20  public:
21   AliL3HoughTransformer(); 
22   AliL3HoughTransformer(Int_t slice,Int_t patch,Int_t n_eta_segments);
23   virtual ~AliL3HoughTransformer();
24   
25   void CreateHistograms(Int_t nxbin,Double_t ptmin,Int_t nybin,Double_t phimin,Double_t phimax);
26   void CreateHistograms(Int_t nxbin,Double_t xmin,Double_t xmax,
27                         Int_t nybin,Double_t ymin,Double_t ymax);
28   void Reset();
29   void TransformCircle();
30   void TransformCircleC(Int_t row_range);
31   void TransformLine();
32
33   Int_t GetEtaIndex(Double_t eta);
34   AliL3Histogram *GetHistogram(Int_t eta_index);
35   Double_t GetEta(Int_t eta_index,Int_t slice);
36   Int_t GetTrackID(Int_t eta_index,Double_t kappa,Double_t psi);
37   
38   //void Init(Int_t slice=0,Int_t patch=0,Int_t n_eta_segments=100);
39   
40   ClassDef(AliL3HoughTransformer,1) //Normal Hough transformation class
41
42 };
43
44 #endif
45
46
47
48