13#ifndef ROOT_Math_MultiDimParamFunctionAdapter
14#define ROOT_Math_MultiDimParamFunctionAdapter
virtual void SetParameters(const double *p)=0
Set the parameter values.
virtual const double * Parameters() const =0
Access the parameter values.
virtual unsigned int NPar() const =0
Return the number of Parameters.
IParamFunction interface (abstract class) describing multi-dimensional parameteric functions It is a ...
Specialized IParamFunction interface (abstract class) for one-dimensional parametric functions It is ...
Interface (abstract class) for parametric gradient multi-dimensional functions providing in addition ...
typename IParametricFunctionMultiDimTempl< T >::BaseFunc BaseFunc
Interface (abstract class) for parametric one-dimensional gradient functions providing in addition to...
virtual void ParameterGradient(double x, const double *p, double *grad) const
Evaluate the derivatives of the function with respect to the parameters at a point x.
double ParameterDerivative(double x, const double *p, unsigned int ipar=0) const
Partial derivative with respect a parameter.
MultiDimParamFunctionAdapter class to wrap a one-dimensional parametric function in a multi dimension...
const double * Parameters() const
Access the parameter values.
unsigned int NDim() const
Retrieve the dimension of the function.
IParamMultiFunction::BaseFunc BaseFunc
MultiDimParamFunctionAdapter & operator=(const MultiDimParamFunctionAdapter &rhs)
Assignment operator.
virtual BaseFunc * Clone() const
clone
virtual ~MultiDimParamFunctionAdapter()
Destructor (no operations)
void SetParameters(const double *p)
Set the parameter values.
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...
MultiDimParamFunctionAdapter(IParamFunction &f)
Constructor from a parametric one dim function interface from a non-const reference Do not own the fu...
unsigned int NPar() const
Return the number of Parameters.
double DoEvalPar(const double *x, const double *p) const
needed by the interface
MultiDimParamGradFunctionAdapter class to wrap a one-dimensional parametric gradient function in a mu...
MultiDimParamGradFunctionAdapter(IParamGradFunction &f)
Constructor from a param one dim function interface from a non const reference Do not own the functio...
double DoParameterDerivative(const double *x, const double *p, unsigned int ipar) const
IParamMultiGradFunction::BaseFunc BaseFunc
void ParameterGradient(const double *x, const double *p, double *grad) const
IParamGradFunction * fFunc
virtual ~MultiDimParamGradFunctionAdapter()
Destructor (no operations)
MultiDimParamGradFunctionAdapter(const IParamGradFunction &f)
Constructor from a param one dim function interface from a const reference Copy and manage the own fu...
unsigned int NPar() const
Return the number of Parameters.
MultiDimParamGradFunctionAdapter(const MultiDimParamGradFunctionAdapter &rhs)
Copy constructor.
const double * Parameters() const
Access the parameter values.
unsigned int NDim() const
Retrieve the dimension of the function.
void SetParameters(const double *p)
Set the parameter values.
virtual BaseFunc * Clone() const
clone
double DoEvalPar(const double *x, const double *p) const
functions needed by interface
MultiDimParamGradFunctionAdapter & operator=(const MultiDimParamGradFunctionAdapter &rhs)
Assignment operator.
Namespace for new Math classes and functions.