From d5fa2eaafb78bca13e097cdad05e521ccdea7ca9 Mon Sep 17 00:00:00 2001 From: Maximilian Reininghaus <maximilian.reininghaus@kit.edu> Date: Mon, 8 Apr 2019 17:44:12 -0300 Subject: [PATCH] constants definition from 1203.3877 --- Processes/UrQMD/UrQMD.cc | 4 +- Processes/UrQMD/UrQMD.h | 118 ++++++++++++++++++++++++++++++++--- Processes/UrQMD/testUrQMD.cc | 4 +- 3 files changed, 112 insertions(+), 14 deletions(-) diff --git a/Processes/UrQMD/UrQMD.cc b/Processes/UrQMD/UrQMD.cc index 92e5d53e4..81f034de5 100644 --- a/Processes/UrQMD/UrQMD.cc +++ b/Processes/UrQMD/UrQMD.cc @@ -2,9 +2,7 @@ #include <corsika/random/RNGManager.h> #include <random> -corsika::process::UrQMD::UrQMD::UrQMD() { - iniurqmd_(); -} +corsika::process::UrQMD::UrQMD::UrQMD() { iniurqmd_(); } double ranf_(int*) { static corsika::random::RNG& rng = diff --git a/Processes/UrQMD/UrQMD.h b/Processes/UrQMD/UrQMD.h index 83d0d5c42..aad8b45e3 100644 --- a/Processes/UrQMD/UrQMD.h +++ b/Processes/UrQMD/UrQMD.h @@ -1,16 +1,118 @@ #ifndef _Processes_UrQMD_UrQMD_h #define _Processes_UrQMD_UrQMD_h -extern "C" { - void iniurqmd_(); - double ranf_(int*); -} +#include <array> namespace corsika::process::UrQMD { - class UrQMD { - public: - UrQMD(); - }; + class UrQMD { + public: + UrQMD(); + }; + + namespace constants { + // from coms.f + int constexpr nmax = 500; + int constexpr nspl = 500; + int constexpr smax = 500; + // from comres.f + int constexpr minnuc = 1; + int constexpr minmes = 100; + int constexpr maxmes = 132; + int constexpr numnuc = 16; + int constexpr numdel = 10; + int constexpr maxnuc = minnuc + numnuc - 1; + int constexpr mindel = minnuc + maxnuc; + int constexpr maxdel = mindel + numdel - 1; + int constexpr minres = minnuc + 1; + int constexpr maxres = maxdel; + int constexpr numlam = 13; + int constexpr numsig = 9; + int constexpr numcas = 6; + int constexpr numome = 1; + int constexpr minlam = mindel + numdel; + int constexpr maxlam = minlam + numlam - 1; + int constexpr minsig = minlam + numlam; + int constexpr maxsig = minsig + numsig - 1; + int constexpr mincas = minsig + numsig; + int constexpr maxcas = mincas + numcas - 1; + int constexpr minome = mincas + numcas; + int constexpr maxome = minome + numome - 1; + int constexpr minbar = minnuc; + int constexpr maxbar = maxome; + int constexpr offmeson = minmes; + int constexpr maxmeson = maxmes; + int constexpr maxbra = 11; + int constexpr maxbrm = 25; + int constexpr maxbrs1 = 10; + int constexpr maxbrs2 = 3; + int constexpr nsigs = 10; + int constexpr itblsz = 100; + int constexpr maxreac = 13; + int constexpr maxpsig = 12; + + // from comwid.f + int constexpr widnsp = 120; + double constexpr mintab = 0.10; + double constexpr maxtab1 = 5.0; + double constexpr maxtab2 = 50.0; + int constexpr tabver = 9; + + // from options.f + int constexpr numcto = 400; + int constexpr numctp = 400; + int constexpr maxstables = 20; + + // from colltab.f + int constexpr ncollmax = 100; + + // from inputs.f + int constexpr aamax = 300; + + // from newpart.f + int constexpr mprt = 200; + int constexpr oprt = 2; + + // from boxinc.f + int constexpr bptmax = 20; + + // from comnorm.f + int constexpr n = 400; + + // from comstr.f + int constexpr njspin = 8; + + // iso + int constexpr jmax = 7; + } // namespace constants + + using nmaxIntArray = std::array<int, constants::nmax>; +} // namespace corsika::process::UrQMD + +extern "C" { +void iniurqmd_(); +double ranf_(int*); + +struct { + int npart, nbar, nmes, ctag, nsteps, uid_cnt, ranseed, event, Ap, At, Zp, Zt, eos, + dectag, NHardRes, NSoftRes, NDecRes, NElColl, NBlColl; +} sys_; + +struct { + double time, acttime, bdist, bimp, bmin, ebeam, ecm; +} rsys_; + +struct { + int firstseed; +} comseed_; + +struct { + corsika::process::UrQMD::nmaxIntArray lsct; + int logSky, logYuk, logCb, logPau; +} logic_; + +struct { + corsika::process::UrQMD::nmaxIntArray spin, ncoll, charge, ityp, lstcoll, iso3, origin, strid, uid; +} isys_; } #endif diff --git a/Processes/UrQMD/testUrQMD.cc b/Processes/UrQMD/testUrQMD.cc index d50b88d41..6d26eb036 100644 --- a/Processes/UrQMD/testUrQMD.cc +++ b/Processes/UrQMD/testUrQMD.cc @@ -16,6 +16,4 @@ using namespace corsika::process::UrQMD; -TEST_CASE("UrQMD") { - UrQMD proc; -} +TEST_CASE("UrQMD") { UrQMD proc; } -- GitLab