ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Typedefs | Enumerations
Numerical Monte Carlo Integration Classes

Classes implementing method for Monte Carlo Integration.

Class for performing numerical integration of a multidimensional function. It uses the numerical integration algorithms of GSL, which reimplements the algorithms used in the QUADPACK, a numerical integration package written in Fortran.

Plain MC, MISER and VEGAS integration algorithms are supported for integration over finite (hypercubic) ranges.

GSL Manual.

It implements also the interface ROOT::Math::VirtualIntegratorMultiDim so it can be instantiate using the plugin manager (plugin name is "GSLMCIntegrator")

Collaboration diagram for Numerical Monte Carlo Integration Classes:

Classes

struct  ROOT::Math::VegasParameters
 structures collecting parameters for VEGAS multidimensional integration FOr implementation of default parameters see file mathmore/src/GSLMCIntegrationWorkspace.h More...
 
struct  ROOT::Math::MiserParameters
 structures collecting parameters for MISER multidimensional integration More...
 
class  ROOT::Math::GSLMonteFunctionWrapper
 wrapper to a multi-dim function withtout derivatives for Monte Carlo multi-dimensional integration algorithm More...
 

Typedefs

typedef double(* ROOT::Math::GSLMonteFuncPointer )(double *, size_t, void *)
 Class for adapting any multi-dimension C++ functor class to C function pointers used by GSL MonteCarlo integration algorithms. More...
 

Enumerations

enum  ROOT::Math::IntegrationMultiDim::Type {
  ROOT::Math::IntegrationMultiDim::kDEFAULT = -1, ROOT::Math::IntegrationMultiDim::kADAPTIVE, ROOT::Math::IntegrationMultiDim::kVEGAS, ROOT::Math::IntegrationMultiDim::kMISER,
  ROOT::Math::IntegrationMultiDim::kPLAIN
}
 enumeration specifying the integration types. More...
 

Typedef Documentation

typedef double(* ROOT::Math::GSLMonteFuncPointer)(double *, size_t, void *)

Class for adapting any multi-dimension C++ functor class to C function pointers used by GSL MonteCarlo integration algorithms.

The templated C++ function class must implement:

double operator( const double * x)

This class defines static methods with will be used to fill the gsl_monte_function used by GSL. See for examples the GSL online manual

Definition at line 56 of file GSLMonteFunctionAdapter.h.

Enumeration Type Documentation

enumeration specifying the integration types.

  • kDEFAULT : default type specified in the static option
  • kADAPTIVE : adaptive multi-dimensional integration
  • kPLAIN MC integration
  • kMISER MC integration
  • kVEGAS MC integration
Enumerator
kDEFAULT 
kADAPTIVE 
kVEGAS 
kMISER 
kPLAIN 

Definition at line 65 of file AllIntegrationTypes.h.