GradFunctor class for Multidimensional gradient functions. 
It is used to wrap in a very C++ callable object to make gradient functions. It can be constructed in three different way: 
- 
from an object implementing both double operator()( const double * ) for the function evaluation and double Derivative(const double *, int icoord) for the partial derivatives 
 
- 
from an object implementing any member function like Foo::XXX(const double *) for the function evaluation and any member function like Foo::XXX(const double *, int icoord) for the partial derivatives 
 
- 
from an function object implementing double operator()( const double * ) for the function evaluation and another function object implementing double operator() (const double *, int icoord) for the partial derivatives 
 
The function dimension is required when constructing the functor. 
Definition at line 604 of file Functor.h.
 | 
|   | GradFunctor () | 
|   | Default constructor.  
  | 
|   | 
| template<typename Func , typename GradFunc >  | 
|   | GradFunctor (const Func &f, const GradFunc &g, int dim) | 
|   | construct for Gradient Functions of multi-dimension Func gives the function evaluatiion, GradFunc the partial derivatives The function dimension is required  
  | 
|   | 
| template<typename Func >  | 
|   | GradFunctor (const Func &f, unsigned int dim) | 
|   | construct from a callable object of multi-dimension implementing operator()(const double *x) and Derivative(const double * x,icoord)  
  | 
|   | 
|   | GradFunctor (const GradFunctor &rhs) | 
|   | Copy constructor for functor based on ROOT::Math::IMultiGradFunction.  
  | 
|   | 
| template<class PtrObj , typename MemFn , typename GradMemFn >  | 
|   | GradFunctor (const PtrObj &p, MemFn memFn, GradMemFn gradFn, unsigned int dim) | 
|   | construct from a pointer to member function and member function types for function and derivative evaluations  
  | 
|   | 
|   | GradFunctor (const std::function< double(double const *)> &f, const std::function< double(double const *, unsigned int)> &g, unsigned int dim) | 
|   | specialized constructor from 2 std::functions with the right signature (the first one implementing double operator()(double const *x) for the function evaluation and the second one implementing double operator()(double const *x, unsigned int icoord) for the function partial derivatives.  
  | 
|   | 
| virtual  | ~GradFunctor () | 
|   | Destructor (no operations)  
  | 
|   | 
| ImplBase *  | Clone () const | 
|   | Clone a function.  
  | 
|   | 
| unsigned int  | NDim () const | 
|   | Retrieve the dimension of the function.  
  | 
|   | 
| GradFunctor &  | operator= (const GradFunctor &rhs) | 
|   | Assignment operator.  
  | 
|   | 
| virtual  | ~IGradientFunctionMultiDimTempl () | 
|   | Virtual Destructor (no operations)  
  | 
|   | 
| virtual void  | FdF (const T *x, T &f, T *df) const | 
|   | Optimized method to evaluate at the same time the function value and derivative at a point x.  
  | 
|   | 
| virtual void  | Gradient (const T *x, T *grad) const | 
|   | Evaluate all the vector of function derivatives (gradient) at a point x.  
  | 
|   | 
| virtual void  | GradientWithPrevResult (const T *x, T *grad, T *previous_grad, T *previous_g2, T *previous_gstep) const | 
|   | In some cases, the gradient algorithm will use information from the previous step, these can be passed in with this overload.  
  | 
|   | 
| virtual unsigned int  | NDim () const=0 | 
|   | Retrieve the dimension of the function.  
  | 
|   | 
| virtual bool  | returnsInMinuit2ParameterSpace () const | 
|   | 
|   | IBaseFunctionMultiDimTempl () | 
|   | 
| virtual  | ~IBaseFunctionMultiDimTempl () | 
|   | virtual destructor  
  | 
|   | 
| T  | operator() (const T *x) const | 
|   | Evaluate the function at a point x[].  
  | 
|   | 
| virtual  | ~IGradientMultiDimTempl () | 
|   | virual destructor  
  | 
|   | 
| T  | Derivative (const T *x, unsigned int icoord, T *previous_grad, T *previous_g2, T *previous_gstep) const | 
|   | In some cases, the derivative algorithm will use information from the previous step, these can be passed in with this overload.  
  | 
|   | 
| T  | Derivative (const T *x, unsigned int icoord=0) const | 
|   | Return the partial derivative with respect to the passed coordinate.  
  | 
|   |