From 7fee829e406e473332a18c7fff5a8c16b692c3f8 Mon Sep 17 00:00:00 2001 From: Markus Frank <Markus.Frank@cern.ch> Date: Wed, 22 Mar 2023 18:23:16 +0100 Subject: [PATCH] Remove by default debug printing for user limits (too verbose) --- DDG4/include/DDG4/Geant4UserLimits.h | 2 ++ DDG4/src/Geant4UserLimits.cpp | 26 +++++++++++++++++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/DDG4/include/DDG4/Geant4UserLimits.h b/DDG4/include/DDG4/Geant4UserLimits.h index 6776c1745..80286fca2 100644 --- a/DDG4/include/DDG4/Geant4UserLimits.h +++ b/DDG4/include/DDG4/Geant4UserLimits.h @@ -98,6 +98,8 @@ namespace dd4hep { virtual void SetUserMaxTime(G4double utimeMax); virtual void SetUserMinEkine(G4double uekinMin); virtual void SetUserMinRange(G4double urangMin); + /// Allow for debugging user limits (very verbose) + static bool enable_debug(bool value); }; } } diff --git a/DDG4/src/Geant4UserLimits.cpp b/DDG4/src/Geant4UserLimits.cpp index 63cba69bb..54e6c0602 100644 --- a/DDG4/src/Geant4UserLimits.cpp +++ b/DDG4/src/Geant4UserLimits.cpp @@ -30,19 +30,34 @@ using namespace std; using namespace dd4hep::sim; +namespace { + bool user_limit_debug = false; +} + + /// Allow for debugging user limits (very verbose) +bool Geant4UserLimits::enable_debug(bool value) { + bool tmp = user_limit_debug; + user_limit_debug = value; + return tmp; +} + /// Access value according to track double Geant4UserLimits::Handler::value(const G4Track& track) const { auto* def = track.GetParticleDefinition(); if ( !particleLimits.empty() ) { auto i = particleLimits.find(track.GetDefinition()); if ( i != particleLimits.end() ) { - dd4hep::printout(dd4hep::INFO,"Geant4UserLimits", "Apply explicit limit %f to track: %s", - def->GetParticleName().c_str()); + if ( user_limit_debug ) { + dd4hep::printout(dd4hep::INFO,"Geant4UserLimits", "Apply explicit limit %f to track: %s", + def->GetParticleName().c_str()); + } return (*i).second; } } - dd4hep::printout(dd4hep::INFO,"Geant4UserLimits", "Apply default limit %f to track: %s", - def->GetParticleName().c_str()); + if ( user_limit_debug ) { + dd4hep::printout(dd4hep::INFO,"Geant4UserLimits", "Apply default limit %f to track: %s", + def->GetParticleName().c_str()); + } return defaultValue; } @@ -53,8 +68,9 @@ void Geant4UserLimits::Handler::set(const string& particles, double val) { return; } auto defs = Geant4ParticleHandle::g4DefinitionsRegEx(particles); - for( auto* d : defs ) + for( auto* d : defs ) { particleLimits[d] = val; + } } /// Initializing Constructor -- GitLab