ATLAS Offline Software
Simulation
G4Atlas
G4AtlasAlg
src
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
5
#include "
G4AtlasAlg/G4AtlasActionInitialization.h
"
6
#if G4VERSION_NUMBER >= 1070
7
#include "G4Exception.hh"
8
#else
9
#include "globals.hh"
10
#endif
11
12
G4AtlasActionInitialization::G4AtlasActionInitialization
(
G4UA::IUserActionSvc
* userActionSvc)
13
: G4VUserActionInitialization()
14
, m_userActionSvc(userActionSvc)
15
{}
16
17
18
G4AtlasActionInitialization::~G4AtlasActionInitialization
()
19
{}
20
21
22
void
G4AtlasActionInitialization::BuildForMaster
()
const
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
31
void
G4AtlasActionInitialization::Build
()
const
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
Generated on Fri Jul 5 2024 21:16:10 for ATLAS Offline Software by
1.8.18