#include <BALL/MATHS/rombergIntegrator.h>
Public Member Functions | |
Constructors and destructor. | |
RombergIntegrator (float epsilon=1E-5, Size nsteps=1000) | |
Default constructor. | |
RombergIntegrator (const RombergIntegrator &romint) | |
Copy constructor. | |
~RombergIntegrator () | |
Destructor. | |
Assignment | |
const RombergIntegrator & | operator= (const RombergIntegrator &romint) |
Assignment operator. | |
virtual void | clear () |
Clear method. | |
void | setEpsilon (float eps) |
Set the upper bound for the error we want to allow. | |
void | setMaxNumSteps (Size mns) |
Set the maximum number of steps we want to use in computation. | |
Predicates | |
bool | operator== (const RombergIntegrator &romint) const |
Equality operator. | |
Accessors | |
DataType | integrate (DataType from, DataType to) |
DataType | trapezoid (DataType h, DataType from, DataType to) |
Protected Attributes | |
float | epsilon_ |
Size | maxNumSteps_ |
vector< DataType > | result_ |
A numerical integration of a BALL-Function using a Romberg integration scheme.
BALL_INLINE BALL::RombergIntegrator< Function, DataType >::RombergIntegrator | ( | float | epsilon = 1E-5 , |
|
Size | nsteps = 1000 | |||
) | [inline] |
Default constructor.
References BALL::RombergIntegrator< Function, DataType >::maxNumSteps_, and BALL::RombergIntegrator< Function, DataType >::result_.
BALL_INLINE BALL::RombergIntegrator< Function, DataType >::RombergIntegrator | ( | const RombergIntegrator< Function, DataType > & | romint | ) | [inline] |
Copy constructor.
BALL_INLINE BALL::RombergIntegrator< Function, DataType >::~RombergIntegrator | ( | ) | [inline] |
Destructor.
BALL_INLINE void BALL::RombergIntegrator< Function, DataType >::clear | ( | ) | [inline, virtual] |
Clear method.
BALL_INLINE DataType BALL::RombergIntegrator< Function, DataType >::integrate | ( | DataType | from, | |
DataType | to | |||
) | [inline] |
Integrate the function numerically.
from | lower limit of the integration | |
to | upper limit of the integration |
References BALL::Constants::h.
BALL_INLINE const RombergIntegrator< Function, DataType > & BALL::RombergIntegrator< Function, DataType >::operator= | ( | const RombergIntegrator< Function, DataType > & | romint | ) | [inline] |
Assignment operator.
BALL_INLINE bool BALL::RombergIntegrator< Function, DataType >::operator== | ( | const RombergIntegrator< Function, DataType > & | romint | ) | const [inline] |
Equality operator.
BALL_INLINE void BALL::RombergIntegrator< Function, DataType >::setEpsilon | ( | float | eps | ) | [inline] |
Set the upper bound for the error we want to allow.
References BALL::RombergIntegrator< Function, DataType >::epsilon_.
BALL_INLINE void BALL::RombergIntegrator< Function, DataType >::setMaxNumSteps | ( | Size | mns | ) | [inline] |
Set the maximum number of steps we want to use in computation.
References BALL::RombergIntegrator< Function, DataType >::maxNumSteps_, and BALL::RombergIntegrator< Function, DataType >::result_.
BALL_INLINE DataType BALL::RombergIntegrator< Function, DataType >::trapezoid | ( | DataType | h, | |
DataType | from, | |||
DataType | to | |||
) | [inline] |
Integrate the function numerically using a simple trapezoid integration. This function is intended as a helper function for the computation of the romberg integration, but it can be used as a regular integrator as well, if speed is more important than reliability.
h | gives the width of each step | |
from | lower limit of the integration | |
to | upper limit of the integration |
References BALL::NumericalIntegrator< Function, DataType >::function_.
float BALL::RombergIntegrator< Function, DataType >::epsilon_ [protected] |
Referenced by BALL::RombergIntegrator< Function, DataType >::setEpsilon().
Size BALL::RombergIntegrator< Function, DataType >::maxNumSteps_ [protected] |
vector<DataType> BALL::RombergIntegrator< Function, DataType >::result_ [protected] |