virtual | ~GaussIntegrator() |

void | AbsValue(bool flag) |

virtual double | Error() const |

ROOT::Math::GaussIntegrator | GaussIntegrator() |

ROOT::Math::GaussIntegrator | GaussIntegrator(const ROOT::Math::GaussIntegrator&) |

virtual double | Integral() |

virtual double | Integral(const vector<double>& pts) |

virtual double | Integral(double a, double b) |

virtual double | IntegralCauchy(double a, double b, double c) |

virtual double | IntegralLow(double b) |

virtual double | IntegralUp(double a) |

ROOT::Math::VirtualIntegratorOneDim& | ROOT::Math::VirtualIntegratorOneDim::operator=(const ROOT::Math::VirtualIntegratorOneDim&) |

virtual double | Result() const |

virtual void | SetAbsTolerance(double) |

virtual void | SetFunction(const ROOT::Math::IGenFunction&, bool copy = false) |

virtual void | SetRelTolerance(double) |

virtual int | Status() const |

double | fEpsilon | Relative error. |

const ROOT::Math::IGenFunction* | fFunction | Pointer to function used. |

bool | fFunctionCopied | Bool value to check if the function was copied when set. |

double | fLastError | Error from the last stimation. |

double | fLastResult | Result from the last stimation. |

bool | fUsedOnce | Bool value to check if the function was at least called once. |

static bool | fgAbsValue | AbsValue used for the calculation of the integral |

void AbsValue(bool flag)

Static function: set the fgAbsValue flag. By default TF1::Integral uses the original function value to compute the integral However, TF1::Moment, CentralMoment require to compute the integral using the absolute value of the function.

void SetRelTolerance(double )

Implementing VirtualIntegrator Interface Set the desired relative Error.

double Integral(double a, double b)

Implementing VirtualIntegratorOneDim Interface Return Integral of function between a and b. Based on original CERNLIB routine DGAUSS by Sigfried Kolbig converted to C++ by Rene Brun This function computes, to an attempted specified accuracy, the value of the integral. Usage: In any arithmetic expression, this function has the approximate value of the integral I. - A, B: End-points of integration interval. Note that B may be less than A. - params: Array of function parameters. If 0, use current parameters. - epsilon: Accuracy parameter (see Accuracy). Method: For any interval [a,b] we define g8(a,b) and g16(a,b) to be the 8-point and 16-point Gaussian quadrature approximations to and define Then, where, starting with x0 = A and finishing with xk = B, the subdivision points xi(i=1,2,...) are given by is equal to the first member of the sequence 1,1/2,1/4,... for which r(xi-1, xi) < EPS. If, at any stage in the process of subdivision, the ratio is so small that 1+0.005q is indistinguishable from 1 to machine accuracy, an error exit occurs with the function value set equal to zero. Accuracy: Unless there is severe cancellation of positive and negative values of f(x) over the interval [A,B], the relative error may be considered as specifying a bound on the <I>relative</I> error of I in the case |I|>1, and a bound on the absolute error in the case |I|<1. More precisely, if k is the number of sub-intervals contributing to the approximation (see Method), and if then the relation will nearly always be true, provided the routine terminates without printing an error message. For functions f having no singularities in the closed interval [A,B] the accuracy will usually be much higher than this. Error handling: The requested accuracy cannot be obtained (see Method). The function value is set equal to zero. Note 1: Values of the function f(x) at the interval end-points A and B are not required. The subprogram may therefore be used when these values are undefined.

void SetFunction(const ROOT::Math::IGenFunction& , bool copy = false)

Set integration function (flag control if function must be copied inside). \@param f Function to be used in the calculations. \@param copy Indicates whether the function has to be copied.