Logo ROOT  
Reference Guide
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 76 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 79 of file Functor.h.

◆ ImplFunc

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

Definition at line 78 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 86 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 90 of file Functor.h.

◆ ~FunctorHandler()

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

Definition at line 95 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 103 of file Functor.h.

◆ Copy()

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

Definition at line 98 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 127 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 123 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 119 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 115 of file Functor.h.

◆ NDim()

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

Definition at line 109 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 132 of file Functor.h.

◆ fFunc

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

Definition at line 133 of file Functor.h.


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