]>
Commit | Line | Data |
---|---|---|
c52cf5d8 | 1 | #ifndef ALIL3_HOUGHBASETRANSFORMER |
2 | #define ALIL3_HOUGHBASETRANSFORMER | |
3 | ||
4 | #include "AliL3RootTypes.h" | |
5 | ||
1eef4efc | 6 | #ifdef do_mc |
7 | const UInt_t MaxTrack=15; | |
8 | struct TrackIndex { | |
9 | Int_t fLabel[MaxTrack]; | |
10 | Int_t fNHits[MaxTrack]; | |
11 | }; | |
12 | typedef struct TrackIndex TrackIndex; | |
13 | #endif | |
14 | ||
c52cf5d8 | 15 | class AliL3DigitRowData; |
16 | class AliL3Histogram; | |
17 | ||
18 | class AliL3HoughBaseTransformer { | |
19 | ||
20 | private: | |
21 | ||
22 | Int_t fSlice; | |
23 | Int_t fPatch; | |
24 | Int_t fNEtaSegments; | |
25 | Double_t fEtaMin; | |
26 | Double_t fEtaMax; | |
3bb06991 | 27 | Int_t fLowerThreshold; |
28 | Int_t fUpperThreshold; | |
c52cf5d8 | 29 | |
30 | AliL3DigitRowData *fDigitRowData; //! | |
31 | ||
c52cf5d8 | 32 | public: |
e06900d5 | 33 | |
c52cf5d8 | 34 | AliL3HoughBaseTransformer(); |
35 | AliL3HoughBaseTransformer(Int_t slice,Int_t patch,Int_t n_eta_segments); | |
36 | virtual ~AliL3HoughBaseTransformer(); | |
37 | ||
38 | void SetInputData(UInt_t ndigits,AliL3DigitRowData *ptr) {fDigitRowData = ptr;} | |
39 | ||
40 | virtual void CreateHistograms(Int_t nxbin,Double_t ptmin,Int_t nybin,Double_t phimin,Double_t phimax) = 0; | |
41 | virtual void CreateHistograms(Int_t nxbin,Double_t xmin,Double_t xmax,Int_t nybin,Double_t ymin,Double_t ymax) = 0; | |
42 | virtual void Reset() = 0; | |
43 | virtual void TransformCircle() = 0; | |
44 | virtual void TransformCircleC(Int_t row_range) = 0; | |
45 | virtual void TransformLine() = 0; | |
1eef4efc | 46 | |
c52cf5d8 | 47 | //Getters |
48 | Int_t GetSlice() {return fSlice;} | |
49 | Int_t GetPatch() {return fPatch;} | |
1eef4efc | 50 | Int_t GetNEtaSegments() {return fNEtaSegments;} |
3bb06991 | 51 | Int_t GetLowerThreshold() {return fLowerThreshold;} |
52 | Int_t GetUpperThreshold() {return fUpperThreshold;} | |
1eef4efc | 53 | Double_t GetEtaMin() {return fEtaMin;} |
54 | Double_t GetEtaMax() {return fEtaMax;} | |
c52cf5d8 | 55 | |
56 | AliL3DigitRowData *GetDataPointer() {return fDigitRowData;} | |
57 | ||
58 | virtual Int_t GetEtaIndex(Double_t eta) = 0; | |
59 | virtual AliL3Histogram *GetHistogram(Int_t eta_index) = 0; | |
afd8fed4 | 60 | virtual Double_t GetEta(Int_t eta_index,Int_t slice) = 0; |
1eef4efc | 61 | virtual Int_t GetTrackID(Int_t eta_index,Double_t kappa,Double_t psi) {return -1;} |
62 | ||
c52cf5d8 | 63 | //setters |
65ca0c00 | 64 | virtual void Init(Int_t slice=0,Int_t patch=0,Int_t n_eta_segments=100); |
3bb06991 | 65 | void SetLowerThreshold(Int_t i) {fLowerThreshold = i;} |
66 | void SetUpperThreshold(Int_t i) {fUpperThreshold = i;} | |
c52cf5d8 | 67 | |
65ca0c00 | 68 | virtual void Print(){}; |
69 | ||
c52cf5d8 | 70 | ClassDef(AliL3HoughBaseTransformer,1) //Hough transformation base class |
71 | ||
72 | }; | |
73 | ||
74 | ||
75 | #endif | |
65ca0c00 | 76 |