25 #ifndef ROOT_Math_WrappedFunction 26 #define ROOT_Math_WrappedFunction 55 template<
typename Func = FreeFunctionPtr >
105 template<
typename FuncObj,
typename MemFuncPtr >
130 return ((*fObj).*fMemFunc)(
x );
153 template<
typename Func = FreeMultiFunctionPtr >
174 unsigned int NDim()
const {
return fDim; }
180 virtual double DoEval (
const double *
x)
const {
192 template<
typename FuncObj,
typename MemFuncPtr >
215 unsigned int NDim()
const {
return fDim; }
219 virtual double DoEval (
const double *
x)
const {
220 return ((*fObj).*fMemFunc)(
x );
237 #endif // ROOT_Math_WrappedFunction virtual double DoEval(const double *x) const
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
Namespace for new ROOT classes and functions.
virtual double DoEval(double x) const
implementation of the evaluation function. Must be implemented by derived classes ...
WrappedMemFunction(FuncObj &obj, MemFuncPtr memFn)
construct from the pointer to the object and the member function
WrappedMultiFunction(Func f, unsigned int dim=1)
construct from the pointer to the object and the member function
double(* FreeFunctionPtr)(double)
Template class to wrap any C++ callable object which takes one argument i.e.
WrappedMultiFunction * Clone() const
clone (required by the interface)
virtual double DoEval(double x) const
implementation of the evaluation function. Must be implemented by derived classes ...
WrappedMemFunction * Clone() const
clone (required by the interface)
Documentation for the abstract class IBaseFunctionMultiDim.
virtual double DoEval(const double *x) const
WrappedFunction(Func f)
construct from the pointer to the object and the member function
unsigned int NDim() const
Retrieve the dimension of the 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
WrappedFunction * Clone() const
clone (required by the interface)
WrappedMemMultiFunction * Clone() const
clone (required by the interface)
double(* FreeMultiFunctionPtr)(const double *)
unsigned int NDim() const
Retrieve the dimension of the function.
Template class to wrap any member function of a class taking a double and returning a double in a 1D ...