From b4929d1a7dc56b60bb76ba80107ff7ae951cb012 Mon Sep 17 00:00:00 2001
From: Felix Riehn <felix@matilda>
Date: Fri, 30 Nov 2018 09:18:10 +0000
Subject: [PATCH] switch from sibyll random numbers to RNG

---
 CMakeLists.txt                            |  2 +-
 Documentation/Examples/cascade_example.cc | 17 ++++++++++++-----
 Framework/Cascade/CMakeLists.txt          |  2 +-
 Framework/Cascade/sibyll2.3c.h            |  2 +-
 4 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0211617c..524f0ff9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,7 +15,7 @@ set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeModules)
 include (CorsikaUtilities) # a few cmake function
 
 # enable warnings and disallow non-standard language
-add_definitions(-Wall -pedantic -Wextra)
+add_definitions(-Wall -pedantic -Wextra -Wno-ignored-qualifiers)
 
 set (CMAKE_CXX_STANDARD 17)
 enable_testing ()
diff --git a/Documentation/Examples/cascade_example.cc b/Documentation/Examples/cascade_example.cc
index 5fe5e5bc..ac8c1f89 100644
--- a/Documentation/Examples/cascade_example.cc
+++ b/Documentation/Examples/cascade_example.cc
@@ -172,12 +172,12 @@ public:
     
     // initialize random numbers for sibyll
     // FOR NOW USE SIBYLL INTERNAL !!!
-    rnd_ini_();
+    //    rnd_ini_();
+    
+    corsika::random::RNGManager & rmng = corsika::random::RNGManager::GetInstance();;
+    const std::string str_name = "s_rndm";
+    rmng.RegisterRandomStream(str_name);
     
-    // corsika::random::RNGManager rmng;
-    // const std::string str_name = "s_rndm";
-    // rmng.RegisterRandomStream(str_name);
-
     // //    corsika::random::RNG srng;
     // auto srng = rmng.GetRandomStream("s_rndm");
 
@@ -216,6 +216,13 @@ public:
 private:
 };
 
+double s_rndm_(int &)
+{
+  static corsika::random::RNG& rmng = corsika::random::RNGManager::GetInstance().GetRandomStream("s_rndm");;
+  return rmng()/(double)rmng.max();
+}
+
+
 int main(){
 
   stack_inspector::StackInspector<setup::Stack, setup::Trajectory> p0(true);
diff --git a/Framework/Cascade/CMakeLists.txt b/Framework/Cascade/CMakeLists.txt
index 43aeb79f..8681fae9 100644
--- a/Framework/Cascade/CMakeLists.txt
+++ b/Framework/Cascade/CMakeLists.txt
@@ -26,7 +26,7 @@ set (
 set (
   CORSIKAsibyll_SOURCES
   sibyll2.3c.f
-  rndm_dbl.f
+  gasdev.f
   )
 add_library (CORSIKAsibyll STATIC ${CORSIKAsibyll_SOURCES})
 
diff --git a/Framework/Cascade/sibyll2.3c.h b/Framework/Cascade/sibyll2.3c.h
index 0899d02e..cd70bf50 100644
--- a/Framework/Cascade/sibyll2.3c.h
+++ b/Framework/Cascade/sibyll2.3c.h
@@ -73,7 +73,7 @@ extern"C"{
   void dec_ini_();
 
   // subroutine to initiate random number generator
-  void rnd_ini_();
+  //void rnd_ini_();
   
   // print event
   void sib_list_(int&);
-- 
GitLab