diff --git a/Processes/UrQMD/UrQMD.cc b/Processes/UrQMD/UrQMD.cc index d847adad24768f8f7cc008045f2332f9da6e94f7..f46e7b61a79f5282f548973aa92494760e774018 100644 --- a/Processes/UrQMD/UrQMD.cc +++ b/Processes/UrQMD/UrQMD.cc @@ -289,9 +289,20 @@ corsika::process::EProcessReturn UrQMD::DoInteraction(SetupProjectile& vProjecti } else { inputs_.prspflg = 1; sys_.Ap = 1; // even for non-baryons this has to be set, see vanilla UrQMD.f - rsys_.bdist = nucrad_(targetA) + nucrad_(1) + 2 * options_.CTParam[30 - 1]; rsys_.ebeam = (projectileEnergyLab - vProjectile.GetMass()) * (1 / 1_GeV); + switch (targetCode) { + case particles::Code::Nitrogen: + case particles::Code::Oxygen: + rsys_.bdist = 6; + break; + case particles::Code::Argon: + rsys_.bdist = 7; + break; + default: + rsys_.bdist = nucrad_(targetA) + nucrad_(1) + 2 * options_.CTParam[30 - 1]; + } + if (projectileCode == particles::Code::K0Long || projectileCode == particles::Code::K0Short) { projectileCode = fBooleanDist(fRNG) ? particles::Code::K0 : particles::Code::K0Bar;