Logo ROOT   6.08/07
Reference Guide
List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
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 78 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 (double x) const
 
double DoDerivative (const double *x, unsigned int icoord) const
 
double DoEval (double x) const
 
double DoEval (const 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 81 of file Functor.h.

◆ ImplFunc

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

Definition at line 80 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 88 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 92 of file Functor.h.

◆ ~FunctorHandler()

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

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

◆ Copy()

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

Definition at line 100 of file Functor.h.

◆ DoDerivative() [1/2]

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

Definition at line 125 of file Functor.h.

◆ DoDerivative() [2/2]

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

Definition at line 129 of file Functor.h.

◆ DoEval() [1/2]

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

Definition at line 117 of file Functor.h.

◆ DoEval() [2/2]

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

Definition at line 121 of file Functor.h.

◆ NDim()

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

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

◆ fFunc

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

Definition at line 135 of file Functor.h.


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