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

template<class ParentFunctor, class Func>
class ROOT::Math::FunctorHandler< ParentFunctor, Func >

Functor Handler class is responsible for wrapping any other functor and pointer to free C functions.

It can be created from any function implementing the correct signature corresponding to the requested type In the case of one dimension the function evaluation object must implement double operator() (double x). If it implements a method: double Derivative(double x) can be used to create a Gradient function type.

In the case of multi-dimension the function evaluation object must implement double operator()(const double *x). If it implements a method: double Derivative(const double *x, int icoord) can be used to create a Gradient function type.

Definition at line 77 of file Functor.h.

Public Member Functions

 FunctorHandler (const Func &fun)
 
 FunctorHandler (unsigned int dim, const Func &fun)
 
virtual ~FunctorHandler ()
 
BaseFuncClone () const
 
ImplFuncCopy () const
 
unsigned int NDim () const
 

Private Types

typedef ImplFunc::BaseFunc BaseFunc
 
typedef ParentFunctor::Impl ImplFunc
 

Private Member Functions

double DoDerivative (const double *x, unsigned int icoord) const
 
double DoDerivative (double x) const
 
double DoEval (const double *x) const
 
double DoEval (double x) const
 

Private Attributes

unsigned int fDim
 
Func fFunc
 

#include <Math/Functor.h>

Inheritance diagram for ROOT::Math::FunctorHandler< ParentFunctor, Func >:
[legend]

Member Typedef Documentation

◆ BaseFunc

template<class ParentFunctor , class Func >
typedef ImplFunc::BaseFunc ROOT::Math::FunctorHandler< ParentFunctor, Func >::BaseFunc
private

Definition at line 80 of file Functor.h.

◆ ImplFunc

template<class ParentFunctor , class Func >
typedef ParentFunctor::Impl ROOT::Math::FunctorHandler< ParentFunctor, Func >::ImplFunc
private

Definition at line 79 of file Functor.h.

Constructor & Destructor Documentation

◆ FunctorHandler() [1/2]

template<class ParentFunctor , class Func >
ROOT::Math::FunctorHandler< ParentFunctor, Func >::FunctorHandler ( const Func &  fun)
inline

Definition at line 87 of file Functor.h.

◆ FunctorHandler() [2/2]

template<class ParentFunctor , class Func >
ROOT::Math::FunctorHandler< ParentFunctor, Func >::FunctorHandler ( unsigned int  dim,
const Func &  fun 
)
inline

Definition at line 91 of file Functor.h.

◆ ~FunctorHandler()

template<class ParentFunctor , class Func >
virtual ROOT::Math::FunctorHandler< ParentFunctor, Func >::~FunctorHandler ( )
inlinevirtual

Definition at line 96 of file Functor.h.

Member Function Documentation

◆ Clone()

template<class ParentFunctor , class Func >
BaseFunc * ROOT::Math::FunctorHandler< ParentFunctor, Func >::Clone ( ) const
inline

Definition at line 104 of file Functor.h.

◆ Copy()

template<class ParentFunctor , class Func >
ImplFunc * ROOT::Math::FunctorHandler< ParentFunctor, Func >::Copy ( ) const
inline

Definition at line 99 of file Functor.h.

◆ DoDerivative() [1/2]

template<class ParentFunctor , class Func >
double ROOT::Math::FunctorHandler< ParentFunctor, Func >::DoDerivative ( const double x,
unsigned int  icoord 
) const
inlineprivate

Definition at line 128 of file Functor.h.

◆ DoDerivative() [2/2]

template<class ParentFunctor , class Func >
double ROOT::Math::FunctorHandler< ParentFunctor, Func >::DoDerivative ( double  x) const
inlineprivate

Definition at line 124 of file Functor.h.

◆ DoEval() [1/2]

template<class ParentFunctor , class Func >
double ROOT::Math::FunctorHandler< ParentFunctor, Func >::DoEval ( const double x) const
inlineprivate

Definition at line 120 of file Functor.h.

◆ DoEval() [2/2]

template<class ParentFunctor , class Func >
double ROOT::Math::FunctorHandler< ParentFunctor, Func >::DoEval ( double  x) const
inlineprivate

Definition at line 116 of file Functor.h.

◆ NDim()

template<class ParentFunctor , class Func >
unsigned int ROOT::Math::FunctorHandler< ParentFunctor, Func >::NDim ( ) const
inline

Definition at line 110 of file Functor.h.

Member Data Documentation

◆ fDim

template<class ParentFunctor , class Func >
unsigned int ROOT::Math::FunctorHandler< ParentFunctor, Func >::fDim
private

Definition at line 133 of file Functor.h.

◆ fFunc

template<class ParentFunctor , class Func >
Func ROOT::Math::FunctorHandler< ParentFunctor, Func >::fFunc
mutableprivate

Definition at line 134 of file Functor.h.

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