22 throw std::invalid_argument(
"Missing random number service");
25 throw std::invalid_argument(
"Missing output collection");
32 ACTS_INFO(
"Running random number generation");
38 std::normal_distribution<double> gaussDist(
m_cfg.gaussParameters[0],
39 m_cfg.gaussParameters[1]);
40 std::uniform_real_distribution<double> uniformDist(
41 m_cfg.uniformParameters[0],
m_cfg.uniformParameters[1]);
42 std::gamma_distribution<double> gammaDist(
m_cfg.gammaParameters[0],
43 m_cfg.gammaParameters[1]);
44 std::poisson_distribution<int> poissonDist(
m_cfg.poissonParameter);
50 for (
size_t idraw = 0; idraw <
m_cfg.drawsPerEvent; ++idraw) {
51 double gauss = gaussDist(rng);
52 double uniform = uniformDist(rng);
53 double gamma = gammaDist(rng);
54 int poisson = poissonDist(rng);
66 collection.push_back(
x);
70 m_writeHandle(ctx,
std::move(collection));