13#ifndef ROOT_Math_MultiDimParamFunctionAdapter
14#define ROOT_Math_MultiDimParamFunctionAdapter
118 return fFunc->Parameters();
123 fFunc->SetParameters(p);
126 unsigned int NPar()
const override
128 return fFunc->NPar();
131 unsigned int NDim()
const override
140 double DoEvalPar(
const double *
x,
const double *p)
const override
249 return fFunc->Parameters();
254 fFunc->SetParameters(p);
257 unsigned int NPar()
const override
259 return fFunc->NPar();
262 unsigned int NDim()
const override
273 fFunc->ParameterGradient(*
x, p, grad);
281 double DoEvalPar(
const double *
x,
const double *p)
const override
292 return fFunc->ParameterDerivative(*
x, p, ipar);
IParamFunction interface (abstract class) describing multi-dimensional parametric functions It is a d...
IBaseFunctionMultiDimTempl< double > BaseFunc
typename IParametricFunctionMultiDimTempl< double >::BaseFunc BaseFunc
IParamMultiFunction::BaseFunc BaseFunc
MultiDimParamFunctionAdapter & operator=(const MultiDimParamFunctionAdapter &rhs)
Assignment operator.
MultiDimParamFunctionAdapter(const MultiDimParamFunctionAdapter &rhs)
Copy constructor.
MultiDimParamFunctionAdapter(const IParamFunction &f)
Constructor from a parametric one dim function interface from a const reference Own the function in t...
double DoEvalPar(const double *x, const double *p) const override
needed by the interface
const double * Parameters() const override
Access the parameter values.
MultiDimParamFunctionAdapter(IParamFunction &f)
Constructor from a parametric one dim function interface from a non-const reference Do not own the fu...
BaseFunc * Clone() const override
clone
void SetParameters(const double *p) override
Set the parameter values.
unsigned int NPar() const override
Return the number of Parameters.
unsigned int NDim() const override
Retrieve the dimension of the function.
~MultiDimParamFunctionAdapter() override
Destructor (no operations).
MultiDimParamGradFunctionAdapter(IParamGradFunction &f)
Constructor from a param one dim function interface from a non const reference Do not own the functio...
unsigned int NDim() const override
Retrieve the dimension of the function.
BaseFunc * Clone() const override
clone
double DoParameterDerivative(const double *x, const double *p, unsigned int ipar) const override
Evaluate the partial derivative w.r.t a parameter ipar , to be implemented by the derived classes.
double DoEvalPar(const double *x, const double *p) const override
functions needed by interface
IParamMultiGradFunction::BaseFunc BaseFunc
const double * Parameters() const override
Access the parameter values.
IParamGradFunction * fFunc
MultiDimParamGradFunctionAdapter(const IParamGradFunction &f)
Constructor from a param one dim function interface from a const reference Copy and manage the own fu...
void ParameterGradient(const double *x, const double *p, double *grad) const override
Evaluate the all the derivatives (gradient vector) of the function with respect to the parameters at ...
unsigned int NPar() const override
Return the number of Parameters.
~MultiDimParamGradFunctionAdapter() override
Destructor (no operations).
void SetParameters(const double *p) override
Set the parameter values.
MultiDimParamGradFunctionAdapter(const MultiDimParamGradFunctionAdapter &rhs)
Copy constructor.
MultiDimParamGradFunctionAdapter & operator=(const MultiDimParamGradFunctionAdapter &rhs)
Assignment operator.
IParametricFunctionOneDim IParamFunction
IParametricGradFunctionOneDim IParamGradFunction
IParametricFunctionMultiDim IParamMultiFunction
IParametricGradFunctionMultiDim IParamMultiGradFunction