// @(#)root/mathmore:$Id$
// Author: Magdalena Slawinska  10/2007

 /**********************************************************************
  *                                                                    *
  * Copyright (c) 2007 ROOT Foundation,  CERN/PH-SFT                   *
  *                                                                    *
  *                                                                    *
  **********************************************************************/


// Integration types for
// one and multidimensional integration
// eith a common interface

#ifndef ROOT_Math_AllIntegrationTypes
#define ROOT_Math_AllIntegrationTypes



namespace ROOT {
namespace Math {


    // type of integration



    //for 1-dim integration
  namespace IntegrationOneDim {


    /**
     enumeration specifying the integration types.
     <ul>
         <li>kDEFAULT: default type specifiend in the static options
         <li>kGAUSS: simple Gauss integration method with fixed rule
         <li>kLEGENDRE: Gauss-Legendre integration
     <li>kNONADAPTIVE : to be used for smooth functions
     <li>kADAPTIVE : to be used for general functions without singularities.
     <li>kADAPTIVESINGULAR: default adaptive integration type which can be used in the case of the presence of singularities.
     </ul>
     @ingroup Integration
    */
     enum Type { kDEFAULT = -1, kGAUSS, kLEGENDRE, kADAPTIVE, kADAPTIVESINGULAR, kNONADAPTIVE};

  }

    //for multi-dim integration
  namespace IntegrationMultiDim {


    /**
     enumeration specifying the integration types.
     <ul>
     <li>kDEFAULT  : default type specified in the static option
     <li>kADAPTIVE : adaptive multi-dimensional integration
     <li>kPLAIN    MC integration
     <li>kMISER    MC integration
     <li>kVEGAS    MC integration
     </ul>
     @ingroup MCIntegration
     */

     enum Type {kDEFAULT = -1, kADAPTIVE, kVEGAS, kMISER, kPLAIN};

  }


} // namespace Math
} // namespace ROOT

#endif /* ROOT_Math_AllIntegrationTypes */
 AllIntegrationTypes.h:1
 AllIntegrationTypes.h:2
 AllIntegrationTypes.h:3
 AllIntegrationTypes.h:4
 AllIntegrationTypes.h:5
 AllIntegrationTypes.h:6
 AllIntegrationTypes.h:7
 AllIntegrationTypes.h:8
 AllIntegrationTypes.h:9
 AllIntegrationTypes.h:10
 AllIntegrationTypes.h:11
 AllIntegrationTypes.h:12
 AllIntegrationTypes.h:13
 AllIntegrationTypes.h:14
 AllIntegrationTypes.h:15
 AllIntegrationTypes.h:16
 AllIntegrationTypes.h:17
 AllIntegrationTypes.h:18
 AllIntegrationTypes.h:19
 AllIntegrationTypes.h:20
 AllIntegrationTypes.h:21
 AllIntegrationTypes.h:22
 AllIntegrationTypes.h:23
 AllIntegrationTypes.h:24
 AllIntegrationTypes.h:25
 AllIntegrationTypes.h:26
 AllIntegrationTypes.h:27
 AllIntegrationTypes.h:28
 AllIntegrationTypes.h:29
 AllIntegrationTypes.h:30
 AllIntegrationTypes.h:31
 AllIntegrationTypes.h:32
 AllIntegrationTypes.h:33
 AllIntegrationTypes.h:34
 AllIntegrationTypes.h:35
 AllIntegrationTypes.h:36
 AllIntegrationTypes.h:37
 AllIntegrationTypes.h:38
 AllIntegrationTypes.h:39
 AllIntegrationTypes.h:40
 AllIntegrationTypes.h:41
 AllIntegrationTypes.h:42
 AllIntegrationTypes.h:43
 AllIntegrationTypes.h:44
 AllIntegrationTypes.h:45
 AllIntegrationTypes.h:46
 AllIntegrationTypes.h:47
 AllIntegrationTypes.h:48
 AllIntegrationTypes.h:49
 AllIntegrationTypes.h:50
 AllIntegrationTypes.h:51
 AllIntegrationTypes.h:52
 AllIntegrationTypes.h:53
 AllIntegrationTypes.h:54
 AllIntegrationTypes.h:55
 AllIntegrationTypes.h:56
 AllIntegrationTypes.h:57
 AllIntegrationTypes.h:58
 AllIntegrationTypes.h:59
 AllIntegrationTypes.h:60
 AllIntegrationTypes.h:61
 AllIntegrationTypes.h:62
 AllIntegrationTypes.h:63
 AllIntegrationTypes.h:64
 AllIntegrationTypes.h:65
 AllIntegrationTypes.h:66
 AllIntegrationTypes.h:67
 AllIntegrationTypes.h:68
 AllIntegrationTypes.h:69
 AllIntegrationTypes.h:70
 AllIntegrationTypes.h:71
 AllIntegrationTypes.h:72
 AllIntegrationTypes.h:73