]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/hough/AliL3HoughTransformer.h
Worked over Makefiles for standalone HLT version, no changes when you compile with...
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughTransformer.h
1 // @(#) $Id$
2
3 #ifndef ALIL3HOUGHTRANSFORMER_H
4 #define ALIL3HOUGHTRANSFORMER_H
5
6 #include "AliL3RootTypes.h"
7 #include "AliL3HoughBaseTransformer.h"
8
9 class AliL3Histogram;
10
11 class AliL3HoughTransformer : public AliL3HoughBaseTransformer {
12
13  public:
14   AliL3HoughTransformer(); 
15   AliL3HoughTransformer(Int_t slice,Int_t patch,Int_t netasegments,Bool_t DoEtaOverlap=kFALSE,Bool_t DoMC=kFALSE);
16   virtual ~AliL3HoughTransformer();
17   
18   void CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t ptres,Int_t nybin,Float_t psi);
19   void CreateHistograms(Int_t nxbin,Float_t ptmin,Int_t nybin,Float_t phimin,Float_t phimax);
20   void CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,
21                         Int_t nybin,Float_t ymin,Float_t ymax);
22   void Reset();
23   void TransformCircle();
24   void TransformCircleC(Int_t *rowrange,Int_t every=1);
25   void TransformLine(Int_t *rowrange=0,Float_t *phirange=0);
26   void TransformLineC(Int_t *rowrange,Float_t *phirange);
27
28   Int_t GetEtaIndex(Double_t eta) const;
29   void GetEtaIndexes(Double_t eta,Int_t *indexes) const;
30   AliL3Histogram *GetHistogram(Int_t etaindex);
31   Double_t GetEta(Int_t etaindex,Int_t slice) const;
32   Int_t GetTrackID(Int_t etaindex,Double_t kappa,Double_t psi) const;
33   
34  private:
35   
36   AliL3Histogram **fParamSpace; //!
37 #ifdef do_mc
38   AliL3TrackIndex **fTrackID; //!
39 #endif
40   Bool_t fDoMC; // Calculate mc labels or not
41   Bool_t fEtaOverlap; // Allow overlapping of eta slice or not
42   
43   void DeleteHistograms();
44
45   ClassDef(AliL3HoughTransformer,1) //Normal Hough transformation class
46
47 };
48
49 #endif
50
51
52
53