User class for performing function integration.
It will use the Gauss-Legendre Method for function integration in a given interval. This class is implemented from TF1::Integral().
Definition at line 37 of file GaussLegendreIntegrator.h.
Public Member Functions | |
| GaussLegendreIntegrator (int num=10, double eps=1e-12) | |
| Basic constructor of GaussLegendreIntegrator.   | |
| ~GaussLegendreIntegrator () override | |
| Default Destructor.   | |
| int | GetNumberPoints () const | 
| void | GetWeightVectors (double *x, double *w) const | 
| Returns the arrays x and w containing the abscissa and weight of the Gauss-Legendre n-point quadrature formula.   | |
| int | NEval () const override | 
| return number of function evaluations in calculating the integral This is equivalent to the number of points   | |
| ROOT::Math::IntegratorOneDimOptions | Options () const override | 
| get the option used for the integration   | |
| void | SetAbsTolerance (double) override | 
| This method is not implemented.   | |
| void | SetNumberPoints (int num) | 
| Set the number of points used in the calculation of the integral.   | |
| void | SetOptions (const ROOT::Math::IntegratorOneDimOptions &opt) override | 
| set the options (should be re-implemented by derived classes -if more options than tolerance exist   | |
| void | SetRelTolerance (double) override | 
| Set the desired relative Error.   | |
  Public Member Functions inherited from ROOT::Math::GaussIntegrator | |
| GaussIntegrator (double absTol=-1, double relTol=-1) | |
| Default Constructor.   | |
| ~GaussIntegrator () override | |
| Destructor.   | |
| void | AbsValue (bool flag) | 
| Static function: set the fgAbsValue flag.   | |
| double | Error () const override | 
| Return the estimate of the absolute Error of the last Integral calculation.   | |
| double | Integral () override | 
| Returns Integral of function on an infinite interval.   | |
| double | Integral (const std::vector< double > &pts) override | 
| This method is not implemented.   | |
| double | Integral (double a, double b) override | 
| Returns Integral of function between a and b.   | |
| double | IntegralCauchy (double a, double b, double c) override | 
| This method is not implemented.   | |
| double | IntegralLow (double b) override | 
| Returns Integral of function on a lower semi-infinite interval.   | |
| double | IntegralUp (double a) override | 
| Returns Integral of function on an upper semi-infinite interval.   | |
| double | Result () const override | 
| Returns the result of the last Integral calculation.   | |
| void | SetFunction (const IGenFunction &) override | 
| Set integration function (flag control if function must be copied inside).   | |
| int | Status () const override | 
| return the status of the last integration - 0 in case of success   | |
  Public Member Functions inherited from ROOT::Math::VirtualIntegratorOneDim | |
| ~VirtualIntegratorOneDim () override | |
| destructor: no operation   | |
| virtual ROOT::Math::IntegrationOneDim::Type | Type () const | 
| return type of integrator   | |
  Public Member Functions inherited from ROOT::Math::VirtualIntegrator | |
| virtual | ~VirtualIntegrator () | 
| destructor: no operation   | |
Protected Attributes | |
| int | fNum | 
| Number of points used in the estimation of the integral.   | |
| double * | fW | 
| Weights of the points used.   | |
| double * | fX | 
| Abscisa of the points used.   | |
  Protected Attributes inherited from ROOT::Math::GaussIntegrator | |
| double | fEpsAbs | 
| Absolute error.   | |
| double | fEpsRel | 
| Relative error.   | |
| const IGenFunction * | fFunction | 
| Pointer to function used.   | |
| double | fLastError | 
| Error from the last estimation.   | |
| double | fLastResult | 
| Result from the last estimation.   | |
| bool | fUsedOnce | 
| Bool value to check if the function was at least called once.   | |
Private Member Functions | |
| void | CalcGaussLegendreSamplingPoints () | 
| Type: unsafe but fast interface filling the arrays x and w (static method)   | |
| double | DoIntegral (double a, double b, const IGenFunction *func) override | 
| Integration surrogate method.   | |
Additional Inherited Members | |
  Static Protected Attributes inherited from ROOT::Math::GaussIntegrator | |
| static bool | fgAbsValue = false | 
| AbsValue used for the calculation of the integral.   | |
#include <Math/GaussLegendreIntegrator.h>
Basic constructor of GaussLegendreIntegrator.
@param num Number of desired points to calculate the integration. @param eps Desired relative error.
Definition at line 23 of file GaussLegendreIntegrator.cxx.
      
  | 
  override | 
Default Destructor.
Definition at line 34 of file GaussLegendreIntegrator.cxx.
      
  | 
  private | 
Type: unsafe but fast interface filling the arrays x and w (static method)
Given the number of sampling points this routine fills the arrays x and w of length num, containing the abscissa and weight of the Gauss-Legendre n-point quadrature formula.
Gauss-Legendre: W(x)=1 -1<x<1 (j+1)P_{j+1} = (2j+1)xP_j-jP_{j-1}
num is the number of sampling points (>0) x and w are arrays of size num eps is the relative precision
If num<=0 or eps<=0 no action is done.
Reference: Numerical Recipes in C, Second Edition
Definition at line 98 of file GaussLegendreIntegrator.cxx.
      
  | 
  overrideprivatevirtual | 
Integration surrogate method.
Return integral of passed function in interval [a,b] Reimplement method of GaussIntegrator using CalcGaussLegendreSamplingPoints
Reimplemented from ROOT::Math::GaussIntegrator.
Definition at line 60 of file GaussLegendreIntegrator.cxx.
      
  | 
  inline | 
Definition at line 68 of file GaussLegendreIntegrator.h.
Returns the arrays x and w containing the abscissa and weight of the Gauss-Legendre n-point quadrature formula.
Gauss-Legendre: W(x)=1 -1<x<1 (j+1)P_{j+1} = (2j+1)xP_j-jP_{j-1}
Definition at line 51 of file GaussLegendreIntegrator.cxx.
      
  | 
  inlineoverridevirtual | 
return number of function evaluations in calculating the integral This is equivalent to the number of points
Reimplemented from ROOT::Math::VirtualIntegrator.
Definition at line 74 of file GaussLegendreIntegrator.h.
      
  | 
  overridevirtual | 
get the option used for the integration
Reimplemented from ROOT::Math::GaussIntegrator.
Definition at line 157 of file GaussLegendreIntegrator.cxx.
      
  | 
  overridevirtual | 
This method is not implemented.
Reimplemented from ROOT::Math::GaussIntegrator.
Definition at line 93 of file GaussLegendreIntegrator.cxx.
| void ROOT::Math::GaussLegendreIntegrator::SetNumberPoints | ( | int | num | ) | 
Set the number of points used in the calculation of the integral.
Definition at line 43 of file GaussLegendreIntegrator.cxx.
      
  | 
  overridevirtual | 
set the options (should be re-implemented by derived classes -if more options than tolerance exist
Reimplemented from ROOT::Math::GaussIntegrator.
Definition at line 167 of file GaussLegendreIntegrator.cxx.
      
  | 
  overridevirtual | 
Set the desired relative Error.
Reimplemented from ROOT::Math::GaussIntegrator.
Definition at line 86 of file GaussLegendreIntegrator.cxx.
      
  | 
  protected | 
Number of points used in the estimation of the integral.
Definition at line 113 of file GaussLegendreIntegrator.h.
      
  | 
  protected | 
Weights of the points used.
Definition at line 115 of file GaussLegendreIntegrator.h.
      
  | 
  protected | 
Abscisa of the points used.
Definition at line 114 of file GaussLegendreIntegrator.h.