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)

public:
virtual~GradFunctor1D()
virtual ROOT::Math::GradFunctor1D::ImplBase*Clone() const
doubleROOT::Math::IGradientOneDim::Derivative(double x) const
doubleROOT::Math::IGradientOneDim::Derivative(const double* x) const
virtual voidROOT::Math::IGradientFunctionOneDim::FdF(double x, double& f, double& df) const
ROOT::Math::GradFunctor1DGradFunctor1D()
ROOT::Math::GradFunctor1DGradFunctor1D(const ROOT::Math::GradFunctor1D&)
ROOT::Math::GradFunctor1DGradFunctor1D(void* p1, void* p2)
ROOT::Math::GradFunctor1DGradFunctor1D(void* p1, const char* className, const char* methodName, const char* derivName)
voidROOT::Math::IGradientOneDim::Gradient(const double* x, double* g) const
doubleROOT::Math::IBaseFunctionOneDim::operator()(double x) const
doubleROOT::Math::IBaseFunctionOneDim::operator()(const double* x) const
ROOT::Math::GradFunctor1D&operator=(const ROOT::Math::GradFunctor1D& rhs)
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)

{}