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 62 of file IFunction.h.
Public Types | |
typedef T | BackendType |
typedef IBaseFunctionMultiDimTempl< T > | BaseFunc |
Public Member Functions | |
IBaseFunctionMultiDimTempl () | |
virtual | ~IBaseFunctionMultiDimTempl () |
virtual destructor | |
virtual IBaseFunctionMultiDimTempl< T > * | Clone () const =0 |
Clone a function. | |
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. | |
#include <Math/IFunction.h>
typedef T ROOT::Math::IBaseFunctionMultiDimTempl< T >::BackendType |
Definition at line 66 of file IFunction.h.
typedef IBaseFunctionMultiDimTempl<T> ROOT::Math::IBaseFunctionMultiDimTempl< T >::BaseFunc |
Definition at line 67 of file IFunction.h.
|
inline |
Definition at line 70 of file IFunction.h.
|
inlinevirtual |
virtual destructor
Definition at line 75 of file IFunction.h.
|
pure virtual |
Clone a function.
Each derived class must implement their version of the Clone method
Implemented in ROOT::Math::Functor, ROOT::Math::GradFunctor, ROOT::Math::WrappedMultiTF1Templ< T >, ROOT::Fit::FcnAdapter, 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 >, RooMultiGenFunction, RooMinimizerFcn, and RooFit::TestStatistics::MinuitFcnGrad.
|
privatepure virtual |
Implementation of the evaluation function.
Must be implemented by derived classes
Implemented in ROOT::Math::Functor, RooMinimizerFcn, ROOT::Math::IParametricFunctionMultiDimTempl< T >, ROOT::Math::WrappedMultiTF1Templ< T >, and ROOT::Math::IParametricGradFunctionMultiDimTempl< T >.
|
pure virtual |
Retrieve the dimension of the function.
Implemented in ROOT::Math::Functor, ROOT::Math::GradFunctor, ROOT::Math::WrappedMultiTF1Templ< T >, ROOT::Fit::FcnAdapter, 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 >, RooMultiGenFunction, RooMinimizerFcn, RooFit::TestStatistics::MinuitFcnGrad, 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 92 of file IFunction.h.