Added virtual function Init for setting the slice, patch and n_eta_seg information...
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughBaseTransformer.h
CommitLineData
c52cf5d8 1#ifndef ALIL3_HOUGHBASETRANSFORMER
2#define ALIL3_HOUGHBASETRANSFORMER
3
4#include "AliL3RootTypes.h"
5
c52cf5d8 6class AliL3DigitRowData;
7class AliL3Histogram;
8
9class AliL3HoughBaseTransformer {
10
11 private:
12
13 Int_t fSlice;
14 Int_t fPatch;
15 Int_t fNEtaSegments;
16 Double_t fEtaMin;
17 Double_t fEtaMax;
3bb06991 18 Int_t fLowerThreshold;
19 Int_t fUpperThreshold;
c52cf5d8 20
21 AliL3DigitRowData *fDigitRowData; //!
22
c52cf5d8 23 public:
24 AliL3HoughBaseTransformer();
25 AliL3HoughBaseTransformer(Int_t slice,Int_t patch,Int_t n_eta_segments);
26 virtual ~AliL3HoughBaseTransformer();
27
28 void SetInputData(UInt_t ndigits,AliL3DigitRowData *ptr) {fDigitRowData = ptr;}
29
30 virtual void CreateHistograms(Int_t nxbin,Double_t ptmin,Int_t nybin,Double_t phimin,Double_t phimax) = 0;
31 virtual void CreateHistograms(Int_t nxbin,Double_t xmin,Double_t xmax,Int_t nybin,Double_t ymin,Double_t ymax) = 0;
32 virtual void Reset() = 0;
33 virtual void TransformCircle() = 0;
34 virtual void TransformCircleC(Int_t row_range) = 0;
35 virtual void TransformLine() = 0;
36
37 //Getters
38 Int_t GetSlice() {return fSlice;}
39 Int_t GetPatch() {return fPatch;}
65ca0c00 40 inline Int_t GetNEtaSegments() {return fNEtaSegments;}
3bb06991 41 Int_t GetLowerThreshold() {return fLowerThreshold;}
42 Int_t GetUpperThreshold() {return fUpperThreshold;}
65ca0c00 43 inline Double_t GetEtaMin() {return fEtaMin;}
44 inline Double_t GetEtaMax() {return fEtaMax;}
c52cf5d8 45
46 AliL3DigitRowData *GetDataPointer() {return fDigitRowData;}
47
48 virtual Int_t GetEtaIndex(Double_t eta) = 0;
49 virtual AliL3Histogram *GetHistogram(Int_t eta_index) = 0;
65ca0c00 50 virtual Double_t GetEta(Int_t eta_index) = 0;
51
c52cf5d8 52 //setters
65ca0c00 53 virtual void Init(Int_t slice=0,Int_t patch=0,Int_t n_eta_segments=100);
3bb06991 54 void SetLowerThreshold(Int_t i) {fLowerThreshold = i;}
55 void SetUpperThreshold(Int_t i) {fUpperThreshold = i;}
c52cf5d8 56
65ca0c00 57 virtual void Print(){};
58
c52cf5d8 59 ClassDef(AliL3HoughBaseTransformer,1) //Hough transformation base class
60
61};
62
63
64#endif
65ca0c00 65