Documentation for class Functor class.
It is used to wrap in a very simple and convenient way multidimensional function objects. It can wrap all the following types:
The function dimension is required when constructing the functor.
Public Member Functions  
Functor ()  
Default constructor.  
template<class PtrObj , typename MemFn >  
Functor (const PtrObj &p, MemFn memFn, unsigned int dim)  
Construct from a pointer to member function (multidim type).  
Functor (std::function< double(double const *)> const &f, unsigned int dim)  
Construct from a callable object of multidimension with the right signature (implementing double operator()(const double *x) ).  
Functor *  Clone () const override 
Clone a function.  
unsigned int  NDim () const override 
Retrieve the dimension of the function.  
Public Member Functions inherited from ROOT::Math::IBaseFunctionMultiDimTempl< double >  
virtual  ~IBaseFunctionMultiDimTempl ()=default 
virtual bool  HasGradient () const 
double  operator() (const double *x) const 
Evaluate the function at a point x[].  
Private Member Functions  
double  DoEval (const double *x) const override 
Implementation of the evaluation function. Must be implemented by derived classes.  
Private Attributes  
unsigned int  fDim 
std::function< double(double const *)>  fFunc 
Additional Inherited Members  
Public Types inherited from ROOT::Math::IBaseFunctionMultiDimTempl< double >  
typedef double  BackendType 
typedef IBaseFunctionMultiDimTempl< double >  BaseFunc 
#include <Math/Functor.h>

inline 

inline 

inlineoverridevirtual 
Clone a function.
Each derived class must implement their version of the Clone method.
Implements ROOT::Math::IBaseFunctionMultiDimTempl< double >.
Implementation of the evaluation function. Must be implemented by derived classes.
Implements ROOT::Math::IBaseFunctionMultiDimTempl< double >.

inlineoverridevirtual 
Retrieve the dimension of the function.
Implements ROOT::Math::IBaseFunctionMultiDimTempl< double >.