IAP GITLAB

Skip to content
Snippets Groups Projects
Commit 4da4bb41 authored by Maximilian Reininghaus's avatar Maximilian Reininghaus :vulcan:
Browse files

event output conversion

parent 0fe04531
No related branches found
No related tags found
1 merge request!124Resolve "Neutral kaon mixing for UrQMD"
Pipeline #737 passed
......@@ -170,8 +170,7 @@ corsika::process::EProcessReturn UrQMD::DoInteraction(SetupProjectile& vProjecti
rsys_.ebeam = (projectileEnergyLab - vProjectile.GetMass()) * (1 / 1_GeV);
if (projectileCode == particles::Code::K0Long) {
std::uniform_int_distribution dist(0, 1);
projectileCode = (dist(fRNG) == 1) ? particles::Code::K0 : particles::Code::K0Bar;
projectileCode = fBooleanDist(fRNG) ? particles::Code::K0 : particles::Code::K0Bar;
} else if (projectileCode == particles::Code::K0Short) {
throw std::runtime_error("K0Short should not interact");
}
......@@ -205,7 +204,11 @@ corsika::process::EProcessReturn UrQMD::DoInteraction(SetupProjectile& vProjecti
originalCS.RotateToZ(projectileMomentumLab);
for (int i = 0; i < sys_.npart; ++i) {
auto const code = ConvertFromUrQMD(isys_.ityp[i], isys_.iso3[i]);
auto code = ConvertFromUrQMD(isys_.ityp[i], isys_.iso3[i]);
if (code == particles::Code::K0 || code == particles::Code::K0Bar) {
code = fBooleanDist(fRNG) ? particles::Code::K0Short : particles::Code::K0Long;
}
// "coor_.p0[i] * 1_GeV" is likely off-shell as UrQMD doesn't preserve masses well
auto momentum = geometry::Vector(
zAxisFrame,
......
......@@ -18,6 +18,7 @@
#include <corsika/units/PhysicalUnits.h>
#include <array>
#include <random>
#include <utility>
namespace corsika::process::UrQMD {
......@@ -42,6 +43,8 @@ namespace corsika::process::UrQMD {
particles::Code, particles::Code, corsika::units::si::HEPEnergyType, int);
corsika::random::RNG& fRNG =
corsika::random::RNGManager::GetInstance().GetRandomStream("UrQMD");
std::uniform_int_distribution<int> fBooleanDist{0, 1};
};
namespace constants {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment