From f57b5993ea6dd02547493f0b35e5d38ed4e84969 Mon Sep 17 00:00:00 2001
From: ralfulrich <ralf.ulrich@kit.edu>
Date: Mon, 6 Jul 2020 18:47:05 +0200
Subject: [PATCH] read conex results

---
 Processes/CONEXSourceCut/CONEXSourceCut.cc | 48 +++++++++++++++++++++-
 1 file changed, 47 insertions(+), 1 deletion(-)

diff --git a/Processes/CONEXSourceCut/CONEXSourceCut.cc b/Processes/CONEXSourceCut/CONEXSourceCut.cc
index 094f993d3..0c53e60dc 100644
--- a/Processes/CONEXSourceCut/CONEXSourceCut.cc
+++ b/Processes/CONEXSourceCut/CONEXSourceCut.cc
@@ -20,6 +20,13 @@ using namespace corsika::units::si;
 using namespace corsika::particles;
 using namespace corsika::setup;
 
+// RU, after the cleanup it seems there are just few direct calls to CONEX left: 
+// show_
+// HadronCascade_(id, nshtot_, zero, iCEmode);
+//  SolveMomentEquations_(zero);
+// and a new "ini" function
+
+
 corsika::process::EProcessReturn CONEXSourceCut::DoSecondaries(
     corsika::setup::StackView& vS) {
   auto p = vS.begin();
@@ -85,7 +92,46 @@ corsika::process::EProcessReturn CONEXSourceCut::DoSecondaries(
 
 void CONEXSourceCut::Init() {}
 
-void CONEXSourceCut::SolveCE() { conex::conexcascade_(); }
+void CONEXSourceCut::SolveCE() {
+  int zero = 0;
+  int iCEmode = 1;
+  int id =0; // RU
+  HadronCascade_(id, nshtot_, zero, iCEmode);
+  SolveMomentEquations_(zero);
+
+  // RU: this here is from cxroot,
+
+  const int nX = get_number_of_depth_bins_(); // make sure this works! 
+
+  int icut = 1;
+  int icutg = 2;
+  int icute = 3;
+  int icutm = 2;
+  int icuth = 3;
+  int iSec = 0;
+
+  const int maxX = nX;
+  float X[maxX], H[maxX], D[maxX], N[maxX], dEdX[maxX],
+    Mu[maxX], dMu[maxX], Gamma[maxX], Electrons[maxX], Hadrons[maxX],
+    EGround[3], fitpars[13], currlgE, Xmx, Nmx, XmxdEdX, dEdXmx ;
+  
+  get_shower_data_(icut, iSec, nX, X[0], N[0], fitpars[0], H[0], D[0]);
+  get_shower_edep_(icut, nX, dEdX[0], EGround[0]);
+  get_shower_muon_(icutm, nX, Mu[0], dMu[0]);
+  get_shower_gamma_(icutg, nX, Gamma[0]);
+  get_shower_electron_(icute, nX, Electrons[0]);
+  get_shower_hadron_(icuth, nX, Hadrons[0]);
+  
+  /*fConexInterface->GetShowerData(icut, iSec, nX, X[0], N[0], fitpars[0], H[0], D[0]);
+  fConexInterface->GetdEdXProfile(icut, nX, dEdX[0], EGround[0]);
+  fConexInterface->GetMuonProfile(icutm, nX, Mu[0], dMu[0]);
+  fConexInterface->GetGammaProfile(icutg, nX, Gamma[0]);
+  fConexInterface->GetElectronProfile(icute, nX, Electrons[0]);
+  fConexInterface->GetHadronProfile(icuth, nX, Hadrons[0]);
+  */
+}
+
+// RU: move all the non-C8 code from the following c++ function into a new file. Here we only want to have a single function call to CONEX left. 
 
 CONEXSourceCut::CONEXSourceCut(geometry::Point center, environment::ShowerAxis showerAxis,
                                units::si::LengthType groundDist,
-- 
GitLab