All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
GaudiMath Namespace Reference

GaudiMath.h GaudiMath/GaudiMath.h. More...

Namespaces

 Integration
 
 Interpolation
 

Typedefs

typedef
Genfun::GaudiMathImplementation::AdapterIFunction 
AIDAFunction
 
typedef
Genfun::GaudiMathImplementation::Adapter2DoubleFunction 
Function2D
 
typedef
Genfun::GaudiMathImplementation::Adapter3DoubleFunction 
Function3D
 
typedef
Genfun::GaudiMathImplementation::SimpleFunction 
SimpleFunction
 
typedef
Genfun::GaudiMathImplementation::GSLFunctionWithMode 
GSLFunctionWithMode
 
typedef
Genfun::GaudiMathImplementation::GSLFunctionWithError 
GSLFunctionWithError
 
typedef
Genfun::GaudiMathImplementation::GSLFunctionWithModeAndError 
GSLFunctionWithModeAndError
 
typedef Genfun::AbsFunction Function
 
typedef
Genfun::GaudiMathImplementation::Constant 
Constant
 
typedef
Genfun::GaudiMathImplementation::NumericalDerivative 
Derivative
 
typedef
Genfun::GaudiMathImplementation::SimpleFunction 
SimpleFun
 
typedef
Genfun::GaudiMathImplementation::NumericalIndefiniteIntegral 
IndIntegral
 
typedef
Genfun::GaudiMathImplementation::NumericalDefiniteIntegral 
DefIntegral
 
typedef
Genfun::GaudiMathImplementation::SplineBase 
SimpleSpline
 
typedef
Genfun::GaudiMathImplementation::GSLSpline 
Spline
 
typedef
Genfun::GaudiMathImplementation::GSLSplineDeriv 
SplineDeriv
 
typedef
Genfun::GaudiMathImplementation::GSLSplineDeriv2 
SplineDeriv2
 
typedef
Genfun::GaudiMathImplementation::GSLSplineInteg 
SplineInteg
 

Functions

GAUDI_API AIDAFunction adapter (const AIDA::IFunction &function)
 
GAUDI_API Function2D adapter (Function2D::Function function)
 
GAUDI_API Function3D adapter (Function3D::Function function)
 
GAUDI_API SimpleFunction adapter (SimpleFunction::Function1 function)
 
GAUDI_API SimpleFunction adapter (const size_t dim, SimpleFunction::Function2 function)
 
GAUDI_API SimpleFunction adapter (const size_t dim, SimpleFunction::Function3 function)
 
GAUDI_API GSLFunctionWithMode adapter (GSLFunctionWithMode::Function function, const gsl_mode_t &mode)
 
GAUDI_API GSLFunctionWithError adapter (GSLFunctionWithError::Function function)
 
GAUDI_API
GSLFunctionWithModeAndError 
adapter (GSLFunctionWithModeAndError::Function function, const gsl_mode_t &mode)
 
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)
 
GAUDI_API double Integral (const Genfun::AbsFunction &function, const double a, const double b, const std::vector< double > &points, const double epsabs=1e-9, const double epsrel=1.e-6, const size_t size=1000)
 
GAUDI_API double Integral (const Genfun::AbsFunction &function, const double a, const GaudiMath::Integration::Inf b=GaudiMath::Integration::Infinity, const double epsabs=1e-9, const double epsrel=1.e-6, const size_t size=1000)
 
GAUDI_API double Integral (const Genfun::AbsFunction &function, const GaudiMath::Integration::Inf a, const double b, const double epsabs=1e-9, const double epsrel=1.e-6, const size_t size=1000)
 
GAUDI_API double Integral (const Genfun::AbsFunction &function, const GaudiMath::Integration::Inf a=GaudiMath::Integration::Infinity, const GaudiMath::Integration::Inf b=GaudiMath::Integration::Infinity, const double epsabs=1e-9, const double epsrel=1.e-6, const size_t size=1000)
 

Detailed Description

Typedef Documentation

typedef Genfun::AbsFunction GaudiMath::Function

Definition at line 26 of file GaudiMath.h.

Function Documentation

AIDAFunction GaudiMath::adapter ( const AIDA::IFunction &  function)

Definition at line 28 of file Adapters.cpp.

29  { return AIDAFunction( function ) ; }
Genfun::GaudiMathImplementation::AdapterIFunction AIDAFunction
Definition: Adapters.h:18
Function2D GaudiMath::adapter ( Function2D::Function  function)

Definition at line 32 of file Adapters.cpp.

33  { return Function2D ( function ) ; }
Genfun::GaudiMathImplementation::Adapter2DoubleFunction Function2D
Definition: Adapters.h:20
Function3D GaudiMath::adapter ( Function3D::Function  function)

Definition at line 36 of file Adapters.cpp.

37  { return Function3D ( function ) ; }
Genfun::GaudiMathImplementation::Adapter3DoubleFunction Function3D
Definition: Adapters.h:22
SimpleFunction GaudiMath::adapter ( SimpleFunction::Function1  function)

Definition at line 40 of file Adapters.cpp.

41  { return SimpleFunction ( function ) ; }
Genfun::GaudiMathImplementation::SimpleFunction SimpleFunction
Definition: Adapters.h:24
SimpleFunction GaudiMath::adapter ( const size_t  dim,
SimpleFunction::Function2  function 
)

Definition at line 44 of file Adapters.cpp.

46  { return SimpleFunction ( function , dim ) ; }
Genfun::GaudiMathImplementation::SimpleFunction SimpleFunction
Definition: Adapters.h:24
SimpleFunction GaudiMath::adapter ( const size_t  dim,
SimpleFunction::Function3  function 
)

Definition at line 49 of file Adapters.cpp.

51  { return SimpleFunction ( function , dim ) ; }
Genfun::GaudiMathImplementation::SimpleFunction SimpleFunction
Definition: Adapters.h:24
GSLFunctionWithMode GaudiMath::adapter ( GSLFunctionWithMode::Function  function,
const gsl_mode_t &  mode 
)

Definition at line 54 of file Adapters.cpp.

56  { return GSLFunctionWithMode ( function , mode ) ; }
Genfun::GaudiMathImplementation::GSLFunctionWithMode GSLFunctionWithMode
Definition: Adapters.h:27
GSLFunctionWithError GaudiMath::adapter ( GSLFunctionWithError::Function  function)

Definition at line 59 of file Adapters.cpp.

60  { return GSLFunctionWithError ( function ) ; }
Genfun::GaudiMathImplementation::GSLFunctionWithError GSLFunctionWithError
Definition: Adapters.h:29
GSLFunctionWithModeAndError GaudiMath::adapter ( GSLFunctionWithModeAndError::Function  function,
const gsl_mode_t &  mode 
)

Definition at line 63 of file Adapters.cpp.

65  { return GSLFunctionWithModeAndError ( function , mode ) ; }
Genfun::GaudiMathImplementation::GSLFunctionWithModeAndError GSLFunctionWithModeAndError
Definition: Adapters.h:31
double GaudiMath::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 
)

Definition at line 28 of file Integral.cpp.

36  {
37  if ( 1 != function.dimensionality() )
38  { throw GaudiException
39  ("GaudiMath::Integral: illegal function dimension" ,
40  "*GaudiMath*" , StatusCode::FAILURE ); }
41 
42  const Genfun::AbsFunction& one =
44 
45  const Genfun::AbsFunction& cross =
46  Genfun::FunctionDirectProduct (&one , &function ) ;
47 
48  const Genfun::AbsFunction& result =
50  ( cross , 1 , a , b, type , rule , epsabs , epsrel , size ) ;
51 
52  return result( Genfun::Argument(1) ) ;
53  }
Define general base for Gaudi exception.
string type
Definition: gaudirun.py:126
Genfun::GaudiMathImplementation::Constant Constant
Definition: GaudiMath.h:29
This class allows the numerical evaluation of the following functions:
double GaudiMath::Integral ( const Genfun::AbsFunction &  function,
const double  a,
const double  b,
const std::vector< double > &  points,
const double  epsabs = 1e-9,
const double  epsrel = 1.e-6,
const size_t  size = 1000 
)

Definition at line 56 of file Integral.cpp.

63  {
64 
65  if ( 1 != function.dimensionality() )
66  { throw GaudiException
67  ("GaudiMath::Integral: illegal function dimension" ,
68  "*GaudiMath*" , StatusCode::FAILURE ); }
69 
70  const Genfun::AbsFunction& one =
72 
73  const Genfun::AbsFunction& cross =
74  Genfun::FunctionDirectProduct (&one , &function ) ;
75 
76  const Genfun::AbsFunction& result =
78  ( cross , 1 , a , b, points , epsabs , epsrel , size ) ;
79 
80  return result( Genfun::Argument(1) ) ;
81  }
Define general base for Gaudi exception.
Genfun::GaudiMathImplementation::Constant Constant
Definition: GaudiMath.h:29
This class allows the numerical evaluation of the following functions:
double GaudiMath::Integral ( const Genfun::AbsFunction &  function,
const double  a,
const GaudiMath::Integration::Inf  b = GaudiMath::Integration::Infinity,
const double  epsabs = 1e-9,
const double  epsrel = 1.e-6,
const size_t  size = 1000 
)

Definition at line 84 of file Integral.cpp.

90  {
91  if ( 1 != function.dimensionality() )
92  { throw GaudiException
93  ("GaudiMath::Integral: illegal function dimension" ,
94  "*GaudiMath*" , StatusCode::FAILURE ); }
95 
96  const Genfun::AbsFunction& one =
98 
99  const Genfun::AbsFunction& cross =
100  Genfun::FunctionDirectProduct (&one , &function ) ;
101 
102  const Genfun::AbsFunction& result =
104  ( cross , 1 , a , b , epsabs , epsrel , size ) ;
105 
106  return result( Genfun::Argument(1) ) ;
107  }
Define general base for Gaudi exception.
Genfun::GaudiMathImplementation::Constant Constant
Definition: GaudiMath.h:29
This class allows the numerical evaluation of the following functions:
double GaudiMath::Integral ( const Genfun::AbsFunction &  function,
const GaudiMath::Integration::Inf  a,
const double  b,
const double  epsabs = 1e-9,
const double  epsrel = 1.e-6,
const size_t  size = 1000 
)

Definition at line 110 of file Integral.cpp.

116  {
117  if ( 1 != function.dimensionality() )
118  { throw GaudiException
119  ("GaudiMath::Integral: illegal function dimension" ,
120  "*GaudiMath*" , StatusCode::FAILURE ); }
121 
122  const Genfun::AbsFunction& one =
124 
125  const Genfun::AbsFunction& cross =
126  Genfun::FunctionDirectProduct (&one , &function ) ;
127 
128  const Genfun::AbsFunction& result =
130  ( cross , 1 , a , b , epsabs , epsrel , size ) ;
131 
132  return result( Genfun::Argument(1) ) ;
133  }
Define general base for Gaudi exception.
Genfun::GaudiMathImplementation::Constant Constant
Definition: GaudiMath.h:29
This class allows the numerical evaluation of the following functions:
double GaudiMath::Integral ( const Genfun::AbsFunction &  function,
const GaudiMath::Integration::Inf  a = GaudiMath::Integration::Infinity,
const GaudiMath::Integration::Inf  b = GaudiMath::Integration::Infinity,
const double  epsabs = 1e-9,
const double  epsrel = 1.e-6,
const size_t  size = 1000 
)

Definition at line 138 of file Integral.cpp.

144  {
145  if ( 1 != function.dimensionality() )
146  { throw GaudiException
147  ("GaudiMath::Integral: illegal function dimension" ,
148  "*GaudiMath*" , StatusCode::FAILURE ); }
149 
150  const Genfun::AbsFunction& one =
152 
153  const Genfun::AbsFunction& cross =
154  Genfun::FunctionDirectProduct (&one , &function ) ;
155 
156  // FIXME: (MCl) the static_cast below are needed to avoid warnings and to
157  // match the signature in NumericalDefiniteIntegral.h (around line 288).
158  const Genfun::AbsFunction& result =
160  ( cross , 1 , static_cast<float>(epsabs) , static_cast<float>(epsrel) , size ) ;
161 
162  return result( Genfun::Argument(1) ) ;
163  }
Define general base for Gaudi exception.
Genfun::GaudiMathImplementation::Constant Constant
Definition: GaudiMath.h:29
This class allows the numerical evaluation of the following functions: