#ifndef ROOT_Math_AdaptiveIntegratorMultiDim
#define ROOT_Math_AdaptiveIntegratorMultiDim
#ifndef ROOT_Math_IFunctionfwd
#include "Math/IFunctionfwd.h"
#endif
#include "Math/VirtualIntegrator.h"
namespace ROOT {
namespace Math {
class AdaptiveIntegratorMultiDim : public VirtualIntegratorMultiDim {
public:
explicit
AdaptiveIntegratorMultiDim(double absTol = 1.E-9, double relTol = 1E-9, unsigned int maxpts = 100000, unsigned int size = 0);
explicit
AdaptiveIntegratorMultiDim(const IMultiGenFunction &f, double absTol = 1.E-9, double relTol = 1E-9, unsigned int maxcall = 100000, unsigned int size = 0);
virtual ~AdaptiveIntegratorMultiDim() {}
double Integral(const double* xmin, const double * xmax) {
return DoIntegral(xmin,xmax, false);
}
double Integral(const IMultiGenFunction &f, const double* xmin, const double * xmax);
void SetFunction(const IMultiGenFunction &f);
double Result() const { return fResult; }
double Error() const { return fError; }
double RelError() const { return fRelError; }
int Status() const { return fStatus; }
int NEval() const { return fNEval; }
void SetRelTolerance(double relTol);
void SetAbsTolerance(double absTol);
void SetSize(unsigned int size) { fSize = size; }
void SetMinPts(unsigned int n) { fMinPts = n; }
void SetMaxPts(unsigned int n) { fMaxPts = n; }
void SetOptions(const ROOT::Math::IntegratorMultiDimOptions & opt);
ROOT::Math::IntegratorMultiDimOptions Options() const;
protected:
double DoIntegral(const double* xmin, const double * xmax, bool absVal = false);
private:
unsigned int fDim;
unsigned int fMinPts;
unsigned int fMaxPts;
unsigned int fSize;
double fAbsTol;
double fRelTol;
double fResult;
double fError;
double fRelError;
int fNEval;
int fStatus;
const IMultiGenFunction* fFun;
};
}
}
#endif /* ROOT_Math_AdaptiveIntegratorMultiDim */
AdaptiveIntegratorMultiDim.h:1 AdaptiveIntegratorMultiDim.h:2 AdaptiveIntegratorMultiDim.h:3 AdaptiveIntegratorMultiDim.h:4 AdaptiveIntegratorMultiDim.h:5 AdaptiveIntegratorMultiDim.h:6 AdaptiveIntegratorMultiDim.h:7 AdaptiveIntegratorMultiDim.h:8 AdaptiveIntegratorMultiDim.h:9 AdaptiveIntegratorMultiDim.h:10 AdaptiveIntegratorMultiDim.h:11 AdaptiveIntegratorMultiDim.h:12 AdaptiveIntegratorMultiDim.h:13 AdaptiveIntegratorMultiDim.h:14 AdaptiveIntegratorMultiDim.h:15 AdaptiveIntegratorMultiDim.h:16 AdaptiveIntegratorMultiDim.h:17 AdaptiveIntegratorMultiDim.h:18 AdaptiveIntegratorMultiDim.h:19 AdaptiveIntegratorMultiDim.h:20 AdaptiveIntegratorMultiDim.h:21 AdaptiveIntegratorMultiDim.h:22 AdaptiveIntegratorMultiDim.h:23 AdaptiveIntegratorMultiDim.h:24 AdaptiveIntegratorMultiDim.h:25 AdaptiveIntegratorMultiDim.h:26 AdaptiveIntegratorMultiDim.h:27 AdaptiveIntegratorMultiDim.h:28 AdaptiveIntegratorMultiDim.h:29 AdaptiveIntegratorMultiDim.h:30 AdaptiveIntegratorMultiDim.h:31 AdaptiveIntegratorMultiDim.h:32 AdaptiveIntegratorMultiDim.h:33 AdaptiveIntegratorMultiDim.h:34 AdaptiveIntegratorMultiDim.h:35 AdaptiveIntegratorMultiDim.h:36 AdaptiveIntegratorMultiDim.h:37 AdaptiveIntegratorMultiDim.h:38 AdaptiveIntegratorMultiDim.h:39 AdaptiveIntegratorMultiDim.h:40 AdaptiveIntegratorMultiDim.h:41 AdaptiveIntegratorMultiDim.h:42 AdaptiveIntegratorMultiDim.h:43 AdaptiveIntegratorMultiDim.h:44 AdaptiveIntegratorMultiDim.h:45 AdaptiveIntegratorMultiDim.h:46 AdaptiveIntegratorMultiDim.h:47 AdaptiveIntegratorMultiDim.h:48 AdaptiveIntegratorMultiDim.h:49 AdaptiveIntegratorMultiDim.h:50 AdaptiveIntegratorMultiDim.h:51 AdaptiveIntegratorMultiDim.h:52 AdaptiveIntegratorMultiDim.h:53 AdaptiveIntegratorMultiDim.h:54 AdaptiveIntegratorMultiDim.h:55 AdaptiveIntegratorMultiDim.h:56 AdaptiveIntegratorMultiDim.h:57 AdaptiveIntegratorMultiDim.h:58 AdaptiveIntegratorMultiDim.h:59 AdaptiveIntegratorMultiDim.h:60 AdaptiveIntegratorMultiDim.h:61 AdaptiveIntegratorMultiDim.h:62 AdaptiveIntegratorMultiDim.h:63 AdaptiveIntegratorMultiDim.h:64 AdaptiveIntegratorMultiDim.h:65 AdaptiveIntegratorMultiDim.h:66 AdaptiveIntegratorMultiDim.h:67 AdaptiveIntegratorMultiDim.h:68 AdaptiveIntegratorMultiDim.h:69 AdaptiveIntegratorMultiDim.h:70 AdaptiveIntegratorMultiDim.h:71 AdaptiveIntegratorMultiDim.h:72 AdaptiveIntegratorMultiDim.h:73 AdaptiveIntegratorMultiDim.h:74 AdaptiveIntegratorMultiDim.h:75 AdaptiveIntegratorMultiDim.h:76 AdaptiveIntegratorMultiDim.h:77 AdaptiveIntegratorMultiDim.h:78 AdaptiveIntegratorMultiDim.h:79 AdaptiveIntegratorMultiDim.h:80 AdaptiveIntegratorMultiDim.h:81 AdaptiveIntegratorMultiDim.h:82 AdaptiveIntegratorMultiDim.h:83 AdaptiveIntegratorMultiDim.h:84 AdaptiveIntegratorMultiDim.h:85 AdaptiveIntegratorMultiDim.h:86 AdaptiveIntegratorMultiDim.h:87 AdaptiveIntegratorMultiDim.h:88 AdaptiveIntegratorMultiDim.h:89 AdaptiveIntegratorMultiDim.h:90 AdaptiveIntegratorMultiDim.h:91 AdaptiveIntegratorMultiDim.h:92 AdaptiveIntegratorMultiDim.h:93 AdaptiveIntegratorMultiDim.h:94 AdaptiveIntegratorMultiDim.h:95 AdaptiveIntegratorMultiDim.h:96 AdaptiveIntegratorMultiDim.h:97 AdaptiveIntegratorMultiDim.h:98 AdaptiveIntegratorMultiDim.h:99 AdaptiveIntegratorMultiDim.h:100 AdaptiveIntegratorMultiDim.h:101 AdaptiveIntegratorMultiDim.h:102 AdaptiveIntegratorMultiDim.h:103 AdaptiveIntegratorMultiDim.h:104 AdaptiveIntegratorMultiDim.h:105 AdaptiveIntegratorMultiDim.h:106 AdaptiveIntegratorMultiDim.h:107 AdaptiveIntegratorMultiDim.h:108 AdaptiveIntegratorMultiDim.h:109 AdaptiveIntegratorMultiDim.h:110 AdaptiveIntegratorMultiDim.h:111 AdaptiveIntegratorMultiDim.h:112 AdaptiveIntegratorMultiDim.h:113 AdaptiveIntegratorMultiDim.h:114 AdaptiveIntegratorMultiDim.h:115 AdaptiveIntegratorMultiDim.h:116 AdaptiveIntegratorMultiDim.h:117 AdaptiveIntegratorMultiDim.h:118 AdaptiveIntegratorMultiDim.h:119 AdaptiveIntegratorMultiDim.h:120 AdaptiveIntegratorMultiDim.h:121 AdaptiveIntegratorMultiDim.h:122 AdaptiveIntegratorMultiDim.h:123 AdaptiveIntegratorMultiDim.h:124 AdaptiveIntegratorMultiDim.h:125 AdaptiveIntegratorMultiDim.h:126 AdaptiveIntegratorMultiDim.h:127 AdaptiveIntegratorMultiDim.h:128 AdaptiveIntegratorMultiDim.h:129 AdaptiveIntegratorMultiDim.h:130 AdaptiveIntegratorMultiDim.h:131 AdaptiveIntegratorMultiDim.h:132 AdaptiveIntegratorMultiDim.h:133 AdaptiveIntegratorMultiDim.h:134 AdaptiveIntegratorMultiDim.h:135 AdaptiveIntegratorMultiDim.h:136 AdaptiveIntegratorMultiDim.h:137 AdaptiveIntegratorMultiDim.h:138 AdaptiveIntegratorMultiDim.h:139 AdaptiveIntegratorMultiDim.h:140 AdaptiveIntegratorMultiDim.h:141 AdaptiveIntegratorMultiDim.h:142 AdaptiveIntegratorMultiDim.h:143 AdaptiveIntegratorMultiDim.h:144 AdaptiveIntegratorMultiDim.h:145 AdaptiveIntegratorMultiDim.h:146 AdaptiveIntegratorMultiDim.h:147 AdaptiveIntegratorMultiDim.h:148 AdaptiveIntegratorMultiDim.h:149 AdaptiveIntegratorMultiDim.h:150 AdaptiveIntegratorMultiDim.h:151 AdaptiveIntegratorMultiDim.h:152 AdaptiveIntegratorMultiDim.h:153 AdaptiveIntegratorMultiDim.h:154 AdaptiveIntegratorMultiDim.h:155 AdaptiveIntegratorMultiDim.h:156 AdaptiveIntegratorMultiDim.h:157 AdaptiveIntegratorMultiDim.h:158 AdaptiveIntegratorMultiDim.h:159 AdaptiveIntegratorMultiDim.h:160 AdaptiveIntegratorMultiDim.h:161 AdaptiveIntegratorMultiDim.h:162 AdaptiveIntegratorMultiDim.h:163 AdaptiveIntegratorMultiDim.h:164 AdaptiveIntegratorMultiDim.h:165 AdaptiveIntegratorMultiDim.h:166 AdaptiveIntegratorMultiDim.h:167 AdaptiveIntegratorMultiDim.h:168 AdaptiveIntegratorMultiDim.h:169 AdaptiveIntegratorMultiDim.h:170 AdaptiveIntegratorMultiDim.h:171 AdaptiveIntegratorMultiDim.h:172 AdaptiveIntegratorMultiDim.h:173 AdaptiveIntegratorMultiDim.h:174 AdaptiveIntegratorMultiDim.h:175 AdaptiveIntegratorMultiDim.h:176 AdaptiveIntegratorMultiDim.h:177 AdaptiveIntegratorMultiDim.h:178 AdaptiveIntegratorMultiDim.h:179 AdaptiveIntegratorMultiDim.h:180 AdaptiveIntegratorMultiDim.h:181 AdaptiveIntegratorMultiDim.h:182 AdaptiveIntegratorMultiDim.h:183 AdaptiveIntegratorMultiDim.h:184 AdaptiveIntegratorMultiDim.h:185 AdaptiveIntegratorMultiDim.h:186 AdaptiveIntegratorMultiDim.h:187 AdaptiveIntegratorMultiDim.h:188 AdaptiveIntegratorMultiDim.h:189 AdaptiveIntegratorMultiDim.h:190 AdaptiveIntegratorMultiDim.h:191 AdaptiveIntegratorMultiDim.h:192 AdaptiveIntegratorMultiDim.h:193 AdaptiveIntegratorMultiDim.h:194 AdaptiveIntegratorMultiDim.h:195