86 #ifndef NBODYPHASESPACEGEN_HH
87 #define NBODYPHASESPACEGEN_HH
93 #include "TLorentzVector.h"
97 #include "reportingUtils.hpp"
98 #include "mathUtils.hpp"
120 const double* daughterMasses);
183 const unsigned int nmbOfIterations = 10000);
199 double phi (
const int index)
const {
return _phi[index]; }
204 std::ostream&
print(std::ostream& out = std::cout)
const;
212 static inline double F(
const double x,
216 std::vector<double>
_m;
221 std::vector<double>
_M;
276 for (
unsigned int i = 1;
i <
_n; ++
i) {
287 if (_weightType == FLAT)
289 const double max = (maxWeight <= 0) ? _maxWeight : maxWeight;
291 printErr <<
"maximum weight = " << max <<
" does not make sense. rejecting event." << std::endl;
294 if ((_weight / max) > random())
305 const double val = 1 + (x - y) * (x - y) - 2 * (x + y);
313 #endif // NBODYPHASESPACEGEN_H