Herwig 7.3.0
|
This class is designed to integrate a given function between 2 limits using the gsl QAGS integration subroutine. More...
#include <GSLIntegrator.h>
Standard constructors and destructors. | |
template<class T > | |
using | ValT = decltype(std::declval< typename T::ValType >() *std::declval< typename T::ArgType >()) |
helper type for the integration result | |
double | _abserr |
The parameters controlling the absolute error. | |
double | _relerr |
The parameters controlling the relative error. | |
int | _nbins |
The maximum number of intervals to use. | |
GSLIntegrator () | |
Default Constructor uses values in GSL manual as parameters. | |
GSLIntegrator (double abserr, double relerr, int nbins) | |
Specify all the parameters. | |
template<class T > | |
ValT< T > | value (const T &function, const typename T::ArgType lower, const typename T::ArgType upper) const |
The value of the integral. | |
template<class T > | |
ValT< T > | value (const T &function, const typename T::ArgType lower, const typename T::ArgType upper, ValT< T > &error) const |
The value of the integral. | |
GSLIntegrator & | operator= (const GSLIntegrator &)=delete |
The assignment operator is private and must never be called. | |
Additional Inherited Members | |
![]() | |
typedef unsigned int | CounterType |
![]() | |
CounterType | referenceCount () const |
![]() | |
const unsigned long | uniqueId |
![]() | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
This class is designed to integrate a given function between 2 limits using the gsl QAGS integration subroutine.
The function is supplied using a templated class that must define operator(argument). The units of the argument ArgType and return type ValType must be supplied in the integrand class using a typedef i.e.
struct integrand {
...
Energy operator(double arg) const;
typedef double ArgType
typedef Energy ValType
...
}
Definition at line 40 of file GSLIntegrator.h.
using Herwig::GSLIntegrator::ValT = decltype(std::declval<typename T::ValType>() * std::declval<typename T::ArgType>()) |
helper type for the integration result
Definition at line 63 of file GSLIntegrator.h.
|
inline |
Default Constructor uses values in GSL manual as parameters.
Definition at line 49 of file GSLIntegrator.h.
|
inline |
Specify all the parameters.
abserr | Absolute error. |
relerr | Relative error. |
nbins | Number of bins |
Definition at line 57 of file GSLIntegrator.h.
|
privatedelete |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
|
inline |
The value of the integral.
function | The integrand class that defines operator() |
lower | The lower limit of integration. |
upper | The upper limit of integration. |
Referenced by Herwig::ThreeBodyAllOnCalculator< T >::Outer::operator()().
|
inline |
The value of the integral.
function | The integrand class that defines operator() |
lower | The lower limit of integration. |
upper | The upper limit of integration. |
error | Returns the estimated error of the integral |
|
private |
The parameters controlling the absolute error.
Definition at line 105 of file GSLIntegrator.h.
|
private |
The maximum number of intervals to use.
Definition at line 115 of file GSLIntegrator.h.
|
private |
The parameters controlling the relative error.
Definition at line 110 of file GSLIntegrator.h.