5 #ifndef G4ATLASALG_G4ATLASMTRUNMANAGER_H
6 #define G4ATLASALG_G4ATLASMTRUNMANAGER_H
10 #ifdef G4MULTITHREADED
13 #include "G4MTRunManager.hh"
16 #include "GaudiKernel/ToolHandle.h"
17 #include "GaudiKernel/ServiceHandle.h"
37 class G4AtlasMTRunManager:
public G4MTRunManager,
public AthMessaging {
45 void RunTermination() override final;
54 virtual
void ThisWorkerReady() override final {};
55 virtual void ThisWorkerEndEventLoop() override final {};
58 void SetDetGeoSvc(
const std::string& typeAndName) {
59 m_detGeoSvc.setTypeAndName(typeAndName);
63 void SetFastSimMasterTool(
const std::string& typeAndName) {
64 m_fastSimTool.setTypeAndName(typeAndName);
68 void SetPhysListSvc(
const std::string& typeAndName) {
69 m_physListSvc.setTypeAndName(typeAndName);
75 void InitializeGeometry() override final;
78 void InitializePhysics() override final;
82 virtual
void WaitForReadyWorkers() override final {};
83 virtual void WaitForEndEventLoopWorkers() override final {};
88 G4AtlasMTRunManager();
101 ToolHandle<IFastSimulationMasterTool> m_fastSimTool;
105 #endif // G4MULTITHREADED