25 #ifndef ROOT_Math_WrappedFunction
26 #define ROOT_Math_WrappedFunction
28 #ifndef ROOT_Math_IFunction
57 template<
typename Func = FreeFunctionPtr >
107 template<
typename FuncObj,
typename MemFuncPtr >
155 template<
typename Func = FreeMultiFunctionPtr >
182 virtual double DoEval (
const double *
x)
const {
194 template<
typename FuncObj,
typename MemFuncPtr >
221 virtual double DoEval (
const double *
x)
const {
239 #endif // ROOT_Math_WrappedFunction
WrappedMemMultiFunction * Clone() const
clone (required by the interface)
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
Namespace for new ROOT classes and functions.
WrappedMemFunction(FuncObj &obj, MemFuncPtr memFn)
construct from the pointer to the object and the member function
virtual double DoEval(const double *x) const
Implementation of the evaluation function.
WrappedMultiFunction(Func f, unsigned int dim=1)
construct from the pointer to the object and the member function
WrappedFunction * Clone() const
clone (required by the interface)
unsigned int NDim() const
Retrieve the dimension of the function.
double(* FreeFunctionPtr)(double)
Template class to wrap any C++ callable object which takes one argument i.e.
WrappedMemFunction * Clone() const
clone (required by the interface)
IParamFunction interface (abstract class) describing multi-dimensional parameteric functions It is a ...
WrappedFunction(Func f)
construct from the pointer to the object and the member function
unsigned int NDim() const
Retrieve the dimension of the function.
virtual double DoEval(double x) const
implementation of the evaluation function. Must be implemented by derived classes ...
virtual double DoEval(const double *x) const
Implementation of the evaluation function.
Template class to wrap any C++ callable object implementing operator() (const double * x) in a multi-...
Namespace for new Math classes and functions.
WrappedMemMultiFunction(FuncObj &obj, MemFuncPtr memFn, unsigned int dim=1)
construct from the pointer to the object and the member function
virtual double DoEval(double x) const
implementation of the evaluation function. Must be implemented by derived classes ...
WrappedMultiFunction * Clone() const
clone (required by the interface)
double(* FreeMultiFunctionPtr)(const double *)
Documentation for the abstract class IBaseFunctionMultiDim.
Template class to wrap any member function of a class taking a double and returning a double in a 1D ...