1 #ifndef ALIL3_HOUGHBASETRANSFORMER
2 #define ALIL3_HOUGHBASETRANSFORMER
4 #include "AliL3RootTypes.h"
6 class AliL3DigitRowData;
9 class AliL3HoughBaseTransformer {
18 Int_t fLowerThreshold;
19 Int_t fUpperThreshold;
21 AliL3DigitRowData *fDigitRowData; //!
24 AliL3HoughBaseTransformer();
25 AliL3HoughBaseTransformer(Int_t slice,Int_t patch,Int_t n_eta_segments);
26 virtual ~AliL3HoughBaseTransformer();
28 void SetInputData(UInt_t ndigits,AliL3DigitRowData *ptr) {fDigitRowData = ptr;}
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;
38 Int_t GetSlice() {return fSlice;}
39 Int_t GetPatch() {return fPatch;}
40 Int_t GetNEtaSegments() {return fNEtaSegments;}
41 Int_t GetLowerThreshold() {return fLowerThreshold;}
42 Int_t GetUpperThreshold() {return fUpperThreshold;}
43 Double_t GetEtaMin() {return fEtaMin;}
44 Double_t GetEtaMax() {return fEtaMax;}
46 AliL3DigitRowData *GetDataPointer() {return fDigitRowData;}
48 virtual Int_t GetEtaIndex(Double_t eta) = 0;
49 virtual AliL3Histogram *GetHistogram(Int_t eta_index) = 0;
52 void SetLowerThreshold(Int_t i) {fLowerThreshold = i;}
53 void SetUpperThreshold(Int_t i) {fUpperThreshold = i;}
55 ClassDef(AliL3HoughBaseTransformer,1) //Hough transformation base class