1 #ifndef ALIL3_HOUGHBASETRANSFORMER
2 #define ALIL3_HOUGHBASETRANSFORMER
4 #include "AliL3RootTypes.h"
6 class AliL3DigitRowData;
9 class AliL3HoughBaseTransformer {
20 AliL3DigitRowData *fDigitRowData; //!
23 AliL3HoughBaseTransformer();
24 AliL3HoughBaseTransformer(Int_t slice,Int_t patch,Int_t n_eta_segments);
25 virtual ~AliL3HoughBaseTransformer();
27 void SetInputData(UInt_t ndigits,AliL3DigitRowData *ptr) {fDigitRowData = ptr;}
29 virtual void CreateHistograms(Int_t nxbin,Double_t ptmin,Int_t nybin,Double_t phimin,Double_t phimax) = 0;
30 virtual void CreateHistograms(Int_t nxbin,Double_t xmin,Double_t xmax,Int_t nybin,Double_t ymin,Double_t ymax) = 0;
31 virtual void Reset() = 0;
32 virtual void TransformCircle() = 0;
33 virtual void TransformCircleC(Int_t row_range) = 0;
34 virtual void TransformLine() = 0;
37 Int_t GetSlice() {return fSlice;}
38 Int_t GetPatch() {return fPatch;}
39 Int_t GetNEtaSegments() {return fNEtaSegments;}
40 Int_t GetThreshold() {return fThreshold;}
41 Double_t GetEtaMin() {return fEtaMin;}
42 Double_t GetEtaMax() {return fEtaMax;}
44 AliL3DigitRowData *GetDataPointer() {return fDigitRowData;}
46 virtual Int_t GetEtaIndex(Double_t eta) = 0;
47 virtual AliL3Histogram *GetHistogram(Int_t eta_index) = 0;
50 void SetThreshold(Int_t i) {fThreshold = i;}
52 ClassDef(AliL3HoughBaseTransformer,1) //Hough transformation base class