29-jun-2001 NvE TrackCopy mode introduced in AliJet.
[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;
52a2a604 12 AliL3Digits *fNextVolumePixel;
13 //AliL3Digits *nextPhiRowPixel;
4de874d1 14 AliL3Digits *nextRowPixel;
15};
16
17struct AliL3HoughContainer
18{
19 void *first;
20 void *last;
21};
22
23class TH2F;
24class AliL3Transform;
25class AliL3HoughEvaluate;
26class AliL3TrackArray;
27
28class AliL3HoughTransformer : public TObject {
29
30 private:
31
32 friend class AliL3HoughEval;
33
34 AliL3Transform *fTransform; //!
35
36 Int_t fNPhiSegments; //Number of patches in phi.
37 Float_t fEtaMin;
38 Float_t fEtaMax;
39 Int_t fNumEtaSegments;
40 Int_t fNumOfPadRows;
41
42 AliL3HoughContainer *fRowContainer; //!
43 AliL3HoughContainer *fPhiRowContainer; //!
52a2a604 44 AliL3HoughContainer *fVolume; //!
4de874d1 45 Int_t fContainerBounds;
46 Int_t fNDigits;
47 Int_t **fIndex; //!
48
49
50 Int_t fSlice;
51 Int_t fPatch;
52
53 public:
54 AliL3HoughTransformer();
52a2a604 55 AliL3HoughTransformer(Int_t slice,Int_t patch,Float_t *etarange);
56 AliL3HoughTransformer(Int_t slice,Int_t patch,Double_t *etarange=0,Int_t n_eta_segments=1);
4de874d1 57 virtual ~AliL3HoughTransformer();
58
52a2a604 59 void Transform2Circle(TH2F *hist,Int_t eta_index);
4de874d1 60 void Transform2Line(TH2F *hist,Int_t ref_row,Int_t *rowrange,Double_t *phirange,TH2F *raw=0);
61 void TransformLines2Circle(TH2F *hist,AliL3TrackArray *tracks);
62 void GetPixels(Char_t *rootfile,TH2F *hist=0);
63 void InitTemplates(TH2F *hist);
64 void CountBins();
65
66 ClassDef(AliL3HoughTransformer,1)
67
68};
69
70#endif