8#include "G4LogicalVolumeStore.hh"
9#include "G4PhysicalVolumeStore.hh"
10#include "G4Version.hh"
26 const std::string& nam,
const IInterface* parent )
27 : base_class(
type, nam , parent )
36 ATH_MSG_DEBUG(
"Initializing Geometry configuration tools " );
43 ATH_MSG_DEBUG(
"Initializing World detectors in " << name() );
46 ATH_MSG_DEBUG(
"Initializing sensitive detectors in " << name() );
72 return StatusCode::SUCCESS;
81 -> UPDetectorConstruction {
82 static_assert(std::has_virtual_destructor_v<G4VUserDetectorConstruction>,
83 "G4VUserDetectorConstruction must have a virtual destructor");
86 [](G4VUserDetectorConstruction* ptr) {
delete ptr; }};
95 <<
" being set as World");
108 this->RegisterParallelWorld(it->GetParallelWorld());
112 ATH_MSG_DEBUG(
"Running geometry post-configuration tools" );
114 StatusCode
sc = it->postGeometryConfigure();
117 ATH_MSG_FATAL(
"Unable to run post-geometry configuration for " << it->name() );
125#if G4VERSION_NUMBER > 1079
126 G4LogicalVolumeStore::GetInstance()->SetMapValid(
false);
127 G4LogicalVolumeStore::GetInstance()->UpdateMap();
128 G4PhysicalVolumeStore::GetInstance()->SetMapValid(
false);
129 G4PhysicalVolumeStore::GetInstance()->UpdateMap();
143 ATH_MSG_FATAL(
"Failed to initialize Fast Simulation Tool for worker thread");
149 StatusCode
sc = fm->initializeField();
152 ATH_MSG_FATAL(
"Unable to initialise field with " << fm->name() );
161 ATH_MSG_FATAL(
"Failed to initialize G4CaloTransportTool for worker thread.");
#define ATH_CHECK
Evaluate an expression and check for errors.