Documentation for the abstract class IBaseFunctionMultiDim.
Interface (abstract class) for generic functions objects of multi-dimension Provides a method to evaluate the function given a vector of coordinate values, by implementing operator() (const double *). In addition it defines the interface for copying functions via the pure virtual method Clone() and the interface for getting the function dimension via the NDim() method. Derived classes must implement the pure private virtual method DoEval(const double *) for the function evaluation in addition to NDim() and Clone().
Definition at line 61 of file IFunction.h.
Public Types | |
typedef T | BackendType |
typedef IBaseFunctionMultiDimTempl< T > | BaseFunc |
Public Member Functions | |
virtual | ~IBaseFunctionMultiDimTempl ()=default |
virtual IBaseFunctionMultiDimTempl< T > * | Clone () const =0 |
Clone a function. | |
virtual bool | HasGradient () const |
virtual unsigned int | NDim () const =0 |
Retrieve the dimension of the function. | |
T | operator() (const T *x) const |
Evaluate the function at a point x[]. | |
Private Member Functions | |
virtual T | DoEval (const T *x) const =0 |
Implementation of the evaluation function. Must be implemented by derived classes. | |
#include <Math/IFunction.h>
typedef T ROOT::Math::IBaseFunctionMultiDimTempl< T >::BackendType |
Definition at line 65 of file IFunction.h.
typedef IBaseFunctionMultiDimTempl<T> ROOT::Math::IBaseFunctionMultiDimTempl< T >::BaseFunc |
Definition at line 66 of file IFunction.h.
|
virtualdefault |
|
pure virtual |
Clone a function.
Each derived class must implement their version of the Clone method.
Implemented in ROOT::Math::WrappedMultiTF1Templ< T >, ROOT::Fit::FcnAdapter, ROOT::Math::Functor, ROOT::Math::GradFunctor, ROOT::Math::MinimTransformFunction, ROOT::Math::MultiDimParamFunctionAdapter, ROOT::Math::MultiDimParamGradFunctionAdapter, ROOT::Math::WrappedMultiFunction< Func >, ROOT::Math::WrappedMemMultiFunction< FuncObj, MemFuncPtr >, ROOT::Math::WrappedParamFunction< FuncPtr >, ROOT::Math::WrappedParamFunctionGen< FuncPtr >, ROOT::Math::MultiNumGradFunction, and ROOT::Math::LSResidualFunc< Func >.
|
privatepure virtual |
Implementation of the evaluation function. Must be implemented by derived classes.
Implemented in ROOT::Math::Functor, ROOT::Math::IParametricFunctionMultiDimTempl< T >, ROOT::Math::WrappedMultiTF1Templ< T >, and ROOT::Math::IParametricGradFunctionMultiDimTempl< T >.
|
inlinevirtual |
Reimplemented in ROOT::Math::IGradientFunctionMultiDimTempl< T >.
Definition at line 90 of file IFunction.h.
|
pure virtual |
Retrieve the dimension of the function.
Implemented in ROOT::Math::WrappedMultiTF1Templ< T >, ROOT::Fit::FcnAdapter, ROOT::Math::Functor, ROOT::Math::GradFunctor, ROOT::Math::MinimTransformFunction, ROOT::Math::MultiDimParamFunctionAdapter, ROOT::Math::MultiDimParamGradFunctionAdapter, ROOT::Math::WrappedMultiFunction< Func >, ROOT::Math::WrappedMemMultiFunction< FuncObj, MemFuncPtr >, ROOT::Math::WrappedParamFunction< FuncPtr >, ROOT::Math::WrappedParamFunctionGen< FuncPtr >, ROOT::Math::MultiNumGradFunction, ROOT::Math::LSResidualFunc< Func >, and ROOT::Math::IGradientFunctionMultiDimTempl< T >.
|
inline |
Evaluate the function at a point x[].
Use the pure virtual private method DoEval which must be implemented by the sub-classes.
Definition at line 79 of file IFunction.h.