diff --git a/DDG4/src/Geant4UIManager.cpp b/DDG4/src/Geant4UIManager.cpp index 37ebc5df82509b624f52bfa40262ac82fa1d2b01..3d6757a4d9b74e4c5b6f7df1f577a21a11bcfe28 100644 --- a/DDG4/src/Geant4UIManager.cpp +++ b/DDG4/src/Geant4UIManager.cpp @@ -152,8 +152,14 @@ void Geant4UIManager::start() { context()->kernel().runManager().BeamOn(numEvent); } catch (DD4hep_End_Of_File& e) { printout(INFO,"Geant4UIManager","++ End of file reached, ending run..."); - context()->kernel().runManager().RunTermination(); } + // Execute the chained command statements + for(const auto& c : m_postRunCommands) { + printout(INFO,"Geant4UIManager","++ Executing Command statement:%s",c.c_str()); + mgr->ApplyCommand(c.c_str()); + executed_statements = true; + } + context()->kernel().runManager().RunTermination(); } /// Stop and release resources diff --git a/examples/CLICSiD/CMakeLists.txt b/examples/CLICSiD/CMakeLists.txt index 9967ff104fb2ab5bf609c82d635dde47ea546536..cc2f74aeb3c073ba2efc57ff47db1a3cbbe09d43 100644 --- a/examples/CLICSiD/CMakeLists.txt +++ b/examples/CLICSiD/CMakeLists.txt @@ -119,12 +119,12 @@ if (DD4HEP_USE_GEANT4) endforeach(script) # # Write GDML from Geant4 using UI - #dd4hep_add_test_reg( CLICSiD_DDG4_GDML_LONGTEST - # COMMAND "${CMAKE_INSTALL_PREFIX}/bin/run_test_CLICSiD.sh" - # EXEC_ARGS python ${CLICSiDEx_INSTALL}/scripts/CLIC_GDML.py - # REQUIRES DDG4 Geant4 - # REGEX_PASS "G4GDML. Writing 'CLICSiD.gdml' done !" - # REGEX_FAIL "Exception;EXCEPTION;ERROR" ) + dd4hep_add_test_reg( CLICSiD_DDG4_GDML_LONGTEST + COMMAND "${CMAKE_INSTALL_PREFIX}/bin/run_test_CLICSiD.sh" + EXEC_ARGS python ${CLICSiDEx_INSTALL}/scripts/CLIC_GDML.py + REQUIRES DDG4 Geant4 + REGEX_PASS "G4GDML. Writing 'CLICSiD.gdml' done !" + REGEX_FAIL "Exception;EXCEPTION;ERROR" ) # # Material scan dd4hep_add_test_reg( CLICSiD_DDG4_g4material_scan_LONGTEST diff --git a/examples/CLICSiD/scripts/CLIC_G4Gun.py b/examples/CLICSiD/scripts/CLIC_G4Gun.py index 6964c417406eadba0c55cd053ea7e187c76a2a6e..a860c8a4a00e903e706dbfef2bf7b1604a3aea11 100644 --- a/examples/CLICSiD/scripts/CLIC_G4Gun.py +++ b/examples/CLICSiD/scripts/CLIC_G4Gun.py @@ -51,6 +51,11 @@ def run(): user.enableUI() part.adopt(user) # + # Setup the GDML writer action + writer = DDG4.Action(kernel,'Geant4GDMLWriteAction/Writer') + writer.enableUI() + kernel.registerGlobalAction(writer) + sid.setupDetectors() sid.setupPhysics('QGSP_BERT') sid.test_config()