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.
    <A HREF="http://www.gnu.org/software/gsl/manual/gsl-ref_16.html#SEC248">GSL Manual</A>.
    It implements also the interface ROOT::Math::VirtualIntegratorMultiDim so it can be
    instantiate using the plugin manager (plugin name is "GSLMCIntegrator")
    @ingroup MCIntegration
| virtual | ~GSLMCIntegrator() | 
| double | ChiSqr() | 
| virtual double | Error() const | 
| ROOT::Math::GSLMCIntegrator | GSLMCIntegrator(ROOT::Math::IntegrationMultiDim::Type type = MCIntegration::VEGAS, double absTol = 1.E-6, double relTol = 1E-4, unsigned int calls = 500000) | 
| ROOT::Math::GSLMCIntegrator | GSLMCIntegrator(const char* type, double absTol, double relTol, unsigned int calls) | 
| virtual double | Integral(const double* a, const double* b) | 
| double | Integral(const ROOT::Math::GSLMCIntegrator::GSLMonteFuncPointer& f, unsigned int dim, double* a, double* b, void* p = 0) | 
| virtual double | Result() const | 
| virtual void | SetAbsTolerance(double absTolerance) | 
| virtual void | SetFunction(const ROOT::Math::IMultiGenFunction& f) | 
| void | SetFunction(ROOT::Math::GSLMCIntegrator::GSLMonteFuncPointer f, unsigned int dim, void* p = 0) | 
| void | SetGenerator(ROOT::Math::GSLRngWrapper* r) | 
| void | SetMode(ROOT::Math::MCIntegration::Mode mode) | 
| void | SetParameters(const ROOT::Math::VegasParameters& p) | 
| void | SetParameters(const ROOT::Math::MiserParameters& p) | 
| virtual void | SetRelTolerance(double relTolerance) | 
| void | SetType(ROOT::Math::IntegrationMultiDim::Type type) | 
| double | Sigma() | 
| virtual int | Status() const | 
| bool | CheckFunction() | 
| void | DoInitialize() | 
| ROOT::Math::GSLMCIntegrator | GSLMCIntegrator(const ROOT::Math::GSLMCIntegrator&) | 
| ROOT::Math::GSLMCIntegrator& | operator=(const ROOT::Math::GSLMCIntegrator&) | 
| double | fAbsTol | |
| unsigned int | fCalls | |
| unsigned int | fDim | |
| double | fError | |
| ROOT::Math::GSLMonteFunctionWrapper* | fFunction | |
| ROOT::Math::MCIntegration::Mode | fMode | |
| double | fRelTol | |
| double | fResult | |
| ROOT::Math::GSLRngWrapper* | fRng | |
| int | fStatus | |
| ROOT::Math::IntegrationMultiDim::Type | fType | |
| ROOT::Math::GSLMCIntegrationWorkspace* | fWorkspace | 

 constructors
 constructor of GSL MCIntegrator. VEGAS MC is set as default integration type
      @param type type of integration. The possible types are defined in the Integration::Type enumeration
      @param absTol desired absolute Error
      @param relTol desired relative Error
      @param calls maximum number of function calls
 methods using GSLMonteFuncPointer
         evaluate the Integral of a function f over the defined hypercube (a,b)
       @param f integration function. The function type must implement the mathlib::IGenFunction interface
       @param a lower value of the integration interval
       @param b upper value of the integration interval
         evaluate the integral using the previously defined function
 setter for control Parameters  (getters are not needed so far )
         set the desired relative Error
	 to be added later as options for basic MC methods
       The possible rules are defined in the Integration::GKRule enumeration.
       The integration rule can be modified only for ADAPTIVE type integrations
void SetIntegrationRule(Integration::GKRule );
	 set random number generator
set parameters for PLAIN method void SetPParameters(const PlainParameters &p); returns the error sigma from the last iteration of the Vegas algorithm
returns chi-squared per degree of freedom for the estimate of the integral in the Vegas algorithm