#ifndef PNDTPCCLUSTERFITLIKELI_HH #define PNDTPCCLUSTERFITLIKELI_HH 1 // Base Class Headers ---------------- #include "Math/IFunction.h" #include #include class TpcPRLookupTable; class TpcClusterFitLikeli : public ROOT::Math::IBaseFunctionMultiDim { public: // Constructors/Destructors --------- TpcClusterFitLikeli(){} TpcClusterFitLikeli(unsigned int nsigmaSteps, double sigmaMin, double sigmaMax, double irange, double step, double intStep); virtual ~TpcClusterFitLikeli(){} // Accessors ----------------------- /// x,y,sig_x,sig_y, Amp of charge cloud virtual unsigned int NDim() const {return 5;} // Modifiers ----------------------- void init(const std::vector* digis, const std::vector* amps){}// {fdigis=digis;famps=amps;} // Operations ---------------------- virtual double DoEval(const double* par) const; virtual ROOT::Math::IBaseFunctionMultiDim* Clone() const {return new TpcClusterFitLikeli(*this);} private: const std::vector* fdigis; const std::vector* famps; std::vector* > flookUp; // lookuptables std::vector fSigmas; // double fnSigmaSteps; double fsigMin; double fsigMax; double PRF(double x, double y,double sigma, unsigned int padShapeID); }; #endif