c52cf5d8 |
1 | #ifndef ALIL3_HOUGHBASETRANSFORMER |
2 | #define ALIL3_HOUGHBASETRANSFORMER |
3 | |
4 | #include "AliL3RootTypes.h" |
5 | |
c52cf5d8 |
6 | class AliL3DigitRowData; |
7 | class AliL3Histogram; |
8 | |
9 | class 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 | |