18 #pragma warning(disable:1572) 20 #pragma warning(disable:2259) 27 (
const Genfun::AbsFunction&
function ,
36 if ( 1 !=
function.dimensionality() )
38 (
"GaudiMath::Integral: illegal function dimension" ,
41 const Genfun::AbsFunction& one =
44 const Genfun::AbsFunction& cross =
45 Genfun::FunctionDirectProduct (&one , &
function ) ;
47 const Genfun::AbsFunction& result =
49 ( cross , 1 , a , b, type , rule , epsabs , epsrel , size ) ;
51 return result( Genfun::Argument(1) ) ;
55 (
const Genfun::AbsFunction&
function ,
64 if ( 1 !=
function.dimensionality() )
66 (
"GaudiMath::Integral: illegal function dimension" ,
69 const Genfun::AbsFunction& one =
72 const Genfun::AbsFunction& cross =
73 Genfun::FunctionDirectProduct (&one , &
function ) ;
75 const Genfun::AbsFunction& result =
77 ( cross , 1 , a , b, points , epsabs , epsrel , size ) ;
79 return result( Genfun::Argument(1) ) ;
83 (
const Genfun::AbsFunction&
function ,
90 if ( 1 !=
function.dimensionality() )
92 (
"GaudiMath::Integral: illegal function dimension" ,
95 const Genfun::AbsFunction& one =
98 const Genfun::AbsFunction& cross =
99 Genfun::FunctionDirectProduct (&one , &
function ) ;
101 const Genfun::AbsFunction& result =
103 ( cross , 1 , a , b , epsabs , epsrel , size ) ;
105 return result( Genfun::Argument(1) ) ;
109 (
const Genfun::AbsFunction&
function ,
112 const double epsabs ,
113 const double epsrel ,
116 if ( 1 !=
function.dimensionality() )
118 (
"GaudiMath::Integral: illegal function dimension" ,
121 const Genfun::AbsFunction& one =
124 const Genfun::AbsFunction& cross =
125 Genfun::FunctionDirectProduct (&one , &
function ) ;
127 const Genfun::AbsFunction& result =
129 ( cross , 1 , a , b , epsabs , epsrel , size ) ;
131 return result( Genfun::Argument(1) ) ;
137 (
const Genfun::AbsFunction&
function ,
140 const double epsabs ,
141 const double epsrel ,
144 if ( 1 !=
function.dimensionality() )
146 (
"GaudiMath::Integral: illegal function dimension" ,
149 const Genfun::AbsFunction& one =
152 const Genfun::AbsFunction& cross =
153 Genfun::FunctionDirectProduct (&one , &
function ) ;
157 const Genfun::AbsFunction& result =
159 ( cross , 1 , static_cast<float>(epsabs) , static_cast<float>(epsrel) , size ) ;
161 return result( Genfun::Argument(1) ) ;
Define general base for Gaudi exception.
Type
type of integration (for finite limits)
GaudiMath.h GaudiMath/GaudiMath.h.
GAUDI_API double Integral(const Genfun::AbsFunction &function, const double a, const double b, const GaudiMath::Integration::Type type=GaudiMath::Integration::Adaptive, const GaudiMath::Integration::KronrodRule rule=GaudiMath::Integration::Default, const double epsabs=1.e-10, const double epsrel=1.e-7, const size_t size=1000)
KronrodRule
integration rule
Genfun::GaudiMathImplementation::Constant Constant
This class allows the numerical evaluation of the following functions: