]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - HLT/hough/AliL3HoughTransformer.h
Bugfix in previous commitment
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughTransformer.h
... / ...
CommitLineData
1#ifndef ALIL3_HOUGHTRANSFORMER
2#define ALIL3_HOUGHTRANSFORMER
3
4#include "AliL3RootTypes.h"
5
6struct AliL3Digits
7{
8 UShort_t fCharge;
9 UChar_t fPad;
10 UShort_t fTime;
11 Int_t fIndex;
12 AliL3Digits *fNextVolumePixel;
13 //AliL3Digits *nextPhiRowPixel;
14 AliL3Digits *nextRowPixel;
15};
16
17struct AliL3HoughContainer
18{
19 void *first;
20 void *last;
21};
22
23
24
25class AliL3Histogram;
26class AliL3Transform;
27class AliL3HoughEvaluate;
28class AliL3TrackArray;
29class AliL3DigitRowData;
30
31class 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;
44 Int_t fNRowsInPatch;
45 Int_t fBinTableBounds;
46
47 UInt_t fNDigitRowData; //!
48 AliL3DigitRowData *fDigitRowData; //!
49
50 AliL3HoughContainer *fRowContainer; //!
51 AliL3HoughContainer *fPhiRowContainer; //!
52 AliL3HoughContainer *fVolume; //!
53
54 Int_t fContainerBounds;
55 Int_t fNDigits;
56 Int_t **fBinTable; //!
57 Int_t *fEtaIndex; //!
58 Char_t **fTrackTable; //!
59 AliL3Histogram *fHistoPt;
60
61 Int_t fSlice;
62 Int_t fPatch;
63
64 public:
65 AliL3HoughTransformer();
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=90);
68 virtual ~AliL3HoughTransformer();
69
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 Double_t CpuTime();
76 Int_t GetNumEtaSegments() {return fNumEtaSegments;}
77 /*
78 void Transform2Circle(TH2F *hist,Int_t eta_index);
79 void Transform2Circle(TH2F **histos,Int_t n_eta_segments,UInt_t ndigits,AliL3DigitRowData *ptr);
80 void Transform2Line(TH2F *hist,Int_t ref_row,Int_t *rowrange,Double_t *phirange,TH2F *raw=0);
81 void TransformLines2Circle(TH2F *hist,AliL3TrackArray *tracks);
82 void GetPixels(Char_t *rootfile,TH2F *hist=0);
83 void InitTemplates(TH2F *hist);
84 */
85 ClassDef(AliL3HoughTransformer,1)
86
87};
88
89#endif