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 106 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 | |
IBaseFunctionOneDim () | |
virtual | ~IBaseFunctionOneDim () |
virtual destructor | |
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 Use the a pure virtual private method DoEval which must be implemented by sub-classes. | |
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 114 of file WrappedFunction.h.
|
inlineoverridevirtual |
clone (required by the interface)
Implements ROOT::Math::IBaseFunctionOneDim.
Definition at line 122 of file WrappedFunction.h.
|
inlineoverrideprivatevirtual |
implementation of the evaluation function. Must be implemented by derived classes
Implements ROOT::Math::IBaseFunctionOneDim.
Definition at line 129 of file WrappedFunction.h.
|
private |
Definition at line 135 of file WrappedFunction.h.
|
private |
Definition at line 134 of file WrappedFunction.h.