Gaudi Framework, version v22r0

Home   Generated: 9 Feb 2011

GaudiMath Namespace Reference

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

Namespaces

namespace  Integration
namespace  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

GaudiMath.h GaudiMath/GaudiMath.h.

Author:
Vanya BELYAEV Ivan.Belyaev@itep.ru
Date:
2003-08-31

Typedef Documentation

Definition at line 18 of file Adapters.h.

Definition at line 29 of file GaudiMath.h.

Definition at line 37 of file GaudiMath.h.

Definition at line 31 of file GaudiMath.h.

typedef Genfun::AbsFunction GaudiMath::Function

Definition at line 26 of file GaudiMath.h.

Definition at line 20 of file Adapters.h.

Definition at line 22 of file Adapters.h.

Definition at line 29 of file Adapters.h.

Definition at line 27 of file Adapters.h.

Definition at line 31 of file Adapters.h.

Definition at line 35 of file GaudiMath.h.

Definition at line 33 of file GaudiMath.h.

Definition at line 24 of file Adapters.h.

Definition at line 40 of file GaudiMath.h.

Definition at line 42 of file GaudiMath.h.

Definition at line 44 of file GaudiMath.h.

Definition at line 46 of file GaudiMath.h.

Definition at line 48 of file GaudiMath.h.


Function Documentation

GSLFunctionWithModeAndError GaudiMath::adapter ( GSLFunctionWithModeAndError::Function  function,
const gsl_mode_t &  mode 
)

Definition at line 63 of file Adapters.cpp.

00065   { return GSLFunctionWithModeAndError ( function , mode ) ; }

GSLFunctionWithError GaudiMath::adapter ( GSLFunctionWithError::Function  function  ) 

Definition at line 59 of file Adapters.cpp.

00060   { return GSLFunctionWithError ( function ) ; }

GSLFunctionWithMode GaudiMath::adapter ( GSLFunctionWithMode::Function  function,
const gsl_mode_t &  mode 
)

Definition at line 54 of file Adapters.cpp.

00056   { return GSLFunctionWithMode  ( function , mode ) ; }

SimpleFunction GaudiMath::adapter ( const size_t  dim,
SimpleFunction::Function3  function 
)

Definition at line 49 of file Adapters.cpp.

00051   { return SimpleFunction ( function , dim ) ; }

SimpleFunction GaudiMath::adapter ( const size_t  dim,
SimpleFunction::Function2  function 
)

Definition at line 44 of file Adapters.cpp.

00046   { return SimpleFunction ( function , dim ) ; }

SimpleFunction GaudiMath::adapter ( SimpleFunction::Function1  function  ) 

Definition at line 40 of file Adapters.cpp.

00041   { return SimpleFunction ( function ) ; }

Function3D GaudiMath::adapter ( Function3D::Function  function  ) 

Definition at line 36 of file Adapters.cpp.

00037   { return Function3D ( function ) ; }

Function2D GaudiMath::adapter ( Function2D::Function  function  ) 

Definition at line 32 of file Adapters.cpp.

00033   { return Function2D ( function ) ; }

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

Definition at line 28 of file Adapters.cpp.

00029   { return AIDAFunction( function ) ; }

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.

00144   {
00145     if ( 1 != function.dimensionality() )
00146       { throw GaudiException
00147           ("GaudiMath::Integral: illegal function dimension" ,
00148            "*GaudiMath*" , StatusCode::FAILURE ); }
00149 
00150     const Genfun::AbsFunction& one   =
00151       Genfun::GaudiMathImplementation::Constant ( 1.0 , 1 ) ;
00152 
00153     const Genfun::AbsFunction& cross =
00154       Genfun::FunctionDirectProduct (&one , &function ) ;
00155 
00156     // FIXME: (MCl) the static_cast below are needed to avoid warnings and to
00157     // match the signature in NumericalDefiniteIntegral.h (around line 288).
00158     const Genfun::AbsFunction& result =
00159       Genfun::GaudiMathImplementation::NumericalDefiniteIntegral
00160       ( cross , 1 , static_cast<float>(epsabs) , static_cast<float>(epsrel) , size ) ;
00161 
00162     return result( Genfun::Argument(1) ) ;
00163   }

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.

00116   {
00117     if ( 1 != function.dimensionality() )
00118       { throw GaudiException
00119           ("GaudiMath::Integral: illegal function dimension" ,
00120            "*GaudiMath*" , StatusCode::FAILURE ); }
00121 
00122     const Genfun::AbsFunction& one   =
00123       Genfun::GaudiMathImplementation::Constant ( 1.0 , 1 ) ;
00124 
00125     const Genfun::AbsFunction& cross =
00126       Genfun::FunctionDirectProduct (&one , &function ) ;
00127 
00128     const Genfun::AbsFunction& result =
00129       Genfun::GaudiMathImplementation::NumericalDefiniteIntegral
00130       ( cross , 1 , a , b , epsabs , epsrel , size ) ;
00131 
00132     return result( Genfun::Argument(1) ) ;
00133   }

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.

00090   {
00091     if ( 1 != function.dimensionality() )
00092       { throw GaudiException
00093           ("GaudiMath::Integral: illegal function dimension" ,
00094            "*GaudiMath*" , StatusCode::FAILURE ); }
00095 
00096     const Genfun::AbsFunction& one   =
00097       Genfun::GaudiMathImplementation::Constant ( 1.0 , 1 ) ;
00098 
00099     const Genfun::AbsFunction& cross =
00100       Genfun::FunctionDirectProduct (&one , &function ) ;
00101 
00102     const Genfun::AbsFunction& result =
00103       Genfun::GaudiMathImplementation::NumericalDefiniteIntegral
00104       ( cross , 1 , a , b , epsabs , epsrel , size ) ;
00105 
00106     return result( Genfun::Argument(1) ) ;
00107   }

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.

00063   {
00064 
00065   if ( 1 != function.dimensionality() )
00066       { throw GaudiException
00067           ("GaudiMath::Integral: illegal function dimension" ,
00068            "*GaudiMath*" , StatusCode::FAILURE ); }
00069 
00070     const Genfun::AbsFunction& one   =
00071       Genfun::GaudiMathImplementation::Constant ( 1.0 , 1 ) ;
00072 
00073     const Genfun::AbsFunction& cross =
00074       Genfun::FunctionDirectProduct (&one , &function ) ;
00075 
00076     const Genfun::AbsFunction& result =
00077       Genfun::GaudiMathImplementation::NumericalDefiniteIntegral
00078       ( cross , 1 , a , b, points , epsabs , epsrel , size ) ;
00079 
00080     return result( Genfun::Argument(1) ) ;
00081   }

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.

00036   {
00037     if ( 1 != function.dimensionality() )
00038       { throw GaudiException
00039           ("GaudiMath::Integral: illegal function dimension" ,
00040            "*GaudiMath*" , StatusCode::FAILURE ); }
00041 
00042     const Genfun::AbsFunction& one   =
00043       Genfun::GaudiMathImplementation::Constant ( 1.0 , 1 ) ;
00044 
00045     const Genfun::AbsFunction& cross =
00046       Genfun::FunctionDirectProduct (&one , &function ) ;
00047 
00048     const Genfun::AbsFunction& result =
00049       Genfun::GaudiMathImplementation::NumericalDefiniteIntegral
00050       ( cross , 1 , a , b, type , rule , epsabs , epsrel , size ) ;
00051 
00052     return result( Genfun::Argument(1) ) ;
00053   }

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Wed Feb 9 16:33:26 2011 for Gaudi Framework, version v22r0 by Doxygen version 1.6.2 written by Dimitri van Heesch, © 1997-2004