21 throw std::invalid_argument(
"Missing random number service");
24 throw std::invalid_argument(
"Missing output collection");
30 ACTS_INFO(
"Running random number generation");
36 std::normal_distribution<double> gaussDist(m_cfg.gaussParameters[0],
37 m_cfg.gaussParameters[1]);
38 std::uniform_real_distribution<double> uniformDist(
39 m_cfg.uniformParameters[0], m_cfg.uniformParameters[1]);
40 std::gamma_distribution<double> gammaDist(m_cfg.gammaParameters[0],
41 m_cfg.gammaParameters[1]);
42 std::poisson_distribution<int> poissonDist(m_cfg.poissonParameter);
44 ACTS_INFO(m_cfg.drawsPerEvent <<
" draws per event will be done");
48 for (
size_t idraw = 0; idraw < m_cfg.drawsPerEvent; ++idraw) {
49 double gauss = gaussDist(rng);
50 double uniform = uniformDist(rng);
51 double gamma = gammaDist(rng);
52 int poisson = poissonDist(rng);
64 collection.push_back(x);