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 135 of file IFunction.h.
Public Types | |
typedef IBaseFunctionOneDim | BaseFunc |
Public Member Functions | |
IBaseFunctionOneDim () | |
virtual | ~IBaseFunctionOneDim () |
virtual destructor | |
virtual IBaseFunctionOneDim * | Clone () const =0 |
Clone a function. | |
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 Use the a pure virtual private method DoEval which must be implemented by sub-classes. | |
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 139 of file IFunction.h.
|
inline |
Definition at line 141 of file IFunction.h.
|
inlinevirtual |
virtual destructor
Definition at line 146 of file IFunction.h.
|
pure virtual |
Clone a function.
Each derived class will implement their version of the provate DoClone method
Implemented in ROOT::Math::Functor1D, ROOT::Math::GradFunctor1D, ROOT::Math::WrappedTF1, TF1_EvalWrapper, 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, RooGenFunction, RooStats::PosteriorCdfFunction, RooStats::PosteriorFunction, and RooStats::PosteriorFunctionFromToyMC.
implementation of the evaluation function. Must be implemented by derived classes
Implemented in ROOT::Math::Functor1D, ROOT::Math::GradFunctor1D, ROOT::Math::WrappedTF1, 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, RooGenFunction, TF1_EvalWrapper, ROOT::Math::CDFWrapper, and ROOT::Math::PDFIntegral.
Evaluate the function at a point x[].
Compatible method with multi-dimensional functions
Definition at line 167 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 158 of file IFunction.h.