BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
ROOT::Math::IBaseFunctionOneDim Class Referenceabstract

Description

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.

Inheritance diagram for ROOT::Math::IBaseFunctionOneDim:
[legend]

Public Types

typedef IBaseFunctionOneDim BaseFunc
 

Public Member Functions

 IBaseFunctionOneDim ()
 
virtual ~IBaseFunctionOneDim ()
 
virtual IBaseFunctionOneDimClone () 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...
 

Member Typedef Documentation

◆ BaseFunc

Constructor & Destructor Documentation

◆ IBaseFunctionOneDim()

ROOT::Math::IBaseFunctionOneDim::IBaseFunctionOneDim ( )
inline

Definition at line 141 of file IFunction.h.

141 {}

◆ ~IBaseFunctionOneDim()

virtual ROOT::Math::IBaseFunctionOneDim::~IBaseFunctionOneDim ( )
inlinevirtual

virtual destructor

Definition at line 146 of file IFunction.h.

146 {}

Member Function Documentation

◆ Clone()

virtual IBaseFunctionOneDim* ROOT::Math::IBaseFunctionOneDim::Clone ( ) const
pure virtual

◆ DoEval()

virtual double ROOT::Math::IBaseFunctionOneDim::DoEval ( double  x) const
privatepure virtual

◆ operator()() [1/2]

double ROOT::Math::IBaseFunctionOneDim::operator() ( const double *  x) const
inline

Evaluate the function at a point x[]. Compatible method with multi-dimensional functions

Definition at line 167 of file IFunction.h.

168  {
169  return DoEval(*x);
170  }
virtual double DoEval(double x) const =0
implementation of the evaluation function. Must be implemented by derived classes

References DoEval().

Here is the call graph for this function:

◆ operator()() [2/2]

double ROOT::Math::IBaseFunctionOneDim::operator() ( double  x) const
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.

159  {
160  return DoEval(x);
161  }

References DoEval().

Referenced by ROOT::Math::IGradientFunctionOneDim::FdF().

Here is the call graph for this function:

The documentation for this class was generated from the following file: