Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Math::WrappedFunction< Func > Class Template Reference

template<typename Func = FreeFunctionPtr>
class ROOT::Math::WrappedFunction< Func >

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 56 of file WrappedFunction.h.

Public Member Functions

 WrappedFunction (Func f)
 construct from the pointer to the object and the member function
 
WrappedFunction * Clone () const
 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

virtual double DoEval (double x) const
 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>

Inheritance diagram for ROOT::Math::WrappedFunction< Func >:
[legend]

Constructor & Destructor Documentation

◆ WrappedFunction()

template<typename Func = FreeFunctionPtr>
ROOT::Math::WrappedFunction< Func >::WrappedFunction ( Func  f)
inline

construct from the pointer to the object and the member function

Definition at line 64 of file WrappedFunction.h.

Member Function Documentation

◆ Clone()

template<typename Func = FreeFunctionPtr>
WrappedFunction * ROOT::Math::WrappedFunction< Func >::Clone ( ) const
inlinevirtual

clone (required by the interface)

Implements ROOT::Math::IBaseFunctionOneDim.

Definition at line 71 of file WrappedFunction.h.

◆ DoEval()

template<typename Func = FreeFunctionPtr>
virtual double ROOT::Math::WrappedFunction< Func >::DoEval ( double  x) const
inlineprivatevirtual

implementation of the evaluation function. Must be implemented by derived classes

Implements ROOT::Math::IBaseFunctionOneDim.

Definition at line 79 of file WrappedFunction.h.

Member Data Documentation

◆ fFunc

template<typename Func = FreeFunctionPtr>
Func ROOT::Math::WrappedFunction< Func >::fFunc
private

Definition at line 84 of file WrappedFunction.h.

  • math/mathcore/inc/Math/WrappedFunction.h