Loading...
Searching...
No Matches
BALL::RombergIntegrator< Function, DataType > Class Template Reference
Foundation Classes » Mathematics » Function classes

`#include <BALL/MATHS/rombergIntegrator.h>`

Inheritance diagram for BALL::RombergIntegrator< Function, DataType >:

## 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.
Public Member Functions inherited from BALL::NumericalIntegrator< Function, DataType >
| NumericalIntegrator ()
| Default constructor.
virtual | ~NumericalIntegrator ()
| Destructor.
NumericalIntegrator & | operator= (const NumericalIntegrator &nint)
| Assignment operator.
bool | operator== (const NumericalIntegrator &nint) const
| Equality operator.
void | setFunction (const Function &function)
const Function & | getFunction () const
DataType | getValue (const DataType &x) const
DataType | integrate (const DataType &from, const DataType &to) const

## Accessors

float | epsilon_
Size | maxNumSteps_
vector< DataType > | result_
DataType | integrate (DataType from, DataType to)
DataType | trapezoid (DataType h, DataType from, DataType to)

## Additional Inherited Members

Function | function_

## Detailed Description

template<typename Function, typename DataType>
class BALL::RombergIntegrator< Function, DataType >

A numerical integration of a BALL-Function using a Romberg integration scheme.

Definition at line 20 of file rombergIntegrator.h.

## Constructor & Destructor Documentation

## RombergIntegrator() [1/2]

template<typename Function, typename DataType>

BALL_INLINE BALL::RombergIntegrator< Function, DataType >::RombergIntegrator | ( | float | epsilon = 1E-5,
|  | Size | nsteps = 1000 )

Default constructor.

Definition at line 95 of file rombergIntegrator.h.

## RombergIntegrator() [2/2]

template<typename Function, typename DataType>

BALL_INLINE BALL::RombergIntegrator< Function, DataType >::RombergIntegrator | ( | const RombergIntegrator< Function, DataType > & | romint | ) |

Copy constructor.

Definition at line 102 of file rombergIntegrator.h.

## ~RombergIntegrator()

template<typename Function, typename DataType>

BALL_INLINE BALL::RombergIntegrator< Function, DataType >::~RombergIntegrator | ( |  | ) |

Destructor.

Definition at line 108 of file rombergIntegrator.h.

## Member Function Documentation

## clear()

template<typename Function, typename DataType>

BALL_INLINE void BALL::RombergIntegrator< Function, DataType >::clear | ( |  | ) |

virtual

Clear method.

Definition at line 127 of file rombergIntegrator.h.

## integrate()

template<typename Function, typename DataType>

BALL_INLINE DataType BALL::RombergIntegrator< Function, DataType >::integrate | ( | DataType | from,
|  | DataType | to )

Integrate the function numerically.

Parameters

  from | lower limit of the integration
  to | upper limit of the integration

Returns
  the value of the integral

Definition at line 182 of file rombergIntegrator.h.

## operator=()

template<typename Function, typename DataType>

BALL_INLINE const RombergIntegrator< Function, DataType > & BALL::RombergIntegrator< Function, DataType >::operator= | ( | const RombergIntegrator< Function, DataType > & | romint | ) |

Assignment operator.

Definition at line 115 of file rombergIntegrator.h.

## operator==()

template<typename Function, typename DataType>

BALL_INLINE bool BALL::RombergIntegrator< Function, DataType >::operator== | ( | const RombergIntegrator< Function, DataType > & | romint | ) | const

Equality operator.

Definition at line 149 of file rombergIntegrator.h.

## setEpsilon()

template<typename Function, typename DataType>

BALL_INLINE void BALL::RombergIntegrator< Function, DataType >::setEpsilon | ( | float | eps | ) |

Set the upper bound for the error we want to allow.

Definition at line 134 of file rombergIntegrator.h.

## setMaxNumSteps()

template<typename Function, typename DataType>

BALL_INLINE void BALL::RombergIntegrator< Function, DataType >::setMaxNumSteps | ( | Size | mns | ) |

Set the maximum number of steps we want to use in computation.

Definition at line 141 of file rombergIntegrator.h.

## trapezoid()

template<typename Function, typename DataType>

BALL_INLINE DataType BALL::RombergIntegrator< Function, DataType >::trapezoid | ( | DataType | h,
|  | DataType | from,
|  | DataType | to )

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.

Parameters

  h | gives the width of each step
  from | lower limit of the integration
  to | upper limit of the integration

Returns
  the value of the integral

Definition at line 161 of file rombergIntegrator.h.

## Member Data Documentation

## epsilon_

template<typename Function, typename DataType>

float BALL::RombergIntegrator< Function, DataType >::epsilon_

protected

Definition at line 88 of file rombergIntegrator.h.

## maxNumSteps_

template<typename Function, typename DataType>

Size BALL::RombergIntegrator< Function, DataType >::maxNumSteps_

protected

Definition at line 89 of file rombergIntegrator.h.

## result_

template<typename Function, typename DataType>

vector<DataType> BALL::RombergIntegrator< Function, DataType >::result_

protected

Definition at line 90 of file rombergIntegrator.h.