12 #include <boost/program_options/variables_map.hpp>
26 const auto& species = var_map[
"projectile"]
27 .as<std::vector<std::string>>().
at(index);
28 const auto& nucleon_dmin = var_map[
"nucleon-min-dist"].as<
double>();
29 const auto& nucleon_width = var_map[
"nucleon-width"].as<
double>();
36 double determine_bmax(
const VarMap& var_map,
38 auto bmax = var_map[
"b-max"].as<
double>();
62 : nucleusA_(create_nucleus(var_map, 0)),
63 nucleusB_(create_nucleus(var_map, 1)),
64 nucleon_profile_(var_map),
65 nevents_(var_map[
"number-events"].as<int>()),
67 bmin_(var_map[
"b-min"].as<
double>()),
68 bmax_(determine_bmax(var_map, *nucleusA_, *nucleusB_, nucleon_profile_)),
69 npartmin_(var_map[
"npart-min"].as<int>()),
70 npartmax_(var_map[
"npart-max"].as<int>()),
71 stotmin_(var_map[
"s-min"].as<
double>()),
72 stotmax_(var_map[
"s-max"].as<
double>()),
73 asymmetry_(determine_asym(*nucleusA_, *nucleusB_)),
76 with_ncoll_(var_map[
"ncoll"].as<bool>())
80 auto seed = var_map[
"random-seed"].as<int64_t>();
91 if (
n%1000 == 0 &&
n!=0) std::cout<<
"# "<<
n <<
" events generated" << std::endl;
97 bool fullfil_Npart_cut=
false, fullfil_Entropy_cut=
false;
108 }
while( (!fullfil_Npart_cut) || (!fullfil_Entropy_cut) );
119 double cross_section_err = cross_section/std::sqrt(1.*nevents_);
129 bool collision =
false;
155 collision = AB_collide || collision;
159 }
while (!collision);