Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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
 Structure 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.
 

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.

Enumerator
kDEFAULT 

default type specified in the static option

kADAPTIVE 

adaptive multi-dimensional integration

kVEGAS 

MC integration.

kMISER 

MC integration.

kPLAIN 

MC integration.

Definition at line 47 of file AllIntegrationTypes.h.