BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
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 IBaseFunctionOneDim * | Clone () const =0 |
double | operator() (const double *x) const |
double | operator() (double x) const |
Private Member Functions | |
virtual double | DoEval (double x) const =0 |
implementation of the evaluation function. Must be implemented by derived classes More... | |
Definition at line 139 of file IFunction.h.
|
inline |
Definition at line 141 of file IFunction.h.
|
inlinevirtual |
|
pure virtual |
Clone a function. Each derived class will implement their version of the provate DoClone method
Implemented in ROOT::Math::WrappedMemFunction< FuncObj, MemFuncPtr >, ROOT::Math::WrappedFunction< Func >, ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >, ROOT::Math::OneDimMultiFunctionAdapter< MultiFuncType >, ROOT::Math::GradFunctor1D, and ROOT::Math::Functor1D.
|
privatepure virtual |
implementation of the evaluation function. Must be implemented by derived classes
Implemented in ROOT::Math::WrappedMemFunction< FuncObj, MemFuncPtr >, ROOT::Math::WrappedFunction< Func >, ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >, ROOT::Math::OneDimMultiFunctionAdapter< MultiFuncType >, ROOT::Math::IParametricFunctionOneDim, ROOT::Math::GradFunctor1D, and ROOT::Math::Functor1D.
Referenced by operator()().
|
inline |
Evaluate the function at a point x[]. Compatible method with multi-dimensional functions
Definition at line 167 of file IFunction.h.
References DoEval().
|
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.
References DoEval().
Referenced by ROOT::Math::IGradientFunctionOneDim::FdF().