ROOT logo
ROOT » MATH » MATHCORE » ROOT::Math::GradFunctor1D

class ROOT::Math::GradFunctor1D: public ROOT::Math::IGradientFunctionOneDim


   Documentation for class Functor class.
   It is used to wrap in a very simple and convenient way multi-dimensional function objects.
   It can wrap all the following types:
   <ul>
   <li> any C++ callable object implemention double operator()( const double *  )
   <li> a free C function of type double ()(double * )
   <li> a member function with the correct signature like Foo::Eval(const double * ).
       In this case one pass the object pointer and a pointer to the member function (&Foo::Eval)
   </ul>
   The function dimension is required when constructing the functor.

   @ingroup  GenFunc


Function Members (Methods)

private:
virtual doubleDoDerivative(double x) const
virtual doubleDoEval(double x) const

Data Members

private:
auto_ptr<ROOT::Math::IGradientFunctionOneDim>fImplpointer to base gradient functor handler

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

BaseFunc * Clone() const
 clone of the function handler (use copy-ctor)
double DoEval(double x) const
double DoDerivative(double x) const
GradFunctor1D()
      Default constructor

{}
GradFunctor1D(const ROOT::Math::GradFunctor1D& )
      construct from an object with the right signature
      implementing both operator() (double x) and Derivative(double x)

{}
GradFunctor1D(const PtrObj& p, MemFn memFn, GradMemFn gradFn)
       construct from a pointer to class and two pointers to member functions, one for
       the function evaluation and the other for the derivative.
       The member functions must take a double as argument and return a double

{}
GradFunctor1D(void* p1, void* p2)
      construct from two 1D function objects

{}
virtual ~GradFunctor1D()
      Destructor (no operations)

{}