ATLAS Offline Software
G4AtlasActionInitialization.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 #if G4VERSION_NUMBER >= 1070
7 #include "G4Exception.hh"
8 #else
9 #include "globals.hh"
10 #endif
11 
13  : G4VUserActionInitialization()
14  , m_userActionSvc(userActionSvc)
15 {}
16 
17 
19 {}
20 
21 
23 {
24  G4VUserActionInitialization::BuildForMaster();
25  // TODO Ideally separate "master" versions of the G4RunActions would
26  // be created, but this will require a larger redesign. See
27  // https://gitlab.cern.ch/geant4/geant4/-/blob/master/examples/basic/B4/B4a/src/B4aActionInitialization.cc#L52
28 }
29 
30 
32 {
33  if (!m_userActionSvc) {
34  G4ExceptionDescription description;
35  description << "Build: UserActionSvc is NULL.";
36  G4Exception("G4AtlasActionInitialization", "NoUserActionSvc", FatalException, description);
37  abort(); // to keep Coverity happy
38  }
39  if (m_userActionSvc->initializeActions().isFailure()) { //Consider renaming to buildActions()?
40  G4ExceptionDescription description;
41  description << "Build: Failed to create UserActions.";
42  G4Exception("G4AtlasActionInitialization", "CouldNotBuildActions", FatalException, description);
43  abort(); // to keep Coverity happy
44  }
45 }
G4AtlasActionInitialization::G4AtlasActionInitialization
G4AtlasActionInitialization(G4UA::IUserActionSvc *userActionSvc)
Definition: G4AtlasActionInitialization.cxx:12
G4UA::IUserActionSvc
Abstract interface for the UserActionSvc.
Definition: IUserActionSvc.h:26
G4AtlasActionInitialization.h
G4AtlasActionInitialization::Build
virtual void Build() const
Definition: G4AtlasActionInitialization.cxx:31
G4AtlasActionInitialization::BuildForMaster
virtual void BuildForMaster() const
Definition: G4AtlasActionInitialization.cxx:22
G4AtlasActionInitialization::~G4AtlasActionInitialization
virtual ~G4AtlasActionInitialization()
Definition: G4AtlasActionInitialization.cxx:18
G4UA::IUserActionSvc::initializeActions
virtual StatusCode initializeActions()=0
Initialize all the user actions for the current thread.
G4AtlasActionInitialization::m_userActionSvc
G4UA::IUserActionSvc * m_userActionSvc
Definition: G4AtlasActionInitialization.h:24
description
std::string description
glabal timer - how long have I taken so far?
Definition: hcg.cxx:88