Gaudi Framework, version v23r2

Home   Generated: Thu Jun 28 2012
Namespaces | Typedefs | Functions

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

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

Definition at line 28 of file Adapters.cpp.

  { return AIDAFunction( function ) ; }
Function2D GaudiMath::adapter ( Function2D::Function  function )

Definition at line 32 of file Adapters.cpp.

  { return Function2D ( function ) ; }
SimpleFunction GaudiMath::adapter ( SimpleFunction::Function1  function )

Definition at line 40 of file Adapters.cpp.

  { return SimpleFunction ( function ) ; }
GSLFunctionWithError GaudiMath::adapter ( GSLFunctionWithError::Function  function )

Definition at line 59 of file Adapters.cpp.

  { return GSLFunctionWithError ( function ) ; }
GSLFunctionWithModeAndError GaudiMath::adapter ( GSLFunctionWithModeAndError::Function  function,
const gsl_mode_t &  mode 
)

Definition at line 63 of file Adapters.cpp.

  { return GSLFunctionWithModeAndError ( function , mode ) ; }
SimpleFunction GaudiMath::adapter ( const size_t  dim,
SimpleFunction::Function2  function 
)

Definition at line 44 of file Adapters.cpp.

  { return SimpleFunction ( function , dim ) ; }
Function3D GaudiMath::adapter ( Function3D::Function  function )

Definition at line 36 of file Adapters.cpp.

  { return Function3D ( function ) ; }
SimpleFunction GaudiMath::adapter ( const size_t  dim,
SimpleFunction::Function3  function 
)

Definition at line 49 of file Adapters.cpp.

  { return SimpleFunction ( function , dim ) ; }
GSLFunctionWithMode GaudiMath::adapter ( GSLFunctionWithMode::Function  function,
const gsl_mode_t &  mode 
)

Definition at line 54 of file Adapters.cpp.

  { return GSLFunctionWithMode  ( function , mode ) ; }
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.

  {
    if ( 1 != function.dimensionality() )
      { throw GaudiException
          ("GaudiMath::Integral: illegal function dimension" ,
           "*GaudiMath*" , StatusCode::FAILURE ); }

    const Genfun::AbsFunction& one   =
      Genfun::GaudiMathImplementation::Constant ( 1.0 , 1 ) ;

    const Genfun::AbsFunction& cross =
      Genfun::FunctionDirectProduct (&one , &function ) ;

    const Genfun::AbsFunction& result =
      Genfun::GaudiMathImplementation::NumericalDefiniteIntegral
      ( cross , 1 , a , b , epsabs , epsrel , size ) ;

    return result( Genfun::Argument(1) ) ;
  }
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.

  {

  if ( 1 != function.dimensionality() )
      { throw GaudiException
          ("GaudiMath::Integral: illegal function dimension" ,
           "*GaudiMath*" , StatusCode::FAILURE ); }

    const Genfun::AbsFunction& one   =
      Genfun::GaudiMathImplementation::Constant ( 1.0 , 1 ) ;

    const Genfun::AbsFunction& cross =
      Genfun::FunctionDirectProduct (&one , &function ) ;

    const Genfun::AbsFunction& result =
      Genfun::GaudiMathImplementation::NumericalDefiniteIntegral
      ( cross , 1 , a , b, points , epsabs , epsrel , size ) ;

    return result( Genfun::Argument(1) ) ;
  }
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.

  {
    if ( 1 != function.dimensionality() )
      { throw GaudiException
          ("GaudiMath::Integral: illegal function dimension" ,
           "*GaudiMath*" , StatusCode::FAILURE ); }

    const Genfun::AbsFunction& one   =
      Genfun::GaudiMathImplementation::Constant ( 1.0 , 1 ) ;

    const Genfun::AbsFunction& cross =
      Genfun::FunctionDirectProduct (&one , &function ) ;

    const Genfun::AbsFunction& result =
      Genfun::GaudiMathImplementation::NumericalDefiniteIntegral
      ( cross , 1 , a , b , epsabs , epsrel , size ) ;

    return result( Genfun::Argument(1) ) ;
  }
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.

  {
    if ( 1 != function.dimensionality() )
      { throw GaudiException
          ("GaudiMath::Integral: illegal function dimension" ,
           "*GaudiMath*" , StatusCode::FAILURE ); }

    const Genfun::AbsFunction& one   =
      Genfun::GaudiMathImplementation::Constant ( 1.0 , 1 ) ;

    const Genfun::AbsFunction& cross =
      Genfun::FunctionDirectProduct (&one , &function ) ;

    // FIXME: (MCl) the static_cast below are needed to avoid warnings and to
    // match the signature in NumericalDefiniteIntegral.h (around line 288).
    const Genfun::AbsFunction& result =
      Genfun::GaudiMathImplementation::NumericalDefiniteIntegral
      ( cross , 1 , static_cast<float>(epsabs) , static_cast<float>(epsrel) , size ) ;

    return result( Genfun::Argument(1) ) ;
  }
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.

  {
    if ( 1 != function.dimensionality() )
      { throw GaudiException
          ("GaudiMath::Integral: illegal function dimension" ,
           "*GaudiMath*" , StatusCode::FAILURE ); }

    const Genfun::AbsFunction& one   =
      Genfun::GaudiMathImplementation::Constant ( 1.0 , 1 ) ;

    const Genfun::AbsFunction& cross =
      Genfun::FunctionDirectProduct (&one , &function ) ;

    const Genfun::AbsFunction& result =
      Genfun::GaudiMathImplementation::NumericalDefiniteIntegral
      ( cross , 1 , a , b, type , rule , epsabs , epsrel , size ) ;

    return result( Genfun::Argument(1) ) ;
  }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Thu Jun 28 2012 23:27:51 for Gaudi Framework, version v23r2 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004