]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/hough/AliL3HoughBaseTransformer.h
Fix for StandAlone version.
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughBaseTransformer.h
CommitLineData
3e87ef69 1// @(#) $Id$
2
c52cf5d8 3#ifndef ALIL3_HOUGHBASETRANSFORMER
4#define ALIL3_HOUGHBASETRANSFORMER
5
6#include "AliL3RootTypes.h"
7
1eef4efc 8#ifdef do_mc
e81ffe36 9const UInt_t MaxTrack=120;
1eef4efc 10struct TrackIndex {
11 Int_t fLabel[MaxTrack];
0bd0c1ef 12 UChar_t fNHits[MaxTrack];
13 UChar_t fCurrentRow[MaxTrack];
1eef4efc 14};
15typedef struct TrackIndex TrackIndex;
16#endif
17
c52cf5d8 18class AliL3DigitRowData;
19class AliL3Histogram;
20
21class AliL3HoughBaseTransformer {
22
23 private:
24
25 Int_t fSlice;
26 Int_t fPatch;
27 Int_t fNEtaSegments;
28 Double_t fEtaMin;
29 Double_t fEtaMax;
3bb06991 30 Int_t fLowerThreshold;
31 Int_t fUpperThreshold;
c52cf5d8 32
33 AliL3DigitRowData *fDigitRowData; //!
0bd0c1ef 34
35 Float_t fZVertex;
36
c52cf5d8 37 public:
e06900d5 38
c52cf5d8 39 AliL3HoughBaseTransformer();
0bd0c1ef 40 AliL3HoughBaseTransformer(Int_t slice,Int_t patch,Int_t n_eta_segments,Float_t zvertex=0.0);
c52cf5d8 41 virtual ~AliL3HoughBaseTransformer();
42
0615a438 43 void SetInputData(UInt_t /*ndigits*/,AliL3DigitRowData *ptr) {fDigitRowData = ptr;}
c52cf5d8 44
1f1942b8 45 //this is for adaptave histograms
dd7d3870 46 virtual void CreateHistograms(Float_t /*ptmin*/,Float_t /*ptmax*/,Float_t /*pres*/,Int_t /*nybin*/,Float_t /*psi*/)
1f1942b8 47 {STDCERR<<"Adaptive histograms are not supported for this Transformer!"<<STDENDL;}
48
b2a02bce 49 virtual void CreateHistograms(Int_t nxbin,Float_t ptmin,Int_t nybin,Float_t phimin,Float_t phimax) = 0;
50 virtual void CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,Int_t nybin,Float_t ymin,Float_t ymax) = 0;
1f1942b8 51
c52cf5d8 52 virtual void Reset() = 0;
1f1942b8 53 virtual void TransformCircle()
54 {STDCERR<<"TransformCircle is not defined for this transformer!"<<STDENDL;}
dd7d3870 55 virtual void TransformCircle(Int_t */*row_range*/,Int_t /*every*/)
1f1942b8 56 {STDCERR<<"TransformCircle is not defined for this transformer!"<<STDENDL;}
dd7d3870 57 virtual void TransformCircleC(Int_t */*row_range*/,Int_t /*every*/)
1f1942b8 58 {STDCERR<<"TransformCircleC is not defined for this transformer!"<<STDENDL;}
dd7d3870 59 virtual void TransformLine(Int_t */*rowrange*/=0,Float_t */*phirange*/=0)
1f1942b8 60 {STDCERR<<"TransformLine is not defined for this Transformer!"<<STDENDL;}
dd7d3870 61 virtual void TransformLineC(Int_t */*rowrange*/,Float_t */*phirange*/)
1f1942b8 62 {STDCERR<<"TransformLineC is not defined for this Transformer!"<<STDENDL;}
63
c52cf5d8 64 //Getters
65 Int_t GetSlice() {return fSlice;}
66 Int_t GetPatch() {return fPatch;}
1eef4efc 67 Int_t GetNEtaSegments() {return fNEtaSegments;}
3bb06991 68 Int_t GetLowerThreshold() {return fLowerThreshold;}
69 Int_t GetUpperThreshold() {return fUpperThreshold;}
1eef4efc 70 Double_t GetEtaMin() {return fEtaMin;}
71 Double_t GetEtaMax() {return fEtaMax;}
0bd0c1ef 72 Float_t GetZVertex() {return fZVertex;}
73
c52cf5d8 74 AliL3DigitRowData *GetDataPointer() {return fDigitRowData;}
75
76 virtual Int_t GetEtaIndex(Double_t eta) = 0;
dd7d3870 77 virtual void GetEtaIndexes(Double_t /*eta*/,Int_t */*indexes*/)
1f1942b8 78 {STDCERR<<"GetEtaIndexes not implemented for this Transformer class"<<STDENDL;}
c52cf5d8 79 virtual AliL3Histogram *GetHistogram(Int_t eta_index) = 0;
afd8fed4 80 virtual Double_t GetEta(Int_t eta_index,Int_t slice) = 0;
1f1942b8 81
dd7d3870 82 virtual Int_t GetTrackID(Int_t /*eta_index*/,Double_t /*kappa*/,Double_t /*psi*/){
1f1942b8 83 STDCERR<<"GetTrackID not implemented for this Transformer class"<<STDENDL;
84 return -1;
85 }
1eef4efc 86
c52cf5d8 87 //setters
3e87ef69 88 virtual void Init(Int_t slice=0,Int_t patch=0,Int_t n_eta_segments=100,Int_t n_segs=-1);
3bb06991 89 void SetLowerThreshold(Int_t i) {fLowerThreshold = i;}
90 void SetUpperThreshold(Int_t i) {fUpperThreshold = i;}
c52cf5d8 91
65ca0c00 92 virtual void Print(){};
93
c52cf5d8 94 ClassDef(AliL3HoughBaseTransformer,1) //Hough transformation base class
95
96};
97
98
99#endif
65ca0c00 100