]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/hough/AliL3HoughTransformerLUT.h
Moved this functionaly to a functio in AliL3Transform::MakeInitFile.
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughTransformerLUT.h
CommitLineData
d5d754e5 1#ifndef ALIL3_HOUGHTRANSFORMERLUT
2#define ALIL3_HOUGHTRANSFORMERLUT
3
4#include "AliL3RootTypes.h"
5#include "AliL3HoughBaseTransformer.h"
6
7class AliL3Histogram;
8
9class AliL3HoughTransformerLUT : public AliL3HoughBaseTransformer {
10
11 protected:
12 AliL3Histogram **fParamSpace; //!
13#ifdef do_mc
14 TrackIndex **fTrackID; //!
15#endif
16 Bool_t fDoMC;
17
18 void DeleteHistograms();
19
20 Int_t fMinRow;
21 Int_t fMaxRow;
22 Int_t fNRows;
23 Int_t fNEtas;
24 Int_t fNPhi0;
3bcf971b 25 Int_t fSlice;
d5d754e5 26 Int_t fSector;
27 Int_t fSectorRow;
28 Int_t fZSign;
29 Float_t fZLengthPlusOff;
30 Float_t fTimeWidth;
31 Float_t fPadPitch;
32 Float_t fEtaSlice;
33
34 Float_t *fLUTX; //!
35 Float_t *fLUTY; //!
36 Float_t *fLUTEta; //!
37 Float_t *fLUTphi0; //!
38 Float_t *fLUT2sinphi0; //!
39 Float_t *fLUT2cosphi0; //!
40
41 Float_t CalcRoverZ2(Float_t eta);
42 Float_t CalcEta(Float_t roverz2);
43 Float_t CalcX(Int_t row);
44 Float_t CalcY(Int_t pad, Int_t row);
45 Float_t CalcZ(Int_t time);
46
3bcf971b 47 Int_t FindIndex(Float_t rz2);
d5d754e5 48
49 public:
50
51 AliL3HoughTransformerLUT();
52 AliL3HoughTransformerLUT(Int_t slice,Int_t patch,Int_t n_eta_segments);
53 virtual ~AliL3HoughTransformerLUT();
54
55 void CreateHistograms(Int_t nxbin,Double_t ptmin,Int_t nybin,Double_t phimin,Double_t phimax);
56 void CreateHistograms(Int_t nxbin,Double_t xmin,Double_t xmax,Int_t nybin,Double_t ymin,Double_t ymax);
57 void Reset();
58
59 void TransformCircle();
60 void TransformCircleC(Int_t row_range){STDCERR<<"TransformCircleC is not defined for this transformer!"<<STDENDL;}
61 void TransformLine() {STDCERR<<"TransformLine is not defined for this transformer!"<<STDENDL;}
62
63 Int_t GetEtaIndex(Double_t eta);
64 AliL3Histogram *GetHistogram(Int_t eta_index);
65 Double_t GetEta(Int_t eta_index,Int_t slice);
66 Int_t GetTrackID(Int_t eta_index,Double_t kappa,Double_t psi);
67
68 void Print();
69 void Init(Int_t slice=0,Int_t patch=0,Int_t n_eta_segments=100);
70
71 ClassDef(AliL3HoughTransformerLUT,1) //Normal Hough transformation class
72
73};
74
75#endif
76
77
78
79