Logo ROOT   6.12/07
Reference Guide
Modules | Classes | Enumerations
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 defult 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 concrate 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.

  • kDEFAULT: default type specifiend in the static options
  • kGAUSS: simple Gauss integration method with fixed rule
  • kLEGENDRE: Gauss-Legendre integration
  • kNONADAPTIVE : to be used for smooth functions
  • 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.
Enumerator
kDEFAULT 
kGAUSS 
kLEGENDRE 
kADAPTIVE 
kADAPTIVESINGULAR 
kNONADAPTIVE 

Definition at line 45 of file AllIntegrationTypes.h.