Interface (abstract class) for generic functions objects of onedimension 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 subclasses. 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 multidimensional 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 subclasses.
Definition at line 158 of file IFunction.h.