]>
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 | //Pointer 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 | AliL3DigitRowData *UpdateDataPointer(AliL3DigitRowData *tempPt); | |
38 | void CreateHistograms(Int_t nxbin=70,Double_t xmin=-0.006,Double_t xmax=0.006, | |
39 | Int_t nybin=70,Double_t ymin=-0.26,Double_t ymax=0.26); | |
40 | void Transform(); | |
41 | ||
42 | Int_t GetSlice() {return fSlice;} | |
43 | Int_t GetPatch() {return fPatch;} | |
44 | Int_t GetNEtaSegments() {return fNEtaSegments;} | |
45 | Double_t GetEtaMin() {return fEtaMin;} | |
46 | Double_t GetEtaMax() {return fEtaMax;} | |
47 | void *GetDataPointer() {return (void*)fDigitRowData;} | |
48 | AliL3Histogram *GetHistogram(Int_t eta_index); | |
49 | ||
50 | ClassDef(AliL3HoughTransformer,1) | |
51 | ||
52 | }; | |
53 | ||
54 | inline AliL3Histogram *AliL3HoughTransformer::GetHistogram(Int_t eta_index) | |
55 | { | |
56 | if(!fParamSpace || eta_index >= fNEtaSegments) | |
57 | return 0; | |
58 | if(!fParamSpace[eta_index]) | |
59 | return 0; | |
60 | return fParamSpace[eta_index]; | |
61 | } | |
62 | ||
63 | #endif |