ATLAS Offline Software
G4AtlasWorkerRunManager.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_G4ATLASWORKERRUNMANAGER_H
6 #define G4ATLASALG_G4ATLASWORKERRUNMANAGER_H
7 
8 // Hide multi-threading classes from builds without G4MT
9 #include "G4Types.hh"
10 #ifdef G4MULTITHREADED
11 
12 #include "G4WorkerRunManager.hh"
14 
15 
17 class G4AtlasWorkerRunManager : public G4WorkerRunManager, public AthMessaging {
18 
19 public:
20 
22  static G4AtlasWorkerRunManager* GetG4AtlasWorkerRunManager();
23 
26  void Initialize() override final;
27 
29  bool ProcessEvent(G4Event* event);
30 
32  void RunTermination() override final;
33 
35  void SetQuietMode(bool quietMode) {
36  m_quietMode = quietMode;
37  }
39 
40 protected:
41 
43  void InitializeGeometry() override final;
44 
46  void InitializePhysics() override final;
47 
48 private:
49 
51  G4AtlasWorkerRunManager();
52 
54  void CommandLog(int returnCode, const std::string& commandString) const;
55 
56 private:
57 
59  bool m_quietMode{true};
60 
61 };
62 
63 #endif // G4MULTITHREADED
64 
65 #endif
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
event
POOL::TEvent event(POOL::TEvent::kClassAccess)
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
columnar::final
CM final
Definition: ColumnAccessor.h:106
jobOptions.Initialize
Initialize
Definition: jobOptions.pA.py:28
AthMessaging.h
private
#define private
Definition: xAODTruthCnvAlg.h:20