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