18 auto gparticle_node = gopts->getOptionNode(
"gparticle");
20 vector<GparticlePtr> gparticles;
22 gparticles.reserve(gparticle_node.size());
25 for (
auto gparticle_item : gparticle_node) {
30 gparticles.emplace_back(std::make_shared<Gparticle>(
31 gopts->get_variable_in_option<
string>(gparticle_item,
"name",
goptions::NODFLT),
32 gopts->get_variable_in_option<
int>(gparticle_item,
"multiplicity", 1),
34 gopts->get_variable_in_option<
double>(gparticle_item,
"delta_p", 0),
35 gopts->get_variable_in_option<
string>(gparticle_item,
"punit",
"MeV"),
36 gopts->get_variable_in_option<
string>(gparticle_item,
"randomMomentumModel",
"uniform"),
38 gopts->get_variable_in_option<
double>(gparticle_item,
"theta", 0),
39 gopts->get_variable_in_option<
double>(gparticle_item,
"delta_theta", 0),
40 gopts->get_variable_in_option<
string>(gparticle_item,
"randomThetaModel",
"uniform"),
41 gopts->get_variable_in_option<
double>(gparticle_item,
"phi", 0),
42 gopts->get_variable_in_option<
double>(gparticle_item,
"delta_phi", 0),
43 gopts->get_variable_in_option<
string>(gparticle_item,
"aunit",
"deg"),
45 gopts->get_variable_in_option<
double>(gparticle_item,
"vx", 0),
46 gopts->get_variable_in_option<
double>(gparticle_item,
"vy", 0),
47 gopts->get_variable_in_option<
double>(gparticle_item,
"vz", 0),
49 gopts->get_variable_in_option<
double>(gparticle_item,
"delta_vx", 0),
50 gopts->get_variable_in_option<
double>(gparticle_item,
"delta_vy", 0),
51 gopts->get_variable_in_option<
double>(gparticle_item,
"delta_vz", 0),
52 gopts->get_variable_in_option<
string>(gparticle_item,
"vunit",
"cm"),
54 gopts->get_variable_in_option<
string>(gparticle_item,
"randomVertexModel",
"uniform"),