]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/hough/AliL3HoughBaseTransformer.h
Merged version. Bug still remains. New implementation started with AliL3HoughTransfor...
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughBaseTransformer.h
CommitLineData
c52cf5d8 1#ifndef ALIL3_HOUGHBASETRANSFORMER
2#define ALIL3_HOUGHBASETRANSFORMER
3
4#include "AliL3RootTypes.h"
5
1eef4efc 6#ifdef do_mc
7const UInt_t MaxTrack=15;
8struct TrackIndex {
9 Int_t fLabel[MaxTrack];
10 Int_t fNHits[MaxTrack];
11};
12typedef struct TrackIndex TrackIndex;
13#endif
14
c52cf5d8 15class AliL3DigitRowData;
16class AliL3Histogram;
17
18class AliL3HoughBaseTransformer {
19
20 private:
21
22 Int_t fSlice;
23 Int_t fPatch;
24 Int_t fNEtaSegments;
25 Double_t fEtaMin;
26 Double_t fEtaMax;
3bb06991 27 Int_t fLowerThreshold;
28 Int_t fUpperThreshold;
c52cf5d8 29
30 AliL3DigitRowData *fDigitRowData; //!
31
c52cf5d8 32 public:
33 AliL3HoughBaseTransformer();
34 AliL3HoughBaseTransformer(Int_t slice,Int_t patch,Int_t n_eta_segments);
35 virtual ~AliL3HoughBaseTransformer();
36
37 void SetInputData(UInt_t ndigits,AliL3DigitRowData *ptr) {fDigitRowData = ptr;}
38
39 virtual void CreateHistograms(Int_t nxbin,Double_t ptmin,Int_t nybin,Double_t phimin,Double_t phimax) = 0;
40 virtual void CreateHistograms(Int_t nxbin,Double_t xmin,Double_t xmax,Int_t nybin,Double_t ymin,Double_t ymax) = 0;
41 virtual void Reset() = 0;
42 virtual void TransformCircle() = 0;
43 virtual void TransformCircleC(Int_t row_range) = 0;
44 virtual void TransformLine() = 0;
1eef4efc 45
c52cf5d8 46 //Getters
47 Int_t GetSlice() {return fSlice;}
48 Int_t GetPatch() {return fPatch;}
1eef4efc 49 Int_t GetNEtaSegments() {return fNEtaSegments;}
3bb06991 50 Int_t GetLowerThreshold() {return fLowerThreshold;}
51 Int_t GetUpperThreshold() {return fUpperThreshold;}
1eef4efc 52 Double_t GetEtaMin() {return fEtaMin;}
53 Double_t GetEtaMax() {return fEtaMax;}
c52cf5d8 54
55 AliL3DigitRowData *GetDataPointer() {return fDigitRowData;}
56
57 virtual Int_t GetEtaIndex(Double_t eta) = 0;
58 virtual AliL3Histogram *GetHistogram(Int_t eta_index) = 0;
afd8fed4 59 virtual Double_t GetEta(Int_t eta_index,Int_t slice) = 0;
1eef4efc 60 virtual Int_t GetTrackID(Int_t eta_index,Double_t kappa,Double_t psi) {return -1;}
61
c52cf5d8 62 //setters
65ca0c00 63 virtual void Init(Int_t slice=0,Int_t patch=0,Int_t n_eta_segments=100);
3bb06991 64 void SetLowerThreshold(Int_t i) {fLowerThreshold = i;}
65 void SetUpperThreshold(Int_t i) {fUpperThreshold = i;}
c52cf5d8 66
65ca0c00 67 virtual void Print(){};
68
c52cf5d8 69 ClassDef(AliL3HoughBaseTransformer,1) //Hough transformation base class
70
71};
72
73
74#endif
65ca0c00 75