From a7487bfd71ee97b95df438ce4d14a4908a8f60a5 Mon Sep 17 00:00:00 2001
From: Wouter Deconinck <wdconinc@gmail.com>
Date: Thu, 10 Nov 2022 14:59:43 -0600
Subject: [PATCH] fix: correct sign on max when not ddsim and min unset

---
 DDG4/plugins/Geant4TCUserParticleHandler.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/DDG4/plugins/Geant4TCUserParticleHandler.cpp b/DDG4/plugins/Geant4TCUserParticleHandler.cpp
index e6125a79b..637e06c8f 100644
--- a/DDG4/plugins/Geant4TCUserParticleHandler.cpp
+++ b/DDG4/plugins/Geant4TCUserParticleHandler.cpp
@@ -102,7 +102,7 @@ void Geant4TCUserParticleHandler::end(const G4Track* /* track */, Particle& p)
   double r_prod = std::sqrt(p.vsx*p.vsx + p.vsy*p.vsy);
   double z_prod = p.vsz;
   bool starts_in_trk_vol = ( r_prod <= m_rTracker
-    && z_prod >= (m_zTrackerMin == -1e100? m_zTrackerMax : m_zTrackerMin)
+    && z_prod >= (m_zTrackerMin == -1e100? -m_zTrackerMax : m_zTrackerMin)
     && z_prod <= m_zTrackerMax
   )  ;
 
@@ -119,7 +119,7 @@ void Geant4TCUserParticleHandler::end(const G4Track* /* track */, Particle& p)
   double r_end  = std::sqrt(p.vex*p.vex + p.vey*p.vey);
   double z_end  = p.vez;
   bool ends_in_trk_vol =  ( r_end <= m_rTracker
-     && z_end >= (m_zTrackerMin == -1e100? m_zTrackerMax : m_zTrackerMin)
+     && z_end >= (m_zTrackerMin == -1e100? -m_zTrackerMax : m_zTrackerMin)
      && z_end <= m_zTrackerMax
   ) ;
 
-- 
GitLab