Logo ROOT  
Reference Guide
Numerical Integration

Classes for numerical integration of functions.

These classes provide algorithms for integration of one-dimensional functions, with several adaptive and non-adaptive methods and for integration of multi-dimensional function using an adaptive method or MonteCarlo Integration (GSLMCIntegrator). The basic classes ROOT::Math::IntegratorOneDim provides a common interface for the one-dimensional methods while the class ROOT::Math::IntegratorMultiDim provides the interface for the multi-dimensional ones. The methods can be configured (e.g setting the default method with its default parameters) using the ROOT::Math::IntegratorOneDimOptions and ROOT::Math::IntegratorMultiDimOptions classes.

Modules

 Numerical Monte Carlo Integration Classes
 Classes implementing method for Monte Carlo Integration.
 

Classes

class  ROOT::Math::AdaptiveIntegratorMultiDim
 Class for adaptive quadrature integration in multi-dimensions using rectangular regions. More...
 
class  ROOT::Math::BaseIntegratorOptions
 Base class for Numerical integration options common in 1D and multi-dimension This is an internal class and is not supposed to be instantiated by the user. More...
 
class  ROOT::Math::GaussIntegrator
 User class for performing function integration. More...
 
class  ROOT::Math::GaussLegendreIntegrator
 User class for performing function integration. More...
 
class  ROOT::Math::GSLIntegrator
 Class for performing numerical integration of a function in one dimension. More...
 
class  ROOT::Math::IntegratorMultiDim
 User class for performing multidimensional integration. More...
 
class  ROOT::Math::IntegratorMultiDimOptions
 Numerical multi dimensional integration options. More...
 
class  ROOT::Math::IntegratorOneDim
 User Class for performing numerical integration of a function in one dimension. More...
 
class  ROOT::Math::IntegratorOneDimOptions
 Numerical one dimensional integration options. More...
 
class  ROOT::Math::VirtualIntegrator
 Abstract class for all numerical integration methods (1D and multi-dim) Interface defining the common methods for the numerical integrator classes of one and multi dimensions The derived class VirtualIntegratorOneDim defines the methods for one-dimensional integration. More...
 
class  ROOT::Math::VirtualIntegratorMultiDim
 Interface (abstract) class for multi numerical integration It must be implemented by the concrete Integrator classes like ROOT::Math::GSLMCIntegrator. More...
 
class  ROOT::Math::VirtualIntegratorOneDim
 Interface (abstract) class for 1D numerical integration It must be implemented by the concrete Integrator classes like ROOT::Math::GSLIntegrator. More...
 

Enumerations

enum  ROOT::Math::Integration::GKRule {
  ROOT::Math::Integration::kGAUSS15 = 1, ROOT::Math::Integration::kGAUSS21 = 2, ROOT::Math::Integration::kGAUSS31 = 3, ROOT::Math::Integration::kGAUSS41 = 4,
  ROOT::Math::Integration::kGAUSS51 = 5, ROOT::Math::Integration::kGAUSS61 = 6
}
 enumeration specifying the Gauss-KronRod integration rule for ADAPTIVE integration type More...
 
enum  ROOT::Math::IntegrationOneDim::Type {
  ROOT::Math::IntegrationOneDim::kDEFAULT = -1, ROOT::Math::IntegrationOneDim::kGAUSS, ROOT::Math::IntegrationOneDim::kLEGENDRE, ROOT::Math::IntegrationOneDim::kADAPTIVE,
  ROOT::Math::IntegrationOneDim::kADAPTIVESINGULAR, ROOT::Math::IntegrationOneDim::kNONADAPTIVE
}
 enumeration specifying the integration types. More...
 

Enumeration Type Documentation

◆ GKRule

enumeration specifying the Gauss-KronRod integration rule for ADAPTIVE integration type

Enumerator
kGAUSS15 
kGAUSS21 
kGAUSS31 
kGAUSS41 
kGAUSS51 
kGAUSS61 

Definition at line 58 of file IntegrationTypes.h.

◆ Type

enumeration specifying the integration types.

Enumerator
kDEFAULT 

default type specifiend in the static options

kGAUSS 

simple Gauss integration method with fixed rule

kLEGENDRE 

Gauss-Legendre integration.

kADAPTIVE 

to be used for general functions without singularities

kADAPTIVESINGULAR 

default adaptive integration type which can be used in the case of the presence of singularities.

kNONADAPTIVE 

to be used for smooth functions

Definition at line 32 of file AllIntegrationTypes.h.