From cfa5b51bdee5b2ded73e4461d27719ea4f1321e4 Mon Sep 17 00:00:00 2001
From: ralfulrich <ralf.ulrich@kit.edu>
Date: Thu, 31 Jan 2019 14:51:12 +0100
Subject: [PATCH] used Nuclear-Extended stack as new default!

---
 Setup/SetupStack.h                                  | 10 +++++++++-
 Stack/NuclearStackExtension/NuclearStackExtension.h | 10 +---------
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/Setup/SetupStack.h b/Setup/SetupStack.h
index 0ab05fff..bae7163e 100644
--- a/Setup/SetupStack.h
+++ b/Setup/SetupStack.h
@@ -12,11 +12,19 @@
 #ifndef _corsika_setup_setupstack_h_
 #define _corsika_setup_setupstack_h_
 
+#include <corsika/stack/nuclear_extension/NuclearStackExtension.h>
 #include <corsika/stack/super_stupid/SuperStupidStack.h>
 
+// this is an auxiliary help typedef, which I don't know how to put
+// into NuclearStackExtension.h where it belongs...
+template<typename StackIter> using ExtendedParticleInterfaceType =
+  corsika::stack::nuclear_extension::NuclearParticleInterface<corsika::stack::super_stupid::SuperStupidStack::PIType, StackIter>;
+
 namespace corsika::setup {
 
-  typedef corsika::stack::super_stupid::SuperStupidStack Stack;
+  using Stack = corsika::stack::nuclear_extension::NuclearStackExtension<corsika::stack::super_stupid::SuperStupidStack, ExtendedParticleInterfaceType>;
+
+  // typedef corsika::stack::super_stupid::SuperStupidStack Stack;
 }
 
 #endif
diff --git a/Stack/NuclearStackExtension/NuclearStackExtension.h b/Stack/NuclearStackExtension/NuclearStackExtension.h
index 94f94590..4cdd8769 100644
--- a/Stack/NuclearStackExtension/NuclearStackExtension.h
+++ b/Stack/NuclearStackExtension/NuclearStackExtension.h
@@ -40,7 +40,6 @@ namespace corsika::stack {
         : public InnerParticleInterface<StackIteratorInterface> {
 
     public:
-      // template<typename >
       using ExtendedParticleInterface =
           NuclearParticleInterface<InnerParticleInterface, StackIteratorInterface>;
 
@@ -61,8 +60,6 @@ namespace corsika::stack {
             err << "NuclearStackExtension: no A and Z specified for new Nucleus!";
             throw std::runtime_error(err.str());
           }
-          // SetNuclearRef(corsika::stack::ParticleBase<StackIteratorInterface>::GetStackData().GetNucleusNextRef());
-          // // store this nucleus data ref
           SetNuclearRef(
               GetStackData().GetNucleusNextRef()); // store this nucleus data ref
           SetNuclearA(vA);
@@ -70,16 +67,11 @@ namespace corsika::stack {
         } else {
           SetNuclearRef(-1); // this is not a nucleus
         }
-        // corsika::stack::super_stupid::NuclearParticleInterface<StackIteratorInterface>::
         InnerParticleInterface<StackIteratorInterface>::
-            // InnerParticleInterface::
             SetParticleData(vDataPID, vDataE, vMomentum, vPosition, vTime);
       }
 
-      //      void SetParticleData(NuclearParticleInterface<StackIteratorInterface>&
-      //      parent,
-      void SetParticleData(InnerParticleInterface<StackIteratorInterface>& parent,
-                           // void SetParticleData(InnerParticleInterface& parent,
+      void SetParticleData(InnerParticleInterface<StackIteratorInterface>&,
                            const corsika::particles::Code vDataPID,
                            const corsika::units::si::HEPEnergyType vDataE,
                            const MomentumVector& vMomentum,
-- 
GitLab