ATLAS Offline Software
G4AtlasUserWorkerThreadInitialization.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef G4ATLASALG_G4ATLASUSERWORKERTHREADINITIALIZATION_H
6 #define G4ATLASALG_G4ATLASUSERWORKERTHREADINITIALIZATION_H
7 
8 // Hide multi-threading classes from builds without G4MT
9 #include "G4Types.hh"
10 #ifdef G4MULTITHREADED
11 
12 #include "G4UserWorkerThreadInitialization.hh"
13 
26 class G4AtlasUserWorkerThreadInitialization : public G4UserWorkerThreadInitialization {
27 
28 public:
29 
31  G4WorkerRunManager* CreateWorkerRunManager() const;
32 
36  void SetDetGeoSvc(const std::string& typeAndName) {
37  m_detGeoSvcName = typeAndName;
38  }
39 
41  void SetFastSimMasterTool(const std::string& typeAndName) {
42  m_fastSimToolName = typeAndName;
43  }
44 
46  void SetQuietMode(bool quietMode) {
47  m_quietMode = quietMode;
48  }
49 
50 private:
51  std::string m_detGeoSvcName{"DetectorGeometrySvc"};
52  std::string m_fastSimToolName{"FastSimulationMasterTool"};
53  bool m_quietMode{false};
54 
55 }; // class G4AtlasUserWorkerThreadInitialization
56 
57 #endif // G4MULTITHREADED
58 
59 #endif