Template class to wrap any C++ callable object which takes one argument i.e.
implementing operator() (double x) in a One-dimensional function interface. It provides a ROOT::Math::IGenFunction-like signature
Note: If you want to wrap just the reference (to avoid copying) you need to use Func& or const Func & as template parameter. The former should be used when the operator() is not a const method of Func
Definition at line 45 of file WrappedFunction.h.
Public Member Functions | |
WrappedFunction (Func f) | |
construct from the pointer to the object and the member function | |
WrappedFunction * | 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 | |
Func | fFunc |
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 53 of file WrappedFunction.h.
|
inlineoverridevirtual |
clone (required by the interface)
Implements ROOT::Math::IBaseFunctionOneDim.
Definition at line 60 of file WrappedFunction.h.
|
inlineoverrideprivatevirtual |
implementation of the evaluation function. Must be implemented by derived classes
Implements ROOT::Math::IBaseFunctionOneDim.
Definition at line 68 of file WrappedFunction.h.
|
private |
Definition at line 73 of file WrappedFunction.h.