From a447fac03f8bca3d8e1a389e8782e85d89d6aa89 Mon Sep 17 00:00:00 2001
From: Andre Sailer <andre.philippe.sailer@cern.ch>
Date: Tue, 2 Feb 2016 12:27:43 +0000
Subject: [PATCH] DDFORHEP-17: Do not inherit simstatus from parent particle

remove clearing of status (no longer necessary)
---
 DDG4/plugins/Geant4TCUserParticleHandler.cpp | 11 -----------
 DDG4/src/Geant4ParticleHandler.cpp           |  2 +-
 2 files changed, 1 insertion(+), 12 deletions(-)

diff --git a/DDG4/plugins/Geant4TCUserParticleHandler.cpp b/DDG4/plugins/Geant4TCUserParticleHandler.cpp
index a4a2a9cc1..a0c99bd75 100644
--- a/DDG4/plugins/Geant4TCUserParticleHandler.cpp
+++ b/DDG4/plugins/Geant4TCUserParticleHandler.cpp
@@ -119,9 +119,6 @@ void Geant4TCUserParticleHandler::end(const G4Track* track, Particle& p)  {
 
   if( ends_in_trk_vol ) {
     simStatus.set(G4PARTICLE_SIM_DECAY_TRACKER);
-  } else {
-    // daughters inherit the status of the parent??? let's clear this
-    simStatus.clear(G4PARTICLE_SIM_DECAY_TRACKER);
   }
 
   const G4Step* theLastStep = track->GetStep();
@@ -133,28 +130,20 @@ void Geant4TCUserParticleHandler::end(const G4Track* track, Particle& p)  {
       )
     ){ //particle left world volume
     simStatus.set(G4PARTICLE_SIM_LEFT_DETECTOR);
-  } else {
-    simStatus.clear(G4PARTICLE_SIM_LEFT_DETECTOR);
   }
 
   // if the particle doesn't end in the tracker volume it must have ended in the calorimeter
   if( not ends_in_trk_vol && not simStatus.isSet(G4PARTICLE_SIM_LEFT_DETECTOR) ) {
     // need to check for decay process
     simStatus.set(G4PARTICLE_SIM_DECAY_CALO);
-  } else {
-    simStatus.clear(G4PARTICLE_SIM_DECAY_CALO);
   }
 
   if( not starts_in_trk_vol && ends_in_trk_vol ) {
     simStatus.set(G4PARTICLE_SIM_BACKSCATTER);
-  } else {
-    simStatus.clear(G4PARTICLE_SIM_BACKSCATTER);
   }
 
   if(track->GetKineticEnergy() <= 0.) {
     simStatus.set(G4PARTICLE_SIM_STOPPED);
-  } else {
-    simStatus.clear(G4PARTICLE_SIM_STOPPED);
   }
   return ;
 
diff --git a/DDG4/src/Geant4ParticleHandler.cpp b/DDG4/src/Geant4ParticleHandler.cpp
index 48ae05d41..bf43b9139 100644
--- a/DDG4/src/Geant4ParticleHandler.cpp
+++ b/DDG4/src/Geant4ParticleHandler.cpp
@@ -244,7 +244,7 @@ void Geant4ParticleHandler::begin(const G4Track* track)   {
     m_currTrack.id           = m_globalParticleID;
     m_currTrack.reason       = reason;
     m_currTrack.mask         = 0;
-    m_currTrack.status      |= G4PARTICLE_SIM_CREATED;
+    m_currTrack.status       = G4PARTICLE_SIM_CREATED;
     m_currTrack.spin[0]      = 0;
     m_currTrack.spin[1]      = 0;
     m_currTrack.spin[2]      = 0;
-- 
GitLab