Template class to wrap any member function of a class taking a double and returning a double in a 1D function interface For example, if you have a class like: struct X { double Eval(double x); }; you can wrapped in the following way: WrappedMemFunction<X, double ( X::* ) (double) > f;.
Definition at line 95 of file WrappedFunction.h.
Public Member Functions | |
WrappedMemFunction (FuncObj &obj, MemFuncPtr memFn) | |
construct from the pointer to the object and the member function | |
WrappedMemFunction * | Clone () const override |
clone (required by the interface) | |
Public Member Functions inherited from ROOT::Math::IBaseFunctionOneDim | |
virtual | ~IBaseFunctionOneDim ()=default |
virtual bool | HasGradient () const |
double | operator() (const double *x) const |
Evaluate the function at a point x[]. | |
double | operator() (double x) const |
Evaluate the function at a point x. | |
Private Member Functions | |
double | DoEval (double x) const override |
implementation of the evaluation function. Must be implemented by derived classes | |
Private Attributes | |
MemFuncPtr | fMemFunc |
FuncObj * | fObj |
Additional Inherited Members | |
Public Types inherited from ROOT::Math::IBaseFunctionOneDim | |
typedef IBaseFunctionOneDim | BaseFunc |
#include <Math/WrappedFunction.h>
|
inline |
construct from the pointer to the object and the member function
Definition at line 103 of file WrappedFunction.h.
|
inlineoverridevirtual |
clone (required by the interface)
Implements ROOT::Math::IBaseFunctionOneDim.
Definition at line 111 of file WrappedFunction.h.
|
inlineoverrideprivatevirtual |
implementation of the evaluation function. Must be implemented by derived classes
Implements ROOT::Math::IBaseFunctionOneDim.
Definition at line 118 of file WrappedFunction.h.
|
private |
Definition at line 124 of file WrappedFunction.h.
|
private |
Definition at line 123 of file WrappedFunction.h.