diff --git a/corsika/modules/HadronicElasticModel.hpp b/corsika/modules/HadronicElasticModel.hpp index 0d5a77473e41fee63e67ca4a47e3244962dac777..1754952f8e6a2791eb9c89c856ea4794b5d133fe 100644 --- a/corsika/modules/HadronicElasticModel.hpp +++ b/corsika/modules/HadronicElasticModel.hpp @@ -55,7 +55,7 @@ namespace corsika { // Froissart-Martin is not violated up for sqrt s < 10^32 eV with these values [DL]. default_prng_type& RNG_ = - RNGManager::getInstance().getRandomStream("HadronicElasticModel"); + RNGManager<>::getInstance().getRandomStream("HadronicElasticModel"); }; } // namespace corsika diff --git a/examples/boundary_example.cpp b/examples/boundary_example.cpp index e5f707bdef84d99c6a553ad32b58ff0e949f8b86..797f49502563991b9a94181614bb1719efe9f6ec 100644 --- a/examples/boundary_example.cpp +++ b/examples/boundary_example.cpp @@ -84,7 +84,7 @@ int main() { feenableexcept(FE_INVALID); // initialize random number sequence(s) - RNGManager::getInstance().registerRandomStream("cascade"); + RNGManager<>::getInstance().registerRandomStream("cascade"); // setup environment, geometry using EnvType = setup::Environment; diff --git a/examples/cascade_example.cpp b/examples/cascade_example.cpp index 623f443120ec69c52e5bacbecf6dfc02039e87e9..6632e797973aaac278add153b4428860464877f9 100644 --- a/examples/cascade_example.cpp +++ b/examples/cascade_example.cpp @@ -63,7 +63,7 @@ int main() { feenableexcept(FE_INVALID); // initialize random number sequence(s) - RNGManager::getInstance().registerRandomStream("cascade"); + RNGManager<>::getInstance().registerRandomStream("cascade"); // setup environment, geometry setup::Environment env; @@ -133,8 +133,8 @@ int main() { setup::Tracking tracking; StackInspector<setup::Stack> stackInspect(1, true, E0); - RNGManager::getInstance().registerRandomStream("sibyll"); - RNGManager::getInstance().registerRandomStream("pythia"); + RNGManager<>::getInstance().registerRandomStream("sibyll"); + RNGManager<>::getInstance().registerRandomStream("pythia"); corsika::sibyll::Interaction sibyll; corsika::sibyll::NuclearInteraction sibyllNuc(sibyll, env); corsika::sibyll::Decay decay; diff --git a/examples/cascade_proton_example.cpp b/examples/cascade_proton_example.cpp index 94db3bd19bb8a7f151b0d342438071dff95ea97e..cd043185db13e95a365a371b438bf3c32abe0293 100644 --- a/examples/cascade_proton_example.cpp +++ b/examples/cascade_proton_example.cpp @@ -64,7 +64,7 @@ int main() { feenableexcept(FE_INVALID); // initialize random number sequence(s) - RNGManager::getInstance().registerRandomStream("cascade"); + RNGManager<>::getInstance().registerRandomStream("cascade"); OutputManager output("cascade_proton_outputs"); @@ -119,8 +119,8 @@ int main() { setup::Tracking tracking; StackInspector<setup::Stack> stackInspect(1000, true, E0); - RNGManager::getInstance().registerRandomStream("sibyll"); - RNGManager::getInstance().registerRandomStream("pythia"); + RNGManager<>::getInstance().registerRandomStream("sibyll"); + RNGManager<>::getInstance().registerRandomStream("pythia"); // corsika::sibyll::Interaction sibyll; corsika::pythia8::Interaction pythia; // sibyll::NuclearInteraction sibyllNuc(sibyll, env); diff --git a/examples/corsika.cpp b/examples/corsika.cpp index 863e27a98876a9751a076be1934e3e1e60bcac93..ab2bdf232872bfc6574ad03fd23bd271004e316e 100644 --- a/examples/corsika.cpp +++ b/examples/corsika.cpp @@ -6,8 +6,6 @@ * the license. */ -#define TRACE - /* clang-format off */ // InteractionCounter used boost/histogram, which // fails if boost/type_traits have been included before. Thus, we have @@ -83,18 +81,21 @@ using namespace std; using Particle = setup::Stack::particle_type; -void registerRandomStreams(const int seed) { - RNGManager::getInstance().registerRandomStream("cascade"); - RNGManager::getInstance().registerRandomStream("qgsjet"); - RNGManager::getInstance().registerRandomStream("sibyll"); - RNGManager::getInstance().registerRandomStream("pythia"); - RNGManager::getInstance().registerRandomStream("urqmd"); - RNGManager::getInstance().registerRandomStream("proposal"); - - if (seed == 0) - RNGManager::getInstance().seedAll(); - else - RNGManager::getInstance().seedAll(seed); +void registerRandomStreams(int seed) { + RNGManager<>::getInstance().registerRandomStream("cascade"); + RNGManager<>::getInstance().registerRandomStream("qgsjet"); + RNGManager<>::getInstance().registerRandomStream("sibyll"); + RNGManager<>::getInstance().registerRandomStream("pythia"); + RNGManager<>::getInstance().registerRandomStream("urqmd"); + RNGManager<>::getInstance().registerRandomStream("proposal"); + + if (seed == 0) { + std::random_device rd; + seed = rd(); + cout << "new random seed (auto) " << seed << endl; + } + + RNGManager<>::getInstance().setSeed(seed); } template <typename T> diff --git a/examples/em_shower.cpp b/examples/em_shower.cpp index 611b2cb91545daf7a20fcfd31fdfadd5f4e748af..0ff4d28b7425d1fd988af0718ccecbe84b4b8ba1 100644 --- a/examples/em_shower.cpp +++ b/examples/em_shower.cpp @@ -56,10 +56,15 @@ using namespace corsika; using namespace std; -void registerRandomStreams() { +void registerRandomStreams(int seed) { RNGManager<>::getInstance().registerRandomStream("cascade"); RNGManager<>::getInstance().registerRandomStream("proposal"); - RNGManager<>::getInstance().seedAll(); + if (seed == 0) { + std::random_device rd; + seed = rd(); + cout << "new random seed (auto) " << seed << endl; + } + RNGManager<>::getInstance().setSeed(seed); } template <typename T> @@ -75,7 +80,8 @@ int main(int argc, char** argv) { } feenableexcept(FE_INVALID); // initialize random number sequence(s) - registerRandomStreams(); + int seed = 44; + registerRandomStreams(seed); // setup environment, geometry using EnvType = setup::Environment; diff --git a/examples/hybrid_MC.cpp b/examples/hybrid_MC.cpp index 9993d390e25ccecf752827b49d758a7555e67e72..6271166205f3a7b52f8a9db59225c3bcd044dfde 100644 --- a/examples/hybrid_MC.cpp +++ b/examples/hybrid_MC.cpp @@ -68,18 +68,19 @@ using namespace corsika; using namespace std; -void registerRandomStreams(const int seed) { - RNGManager::getInstance().registerRandomStream("cascade"); - RNGManager::getInstance().registerRandomStream("qgsjet"); - RNGManager::getInstance().registerRandomStream("sibyll"); - RNGManager::getInstance().registerRandomStream("pythia"); - RNGManager::getInstance().registerRandomStream("urqmd"); - RNGManager::getInstance().registerRandomStream("proposal"); - - if (seed == 0) - RNGManager::getInstance().seedAll(); - else - RNGManager::getInstance().seedAll(seed); +void registerRandomStreams(int seed) { + RNGManager<>::getInstance().registerRandomStream("cascade"); + RNGManager<>::getInstance().registerRandomStream("qgsjet"); + RNGManager<>::getInstance().registerRandomStream("sibyll"); + RNGManager<>::getInstance().registerRandomStream("pythia"); + RNGManager<>::getInstance().registerRandomStream("urqmd"); + RNGManager<>::getInstance().registerRandomStream("proposal"); + if (seed == 0) { + std::random_device rd; + seed = rd(); + cout << "new random seed (auto) " << seed << endl; + } + RNGManager<>::getInstance().setSeed(seed); } template <typename T> diff --git a/examples/vertical_EAS.cpp b/examples/vertical_EAS.cpp index 1904927228ab38e94c6a5ae9d8ccaf54699cddfa..90db5adf8b98bf5f7aa3c8ca1a42d5c5f17e3f52 100644 --- a/examples/vertical_EAS.cpp +++ b/examples/vertical_EAS.cpp @@ -75,17 +75,18 @@ using namespace std; using Particle = setup::Stack::particle_type; -void registerRandomStreams(const int seed) { - RNGManager::getInstance().registerRandomStream("cascade"); - RNGManager::getInstance().registerRandomStream("sibyll"); - RNGManager::getInstance().registerRandomStream("pythia"); - RNGManager::getInstance().registerRandomStream("urqmd"); - RNGManager::getInstance().registerRandomStream("proposal"); - - if (seed == 0) - RNGManager::getInstance().seedAll(); - else - RNGManager::getInstance().seedAll(seed); +void registerRandomStreams(int seed) { + RNGManager<>::getInstance().registerRandomStream("cascade"); + RNGManager<>::getInstance().registerRandomStream("sibyll"); + RNGManager<>::getInstance().registerRandomStream("pythia"); + RNGManager<>::getInstance().registerRandomStream("urqmd"); + RNGManager<>::getInstance().registerRandomStream("proposal"); + if (seed == 0) { + std::random_device rd; + seed = rd(); + cout << "new random seed (auto) " << seed << endl; + } + RNGManager<>::getInstance().setSeed(seed); } template <typename T>