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