From e803d2cdc1c6c43f598bceb9787d0a2b449ce1ee Mon Sep 17 00:00:00 2001
From: Maximilian Reininghaus <maximilian.reininghaus@kit.edu>
Date: Sat, 6 Jun 2020 13:22:59 +0200
Subject: [PATCH] fixed coordinate systems in Sibyll::Interaction

---
 Processes/Sibyll/Interaction.cc | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/Processes/Sibyll/Interaction.cc b/Processes/Sibyll/Interaction.cc
index e508482d5..00ac59768 100644
--- a/Processes/Sibyll/Interaction.cc
+++ b/Processes/Sibyll/Interaction.cc
@@ -312,13 +312,15 @@ namespace corsika::process::sibyll {
           auto const pCoM = Vector<hepmomentum_d>(csPrime, tmp);
           HEPEnergyType const eCoM = psib.GetEnergy();
           auto const Plab = boost.fromCoM(FourVector(eCoM, pCoM));
+          auto const p3lab = Plab.GetSpaceLikeComponents();
+          assert(p3lab.GetCoordinateSystem() == originalCS); // just to be sure!
 
           // add to corsika stack
           auto pnew = vP.AddSecondary(
               tuple<particles::Code, units::si::HEPEnergyType, stack::MomentumVector,
                     geometry::Point, units::si::TimeType>{
-                  pid, Plab.GetTimeLikeComponent(), Plab.GetSpaceLikeComponents(), pOrig,
-                  tOrig});
+                  process::sibyll::ConvertFromSibyll(psib.GetPID()),
+                  Plab.GetTimeLikeComponent(), p3lab, pOrig, tOrig});
 
           Plab_final += pnew.GetMomentum();
           Elab_final += pnew.GetEnergy();
-- 
GitLab