Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Math::WrappedMemMultiFunction< FuncObj, MemFuncPtr > Class Template Reference

template<typename FuncObj, typename MemFuncPtr>
class ROOT::Math::WrappedMemMultiFunction< FuncObj, MemFuncPtr >

Definition at line 182 of file WrappedFunction.h.

Public Member Functions

 WrappedMemMultiFunction (FuncObj &obj, MemFuncPtr memFn, unsigned int dim=1)
 construct from the pointer to the object and the member function
 
WrappedMemMultiFunction * Clone () const override
 clone (required by the interface)
 
unsigned int NDim () const override
 Retrieve the dimension of the function.
 
- Public Member Functions inherited from ROOT::Math::IBaseFunctionMultiDimTempl< T >
virtual ~IBaseFunctionMultiDimTempl ()=default
 
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.
 
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 bool HasGradient () const
 
T operator() (const T *x) const
 Evaluate the function at a point x[].
 

Private Member Functions

double DoEval (const double *x) const override
 

Private Attributes

unsigned int fDim
 
MemFuncPtr fMemFunc
 
FuncObj * fObj
 

Additional Inherited Members

- Public Types inherited from ROOT::Math::IBaseFunctionMultiDimTempl< T >
typedef T BackendType
 
typedef IBaseFunctionMultiDimTempl< T > BaseFunc
 

#include <Math/WrappedFunction.h>

Inheritance diagram for ROOT::Math::WrappedMemMultiFunction< FuncObj, MemFuncPtr >:
[legend]

Constructor & Destructor Documentation

◆ WrappedMemMultiFunction()

template<typename FuncObj , typename MemFuncPtr >
ROOT::Math::WrappedMemMultiFunction< FuncObj, MemFuncPtr >::WrappedMemMultiFunction ( FuncObj & obj,
MemFuncPtr memFn,
unsigned int dim = 1 )
inline

construct from the pointer to the object and the member function

Definition at line 190 of file WrappedFunction.h.

Member Function Documentation

◆ Clone()

template<typename FuncObj , typename MemFuncPtr >
WrappedMemMultiFunction * ROOT::Math::WrappedMemMultiFunction< FuncObj, MemFuncPtr >::Clone ( ) const
inlineoverridevirtual

clone (required by the interface)

Implements ROOT::Math::IBaseFunctionMultiDimTempl< T >.

Definition at line 199 of file WrappedFunction.h.

◆ DoEval()

template<typename FuncObj , typename MemFuncPtr >
double ROOT::Math::WrappedMemMultiFunction< FuncObj, MemFuncPtr >::DoEval ( const double * x) const
inlineoverrideprivate

Definition at line 208 of file WrappedFunction.h.

◆ NDim()

template<typename FuncObj , typename MemFuncPtr >
unsigned int ROOT::Math::WrappedMemMultiFunction< FuncObj, MemFuncPtr >::NDim ( ) const
inlineoverridevirtual

Retrieve the dimension of the function.

Implements ROOT::Math::IBaseFunctionMultiDimTempl< T >.

Definition at line 204 of file WrappedFunction.h.

Member Data Documentation

◆ fDim

template<typename FuncObj , typename MemFuncPtr >
unsigned int ROOT::Math::WrappedMemMultiFunction< FuncObj, MemFuncPtr >::fDim
private

Definition at line 215 of file WrappedFunction.h.

◆ fMemFunc

template<typename FuncObj , typename MemFuncPtr >
MemFuncPtr ROOT::Math::WrappedMemMultiFunction< FuncObj, MemFuncPtr >::fMemFunc
private

Definition at line 214 of file WrappedFunction.h.

◆ fObj

template<typename FuncObj , typename MemFuncPtr >
FuncObj* ROOT::Math::WrappedMemMultiFunction< FuncObj, MemFuncPtr >::fObj
private

Definition at line 213 of file WrappedFunction.h.

  • math/mathcore/inc/Math/WrappedFunction.h