]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIL3_HOUGHTRANSFORMER | |
2 | #define ALIL3_HOUGHTRANSFORMER | |
3 | ||
4 | #include "AliL3RootTypes.h" | |
5 | ||
6 | class AliL3Transform; | |
7 | class AliL3Histogram; | |
8 | class AliL3DigitRowData; | |
9 | ||
10 | class AliL3HoughTransformer : public TObject { | |
11 | ||
12 | private: | |
13 | ||
14 | Int_t fSlice; | |
15 | Int_t fPatch; | |
16 | Int_t fNEtaSegments; | |
17 | Double_t fEtaMin; | |
18 | Double_t fEtaMax; | |
19 | Int_t fThreshold; | |
20 | AliL3Transform *fTransform; //! | |
21 | ||
22 | //Pointers to histograms | |
23 | AliL3Histogram **fParamSpace; //! | |
24 | ||
25 | //Data pointers | |
26 | UInt_t fNDigitRowData; | |
27 | AliL3DigitRowData *fDigitRowData; //! | |
28 | ||
29 | void DeleteHistograms(); | |
30 | ||
31 | public: | |
32 | AliL3HoughTransformer(); | |
33 | AliL3HoughTransformer(Int_t slice,Int_t patch,Int_t n_eta_segments); | |
34 | virtual ~AliL3HoughTransformer(); | |
35 | ||
36 | void SetInputData(UInt_t ndigits,AliL3DigitRowData *ptr); | |
37 | void CreateHistograms(Int_t nxbin,Double_t ptmin,Int_t nybin,Double_t phimin,Double_t phimax); | |
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); | |
40 | void Reset(); | |
41 | void TransformCircle(); | |
42 | void TransformLine(); | |
43 | ||
44 | //Getters | |
45 | Int_t GetSlice() {return fSlice;} | |
46 | Int_t GetPatch() {return fPatch;} | |
47 | Int_t GetNEtaSegments() {return fNEtaSegments;} | |
48 | Int_t GetThreshold() {return fThreshold;} | |
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); | |
53 | ||
54 | //setters | |
55 | void SetThreshold(Int_t i) {fThreshold = i;} | |
56 | ||
57 | ClassDef(AliL3HoughTransformer,1) | |
58 | ||
59 | }; | |
60 | ||
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 | ||
70 | #endif |