Logo ROOT  
Reference Guide
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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")

Classes

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

◆ GSLMonteFuncPointer

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

◆ Type

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.