]>
Commit | Line | Data |
---|---|---|
4de874d1 | 1 | #ifndef ALIL3_HOUGHTRANSFORMER |
2 | #define ALIL3_HOUGHTRANSFORMER | |
3 | ||
4 | #include "AliL3RootTypes.h" | |
5 | ||
4de874d1 | 6 | class AliL3Transform; |
99e7186b | 7 | class AliL3Histogram; |
4cafa5fc | 8 | class AliL3DigitRowData; |
4de874d1 | 9 | |
10 | class AliL3HoughTransformer : public TObject { | |
11 | ||
12 | private: | |
13 | ||
99e7186b | 14 | Int_t fSlice; |
15 | Int_t fPatch; | |
16 | Int_t fNEtaSegments; | |
17 | Double_t fEtaMin; | |
18 | Double_t fEtaMax; | |
19 | Int_t fThreshold; | |
4de874d1 | 20 | AliL3Transform *fTransform; //! |
99e7186b | 21 | |
4fc9a6a4 | 22 | //Pointers to histograms |
99e7186b | 23 | AliL3Histogram **fParamSpace; //! |
4de874d1 | 24 | |
99e7186b | 25 | //Data pointers |
26 | UInt_t fNDigitRowData; | |
4cafa5fc | 27 | AliL3DigitRowData *fDigitRowData; //! |
4de874d1 | 28 | |
99e7186b | 29 | void DeleteHistograms(); |
4de874d1 | 30 | |
31 | public: | |
32 | AliL3HoughTransformer(); | |
99e7186b | 33 | AliL3HoughTransformer(Int_t slice,Int_t patch,Int_t n_eta_segments); |
4de874d1 | 34 | virtual ~AliL3HoughTransformer(); |
99e7186b | 35 | |
4cafa5fc | 36 | void SetInputData(UInt_t ndigits,AliL3DigitRowData *ptr); |
e26acabd | 37 | void CreateHistograms(Int_t nxbin,Double_t ptmin,Int_t nybin,Double_t phimin,Double_t phimax); |
4fc9a6a4 | 38 | void CreateHistograms(Int_t nxbin=64,Double_t xmin=-0.006,Double_t xmax=0.006, |
39 | Int_t nybin=64,Double_t ymin=-0.26,Double_t ymax=0.26); | |
e26acabd | 40 | void Reset(); |
4fc9a6a4 | 41 | void TransformCircle(); |
42 | void TransformLine(); | |
43 | ||
44 | //Getters | |
99e7186b | 45 | Int_t GetSlice() {return fSlice;} |
46 | Int_t GetPatch() {return fPatch;} | |
47 | Int_t GetNEtaSegments() {return fNEtaSegments;} | |
4fc9a6a4 | 48 | Int_t GetThreshold() {return fThreshold;} |
99e7186b | 49 | Double_t GetEtaMin() {return fEtaMin;} |
50 | Double_t GetEtaMax() {return fEtaMax;} | |
51 | void *GetDataPointer() {return (void*)fDigitRowData;} | |
52 | AliL3Histogram *GetHistogram(Int_t eta_index); | |
4fc9a6a4 | 53 | |
54 | //setters | |
55 | void SetThreshold(Int_t i) {fThreshold = i;} | |
99e7186b | 56 | |
4de874d1 | 57 | ClassDef(AliL3HoughTransformer,1) |
58 | ||
59 | }; | |
60 | ||
99e7186b | 61 | inline AliL3Histogram *AliL3HoughTransformer::GetHistogram(Int_t eta_index) |
62 | { | |
63 | if(!fParamSpace || eta_index >= fNEtaSegments) | |
64 | return 0; | |
65 | if(!fParamSpace[eta_index]) | |
66 | return 0; | |
67 | return fParamSpace[eta_index]; | |
68 | } | |
69 | ||
4de874d1 | 70 | #endif |