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