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 More... | |
virtual IBaseFunctionOneDim * | Clone () const =0 |
Clone a function. More... | |
double | operator() (const double *x) const |
Evaluate the function at a point x[]. More... | |
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. More... | |
Private Member Functions | |
virtual double | DoEval (double x) const =0 |
implementation of the evaluation function. Must be implemented by derived classes More... | |
#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::WrappedTF1, 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::Polynomial, ROOT::Math::VavilovAccurateCdf, ROOT::Math::VavilovAccuratePdf, ROOT::Math::VavilovAccurateQuantile, and RooGenFunction.
|
privatepure virtual |
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, and RooGenFunction.
|
inline |
Evaluate the function at a point x[].
Compatible method with multi-dimensional functions
Definition at line 167 of file IFunction.h.
|
inline |
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.