Logo ROOT   6.12/07
Reference Guide
List of all members | Public Member Functions | Private Member Functions | Private Attributes | List of all members
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 More...
 
WrappedFunctionClone () const
 clone (required by the interface) More...
 
- Public Member Functions inherited from ROOT::Math::IBaseFunctionOneDim
 IBaseFunctionOneDim ()
 
virtual ~IBaseFunctionOneDim ()
 virtual destructor More...
 
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. More...
 
double operator() (const double *x) const
 Evaluate the function at a point x[]. More...
 

Private Member Functions

virtual double DoEval (double x) const
 implementation of the evaluation function. Must be implemented by derived classes More...
 

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.

Libraries for ROOT::Math::WrappedFunction< Func >:
[legend]

The documentation for this class was generated from the following file: