]>
Commit | Line | Data |
---|---|---|
b46b53c1 | 1 | #ifndef ALIL3_HOUGHTRANSFORMERVHDL |
2 | #define ALIL3_HOUGHTRANSFORMERVDHL | |
3 | ||
4 | #include "AliL3RootTypes.h" | |
5 | #include "AliL3HoughBaseTransformer.h" | |
6173606e | 6 | #include "AliL3FFloat.h" |
6173606e | 7 | |
b46b53c1 | 8 | class AliL3Histogram; |
9 | ||
6173606e | 10 | class AliL3HoughTransformerVhdl : public AliL3HoughBaseTransformer |
11 | { | |
12 | ||
b46b53c1 | 13 | private: |
6173606e | 14 | |
b46b53c1 | 15 | AliL3Histogram **fParamSpace; //! |
e6cdf93b | 16 | |
6173606e | 17 | #ifdef VHDLVERSION |
18 | Int_t fMinRow; | |
19 | Int_t fMaxRow; | |
20 | Int_t fNRows; | |
21 | Int_t fNEtas; | |
22 | Int_t fNPhi0; | |
23 | Int_t fSector; | |
24 | Int_t fSectorRow; | |
25 | Int_t fZSign; | |
26 | AliL3FFloat fZLengthPlusOff; | |
27 | AliL3FFloat fTimeWidth; | |
28 | AliL3FFloat fPadPitch; | |
29 | AliL3FFloat fEtaSlice; | |
30 | ||
31 | //VESTBO: Here is the problem: it seems that | |
32 | //values into the arrays somehow overwrite | |
33 | //other data member. And that even in the | |
34 | //static version, where I dont use heap!!! | |
35 | #ifdef VHDLSTATIC | |
e6cdf93b | 36 | /* |
37 | AliL3FFloat fLUTX[32]; | |
38 | AliL3FFloat fLUTY[32]; | |
39 | AliL3FFloat fLUTEta[256]; | |
40 | AliL3FFloat fLUTphi0[256]; | |
41 | AliL3FFloat fLUT2sinphi0[256]; | |
42 | AliL3FFloat fLUT2cosphi0[256]; | |
43 | */ | |
6173606e | 44 | #else |
45 | AliL3FFloat *fLUTX; //! | |
46 | AliL3FFloat *fLUTY; //! | |
47 | AliL3FFloat *fLUTEta; //! | |
48 | AliL3FFloat *fLUTphi0; //! | |
49 | AliL3FFloat *fLUT2sinphi0; //! | |
50 | AliL3FFloat *fLUT2cosphi0; //! | |
51 | #endif | |
e6cdf93b | 52 | |
53 | ||
54 | #if 0 | |
6173606e | 55 | Float_t CalcRoverZ2(Float_t eta); |
56 | Float_t CalcEta(Float_t roverz2); | |
57 | Float_t CalcX(Int_t row); | |
58 | Float_t CalcY(Int_t pad, Int_t row); | |
59 | Float_t CalcZ(Int_t time); | |
60 | ||
61 | Int_t FindIndex(Double_t rz2); | |
e6cdf93b | 62 | #endif |
6173606e | 63 | #endif |
b46b53c1 | 64 | void DeleteHistograms(); |
65 | ||
66 | public: | |
6173606e | 67 | |
b46b53c1 | 68 | AliL3HoughTransformerVhdl(); |
69 | AliL3HoughTransformerVhdl(Int_t slice,Int_t patch,Int_t n_eta_segments); | |
70 | virtual ~AliL3HoughTransformerVhdl(); | |
6173606e | 71 | |
b46b53c1 | 72 | void CreateHistograms(Int_t nxbin,Double_t ptmin,Int_t nybin,Double_t phimin,Double_t phimax); |
73 | void CreateHistograms(Int_t nxbin,Double_t xmin,Double_t xmax, | |
74 | Int_t nybin,Double_t ymin,Double_t ymax); | |
75 | void Reset(); | |
76 | void TransformCircle(); | |
e6cdf93b | 77 | void TransformCircleC(Int_t row_range) {STDCERR<<"TransformCircleC is not defined!"<<STDENDL;} |
78 | void TransformLine() {STDCERR<<"TransformLine is not defined!"<<STDENDL;} | |
b46b53c1 | 79 | |
80 | Int_t GetEtaIndex(Double_t eta); | |
81 | AliL3Histogram *GetHistogram(Int_t eta_index); | |
afd8fed4 | 82 | Double_t GetEta(Int_t eta_index,Int_t slice); |
6173606e | 83 | |
84 | #ifdef VHDLVERSION | |
85 | void Print(); | |
86 | void Init(Int_t slice=0,Int_t patch=0,Int_t n_eta_segments=100); | |
87 | #endif | |
b46b53c1 | 88 | |
89 | ClassDef(AliL3HoughTransformerVhdl,1) //Normal Hough transformation class | |
90 | ||
91 | }; | |
92 | ||
b46b53c1 | 93 | #endif |
94 | ||
95 | ||
96 | ||
97 | ||
6173606e | 98 | |
99 |