IAP GITLAB

Skip to content
Snippets Groups Projects
Commit 734e8f7e authored by ralfulrich's avatar ralfulrich
Browse files

final random number adaptions

parent c31074b7
No related branches found
No related tags found
1 merge request!370adding random_iterator
Pipeline #4780 passed
......@@ -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
......
......@@ -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;
......
......@@ -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;
......
......@@ -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);
......
......@@ -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>
......
......@@ -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;
......
......@@ -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>
......
......@@ -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>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment