Gaudi Framework, version v21r9

Home   Generated: 3 May 2010

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 136 of file Integral.cpp.

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

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 108 of file Integral.cpp.

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

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 82 of file Integral.cpp.

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

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 54 of file Integral.cpp.

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

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 26 of file Integral.cpp.

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


Generated at Mon May 3 12:28:52 2010 for Gaudi Framework, version v21r9 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004