Made a new abstract base class; AliL3HoughBaseTransformer for different implementations
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughTransformer.h
CommitLineData
4de874d1 1#ifndef ALIL3_HOUGHTRANSFORMER
2#define ALIL3_HOUGHTRANSFORMER
3
4#include "AliL3RootTypes.h"
c52cf5d8 5#include "AliL3HoughBaseTransformer.h"
4de874d1 6
99e7186b 7class AliL3Histogram;
4de874d1 8
c52cf5d8 9class AliL3HoughTransformer : public AliL3HoughBaseTransformer {
4de874d1 10
11 private:
99e7186b 12
99e7186b 13 AliL3Histogram **fParamSpace; //!
99e7186b 14 void DeleteHistograms();
4de874d1 15
16 public:
17 AliL3HoughTransformer();
99e7186b 18 AliL3HoughTransformer(Int_t slice,Int_t patch,Int_t n_eta_segments);
4de874d1 19 virtual ~AliL3HoughTransformer();
99e7186b 20
e26acabd 21 void CreateHistograms(Int_t nxbin,Double_t ptmin,Int_t nybin,Double_t phimin,Double_t phimax);
3ef466c5 22 void CreateHistograms(Int_t nxbin,Double_t xmin,Double_t xmax,
23 Int_t nybin,Double_t ymin,Double_t ymax);
e26acabd 24 void Reset();
4fc9a6a4 25 void TransformCircle();
3ef466c5 26 void TransformCircleC(Int_t row_range);
4fc9a6a4 27 void TransformLine();
28
c52cf5d8 29 Int_t GetEtaIndex(Double_t eta);
99e7186b 30 AliL3Histogram *GetHistogram(Int_t eta_index);
4fc9a6a4 31
99e7186b 32
b1886074 33 ClassDef(AliL3HoughTransformer,1) //Hough transformation class
4de874d1 34
35};
36
99e7186b 37inline AliL3Histogram *AliL3HoughTransformer::GetHistogram(Int_t eta_index)
38{
c52cf5d8 39 if(!fParamSpace || eta_index >= GetNEtaSegments() || eta_index < 0)
99e7186b 40 return 0;
41 if(!fParamSpace[eta_index])
42 return 0;
43 return fParamSpace[eta_index];
44}
45
4de874d1 46#endif