From 21f64935b0f0c0fd0321524489620d9b43a885f8 Mon Sep 17 00:00:00 2001
From: Wouter Deconinck <wdconinc@gmail.com>
Date: Thu, 10 Nov 2022 14:51:59 -0600
Subject: [PATCH] fix: use negative tracker_region_zmin (makes more sense)

---
 DDG4/plugins/Geant4TCUserParticleHandler.cpp | 6 +++---
 DDG4/python/DDSim/Helper/ParticleHandler.py  | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/DDG4/plugins/Geant4TCUserParticleHandler.cpp b/DDG4/plugins/Geant4TCUserParticleHandler.cpp
index a3c883c02..e6125a79b 100644
--- a/DDG4/plugins/Geant4TCUserParticleHandler.cpp
+++ b/DDG4/plugins/Geant4TCUserParticleHandler.cpp
@@ -91,7 +91,7 @@ DECLARE_GEANT4ACTION(Geant4TCUserParticleHandler)
 Geant4TCUserParticleHandler::Geant4TCUserParticleHandler(Geant4Context* ctxt, const std::string& nam)
 : Geant4UserParticleHandler(ctxt,nam)
 {
-  declareProperty("TrackingVolume_Zmin",m_zTrackerMin=1e100);
+  declareProperty("TrackingVolume_Zmin",m_zTrackerMin=-1e100);
   declareProperty("TrackingVolume_Zmax",m_zTrackerMax=1e100);
   declareProperty("TrackingVolume_Rmax",m_rTracker=1e100);
 }
@@ -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
   ) ;
 
diff --git a/DDG4/python/DDSim/Helper/ParticleHandler.py b/DDG4/python/DDSim/Helper/ParticleHandler.py
index f1d3e3af6..e62c8586e 100644
--- a/DDG4/python/DDSim/Helper/ParticleHandler.py
+++ b/DDG4/python/DDSim/Helper/ParticleHandler.py
@@ -143,7 +143,7 @@ class ParticleHandler(ConfigHelper):
       except AttributeError as e:
         logger.info("Attributes tracker_region_zmin for asymmetric tracker region missing %s", e)
         logger.info("  will use symmetric region defined by tracker_region_zmax")
-        user.TrackingVolume_Zmin = user.TrackingVolume_Zmax
+        user.TrackingVolume_Zmin = str(-float(user.TrackingVolume_Zmax))
 
       logger.info(" *** definition of tracker region *** ")
       logger.info("    tracker_region_zmin = %s", user.TrackingVolume_Zmin)
-- 
GitLab