#ifndef ALIL3_HOUGHTRANSFORMER #define ALIL3_HOUGHTRANSFORMER #include "AliL3RootTypes.h" #include "AliL3HoughBaseTransformer.h" class AliL3Histogram; class AliL3HoughTransformer : public AliL3HoughBaseTransformer { private: AliL3Histogram **fParamSpace; //! void DeleteHistograms(); public: AliL3HoughTransformer(); AliL3HoughTransformer(Int_t slice,Int_t patch,Int_t n_eta_segments); virtual ~AliL3HoughTransformer(); void CreateHistograms(Int_t nxbin,Double_t ptmin,Int_t nybin,Double_t phimin,Double_t phimax); void CreateHistograms(Int_t nxbin,Double_t xmin,Double_t xmax, Int_t nybin,Double_t ymin,Double_t ymax); void Reset(); void TransformCircle(); void TransformCircleC(Int_t row_range); void TransformLine(); Int_t GetEtaIndex(Double_t eta); AliL3Histogram *GetHistogram(Int_t eta_index); ClassDef(AliL3HoughTransformer,1) //Normal Hough transformation class }; inline AliL3Histogram *AliL3HoughTransformer::GetHistogram(Int_t eta_index) { if(!fParamSpace || eta_index >= GetNEtaSegments() || eta_index < 0) return 0; if(!fParamSpace[eta_index]) return 0; return fParamSpace[eta_index]; } #endif