46 auto gparticle_node = gopts->getOptionNode(
"gparticle");
48 vector<GparticlePtr> gparticles;
49 gparticles.reserve(gparticle_node.size());
51 for (
auto gparticle_item : gparticle_node) {
52 gparticles.emplace_back(std::make_shared<Gparticle>(
53 gopts->get_variable_in_option<
string>(gparticle_item,
"name",
goptions::NODFLT),
54 gopts->get_variable_in_option<
int>(gparticle_item,
"multiplicity", 1),
57 parseG4Value(gparticle_item,
"delta_p",
"MeV", 0, logger),
58 gopts->get_variable_in_option<
string>(gparticle_item,
"randomMomentumModel",
"uniform"),
60 parseG4Value(gparticle_item,
"theta",
"deg", 0, logger),
61 parseG4Value(gparticle_item,
"delta_theta",
"deg", 0, logger),
62 gopts->get_variable_in_option<
string>(gparticle_item,
"randomThetaModel",
"uniform"),
63 parseG4Value(gparticle_item,
"phi",
"deg", 0, logger),
64 parseG4Value(gparticle_item,
"delta_phi",
"deg", 0, logger),
66 parseG4Value(gparticle_item,
"vx",
"cm", 0, logger),
67 parseG4Value(gparticle_item,
"vy",
"cm", 0, logger),
68 parseG4Value(gparticle_item,
"vz",
"cm", 0, logger),
69 parseG4Value(gparticle_item,
"delta_vx",
"cm", 0, logger),
70 parseG4Value(gparticle_item,
"delta_vy",
"cm", 0, logger),
71 parseG4Value(gparticle_item,
"delta_vz",
"cm", 0, logger),
73 gopts->get_variable_in_option<
string>(gparticle_item,
"randomVertexModel",
"uniform"),