UpdateRowPointer is now static function in memhandler.
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughTransformer.h
CommitLineData
4de874d1 1#ifndef ALIL3_HOUGHTRANSFORMER
2#define ALIL3_HOUGHTRANSFORMER
3
4#include "AliL3RootTypes.h"
5
4de874d1 6class AliL3Transform;
99e7186b 7class AliL3Histogram;
4cafa5fc 8class AliL3DigitRowData;
4de874d1 9
10class AliL3HoughTransformer : public TObject {
11
12 private:
13
99e7186b 14 Int_t fSlice;
15 Int_t fPatch;
16 Int_t fNEtaSegments;
17 Double_t fEtaMin;
18 Double_t fEtaMax;
19 Int_t fThreshold;
4de874d1 20 AliL3Transform *fTransform; //!
99e7186b 21
4fc9a6a4 22 //Pointers to histograms
99e7186b 23 AliL3Histogram **fParamSpace; //!
4de874d1 24
99e7186b 25 //Data pointers
26 UInt_t fNDigitRowData;
4cafa5fc 27 AliL3DigitRowData *fDigitRowData; //!
4de874d1 28
99e7186b 29 void DeleteHistograms();
4de874d1 30
31 public:
32 AliL3HoughTransformer();
99e7186b 33 AliL3HoughTransformer(Int_t slice,Int_t patch,Int_t n_eta_segments);
4de874d1 34 virtual ~AliL3HoughTransformer();
99e7186b 35
4cafa5fc 36 void SetInputData(UInt_t ndigits,AliL3DigitRowData *ptr);
e26acabd 37 void CreateHistograms(Int_t nxbin,Double_t ptmin,Int_t nybin,Double_t phimin,Double_t phimax);
4fc9a6a4 38 void CreateHistograms(Int_t nxbin=64,Double_t xmin=-0.006,Double_t xmax=0.006,
39 Int_t nybin=64,Double_t ymin=-0.26,Double_t ymax=0.26);
e26acabd 40 void Reset();
4fc9a6a4 41 void TransformCircle();
42 void TransformLine();
43
44 //Getters
99e7186b 45 Int_t GetSlice() {return fSlice;}
46 Int_t GetPatch() {return fPatch;}
47 Int_t GetNEtaSegments() {return fNEtaSegments;}
4fc9a6a4 48 Int_t GetThreshold() {return fThreshold;}
99e7186b 49 Double_t GetEtaMin() {return fEtaMin;}
50 Double_t GetEtaMax() {return fEtaMax;}
51 void *GetDataPointer() {return (void*)fDigitRowData;}
52 AliL3Histogram *GetHistogram(Int_t eta_index);
4fc9a6a4 53
54 //setters
55 void SetThreshold(Int_t i) {fThreshold = i;}
99e7186b 56
4de874d1 57 ClassDef(AliL3HoughTransformer,1)
58
59};
60
99e7186b 61inline AliL3Histogram *AliL3HoughTransformer::GetHistogram(Int_t eta_index)
62{
63 if(!fParamSpace || eta_index >= fNEtaSegments)
64 return 0;
65 if(!fParamSpace[eta_index])
66 return 0;
67 return fParamSpace[eta_index];
68}
69
4de874d1 70#endif