]>
Commit | Line | Data |
---|---|---|
4de874d1 | 1 | #ifndef ALIL3_HOUGHTRANSFORMER |
2 | #define ALIL3_HOUGHTRANSFORMER | |
3 | ||
4 | #include "AliL3RootTypes.h" | |
5 | ||
6 | struct AliL3Digits | |
7 | { | |
8 | UShort_t fCharge; | |
9 | UChar_t fPad; | |
10 | UShort_t fTime; | |
11 | Int_t fIndex; | |
52a2a604 | 12 | AliL3Digits *fNextVolumePixel; |
13 | //AliL3Digits *nextPhiRowPixel; | |
4de874d1 | 14 | AliL3Digits *nextRowPixel; |
15 | }; | |
16 | ||
17 | struct AliL3HoughContainer | |
18 | { | |
19 | void *first; | |
20 | void *last; | |
21 | }; | |
22 | ||
4cafa5fc | 23 | |
24 | ||
25 | class AliL3Histogram; | |
4de874d1 | 26 | class AliL3Transform; |
27 | class AliL3HoughEvaluate; | |
28 | class AliL3TrackArray; | |
4cafa5fc | 29 | class AliL3DigitRowData; |
4de874d1 | 30 | |
31 | class AliL3HoughTransformer : public TObject { | |
32 | ||
33 | private: | |
34 | ||
35 | friend class AliL3HoughEval; | |
36 | ||
37 | AliL3Transform *fTransform; //! | |
38 | ||
39 | Int_t fNPhiSegments; //Number of patches in phi. | |
40 | Float_t fEtaMin; | |
41 | Float_t fEtaMax; | |
42 | Int_t fNumEtaSegments; | |
43 | Int_t fNumOfPadRows; | |
4cafa5fc | 44 | Int_t fNRowsInPatch; |
45 | Int_t fBinTableBounds; | |
46 | ||
47 | UInt_t fNDigitRowData; //! | |
48 | AliL3DigitRowData *fDigitRowData; //! | |
4de874d1 | 49 | |
50 | AliL3HoughContainer *fRowContainer; //! | |
51 | AliL3HoughContainer *fPhiRowContainer; //! | |
52a2a604 | 52 | AliL3HoughContainer *fVolume; //! |
4cafa5fc | 53 | |
4de874d1 | 54 | Int_t fContainerBounds; |
55 | Int_t fNDigits; | |
4cafa5fc | 56 | Int_t **fBinTable; //! |
57 | Int_t *fEtaIndex; //! | |
58 | UChar_t **fTrackTable; //! | |
59 | AliL3Histogram *fHistoPt; | |
4de874d1 | 60 | |
61 | Int_t fSlice; | |
62 | Int_t fPatch; | |
63 | ||
64 | public: | |
65 | AliL3HoughTransformer(); | |
52a2a604 | 66 | AliL3HoughTransformer(Int_t slice,Int_t patch,Float_t *etarange); |
67 | AliL3HoughTransformer(Int_t slice,Int_t patch,Double_t *etarange=0,Int_t n_eta_segments=1); | |
4de874d1 | 68 | virtual ~AliL3HoughTransformer(); |
4de874d1 | 69 | |
4cafa5fc | 70 | void InitTables(); |
71 | void TransformTables(AliL3Histogram **histos,AliL3Histogram **images=0); | |
72 | void SetInputData(UInt_t ndigits,AliL3DigitRowData *ptr); | |
73 | void WriteTables(); | |
74 | void SetHistogram(AliL3Histogram *hist) {fHistoPt = hist;} | |
75 | /* | |
76 | void Transform2Circle(TH2F *hist,Int_t eta_index); | |
77 | void Transform2Circle(TH2F **histos,Int_t n_eta_segments,UInt_t ndigits,AliL3DigitRowData *ptr); | |
78 | void Transform2Line(TH2F *hist,Int_t ref_row,Int_t *rowrange,Double_t *phirange,TH2F *raw=0); | |
79 | void TransformLines2Circle(TH2F *hist,AliL3TrackArray *tracks); | |
80 | void GetPixels(Char_t *rootfile,TH2F *hist=0); | |
81 | void InitTemplates(TH2F *hist); | |
82 | */ | |
4de874d1 | 83 | ClassDef(AliL3HoughTransformer,1) |
84 | ||
85 | }; | |
86 | ||
87 | #endif |