#ifndef ALIL3_HOUGHTRANSFORMERLUT #define ALIL3_HOUGHTRANSFORMERLUT #include "AliL3RootTypes.h" #include "AliL3HoughBaseTransformer.h" class AliL3Histogram; class AliL3HoughTransformerLUT : public AliL3HoughBaseTransformer { protected: AliL3Histogram **fParamSpace; //! #ifdef do_mc TrackIndex **fTrackID; //! #endif Bool_t fDoMC; void DeleteHistograms(); Int_t fMinRow; Int_t fMaxRow; Int_t fNRows; Int_t fNEtas; Int_t fNPhi0; Int_t fSlice; Int_t fSector; Int_t fSectorRow; Int_t fZSign; Float_t fZLengthPlusOff; Float_t fTimeWidth; Float_t fPadPitch; Float_t fEtaSlice; Float_t *fLUTX; //! Float_t *fLUTY; //! Float_t *fLUTEta; //! Float_t *fLUTphi0; //! Float_t *fLUT2sinphi0; //! Float_t *fLUT2cosphi0; //! Float_t CalcRoverZ2(Float_t eta); Float_t CalcEta(Float_t roverz2); Float_t CalcX(Int_t row); Float_t CalcY(Int_t pad, Int_t row); Float_t CalcZ(Int_t time); Int_t FindIndex(Float_t rz2); public: AliL3HoughTransformerLUT(); AliL3HoughTransformerLUT(Int_t slice,Int_t patch,Int_t n_eta_segments); virtual ~AliL3HoughTransformerLUT(); 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){STDCERR<<"TransformCircleC is not defined for this transformer!"<