Interface (abstract class) for generic functions objects of one-dimension Provides a method to evaluate the function given a value (simple double) by implementing operator() (const double ).
In addition it defines the interface for copying functions via the pure virtual method Clone(). Derived classes must implement the pure virtual private method DoEval(double ) for the function evaluation in addition to Clone(). An interface for evaluating the function passing a vector (like for multidim functions) is also provided
Definition at line 112 of file IFunction.h.
Public Types | |
typedef IBaseFunctionOneDim | BaseFunc |
Public Member Functions | |
virtual | ~IBaseFunctionOneDim ()=default |
virtual IBaseFunctionOneDim * | Clone () const =0 |
Clone a function. | |
virtual bool | HasGradient () const |
double | operator() (const double *x) const |
Evaluate the function at a point x[]. | |
double | operator() (double x) const |
Evaluate the function at a point x. | |
Private Member Functions | |
virtual double | DoEval (double x) const =0 |
implementation of the evaluation function. Must be implemented by derived classes | |
#include <Math/IFunction.h>
Definition at line 116 of file IFunction.h.
|
virtualdefault |
|
pure virtual |
Clone a function.
Each derived class will implement their version of the private DoClone method.
Implemented in ROOT::Math::WrappedTF1, TF1_EvalWrapper, ROOT::Math::Functor1D, ROOT::Math::GradFunctor1D, ROOT::Math::IntegrandTransform, ROOT::Math::OneDimMultiFunctionAdapter< MultiFuncType >, ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >, ROOT::Math::WrappedFunction< Func >, ROOT::Math::WrappedMemFunction< FuncObj, MemFuncPtr >, ROOT::Math::CDFWrapper, ROOT::Math::PDFIntegral, ROOT::Math::Polynomial, ROOT::Math::VavilovAccurateCdf, ROOT::Math::VavilovAccuratePdf, ROOT::Math::VavilovAccurateQuantile, RooStats::PosteriorCdfFunction, RooStats::PosteriorFunction, and RooStats::PosteriorFunctionFromToyMC.
implementation of the evaluation function. Must be implemented by derived classes
Implemented in ROOT::Math::WrappedTF1, ROOT::Math::Functor1D, ROOT::Math::GradFunctor1D, ROOT::Math::IntegrandTransform, ROOT::Math::IParametricFunctionOneDim, ROOT::Math::OneDimMultiFunctionAdapter< MultiFuncType >, ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >, ROOT::Math::WrappedFunction< Func >, ROOT::Math::WrappedMemFunction< FuncObj, MemFuncPtr >, ROOT::Math::VavilovAccurateCdf, ROOT::Math::VavilovAccuratePdf, ROOT::Math::VavilovAccurateQuantile, RooStats::PosteriorCdfFunction, RooStats::PosteriorFunction, RooStats::PosteriorFunctionFromToyMC, TF1_EvalWrapper, ROOT::Math::CDFWrapper, and ROOT::Math::PDFIntegral.
|
inlinevirtual |
Reimplemented in ROOT::Math::IGradientFunctionOneDim.
Definition at line 134 of file IFunction.h.
Evaluate the function at a point x[].
Compatible method with multi-dimensional functions.
Definition at line 130 of file IFunction.h.
Evaluate the function at a point x.
Use the a pure virtual private method DoEval which must be implemented by sub-classes.
Definition at line 126 of file IFunction.h.