This commit was generated by cvs2svn to compensate for changes in r3174,
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughTransformer.h
CommitLineData
4de874d1 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 *nextPhiRowPixel;
13 AliL3Digits *nextRowPixel;
14};
15
16struct AliL3HoughContainer
17{
18 void *first;
19 void *last;
20};
21
22class TH2F;
23class AliL3Transform;
24class AliL3HoughEvaluate;
25class AliL3TrackArray;
26
27class AliL3HoughTransformer : public TObject {
28
29 private:
30
31 friend class AliL3HoughEval;
32
33 AliL3Transform *fTransform; //!
34
35 Int_t fNPhiSegments; //Number of patches in phi.
36 Float_t fEtaMin;
37 Float_t fEtaMax;
38 Int_t fNumEtaSegments;
39 Int_t fNumOfPadRows;
40
41 AliL3HoughContainer *fRowContainer; //!
42 AliL3HoughContainer *fPhiRowContainer; //!
43 Int_t fContainerBounds;
44 Int_t fNDigits;
45 Int_t **fIndex; //!
46
47
48 Int_t fSlice;
49 Int_t fPatch;
50
51 public:
52 AliL3HoughTransformer();
53 AliL3HoughTransformer(Int_t slice,Int_t patch,Float_t *etarange,Int_t phi_segments);
54 virtual ~AliL3HoughTransformer();
55
56 void Transform2Circle(TH2F *hist,Int_t middle_row);
57 void Transform2Circle(TH2F *hist);
58 void Transform2Line(TH2F *hist,Int_t ref_row,Int_t *rowrange,Double_t *phirange,TH2F *raw=0);
59 void TransformLines2Circle(TH2F *hist,AliL3TrackArray *tracks);
60 void GetPixels(Char_t *rootfile,TH2F *hist=0);
61 void InitTemplates(TH2F *hist);
62 void CountBins();
63
64 ClassDef(AliL3HoughTransformer,1)
65
66};
67
68#endif