Switch to using G4AtlasActionInitialization to initialize UserActions in Simulation jobs
G4AtlasActionInitialization
derives from G4VUserActionInitialization
.
Classes based on G4VUserActionInitialization
are the recommended way
of initializing G4UserActions
in Geant4MT. Switching to this approach
should make our Athena interface to Geant4 more standard. Currently the
class just wraps calls to the UserActionSvc
.
The required clients of the UserActionSvc
are then updated to create
(in the case of G4AtlasAlg
, G4LegacyTransportTool
and
G4TransportTool
) G4AtlasActionInitialization
or use it
(G4AtlasRunManager
, G4AtlasUserWorkerThreadInitialization
,
G4AtlasWorkerRunManager
).
Ideally G4RunActions
would be initialized for the master thread also
via the G4VUserActionInitialization::BuildForMaster
call. This
functionality was missing in the current implementation, so has not been
added here in order to reproduce exactly the current behaviour. Adding
it requires significant refactoring which is best handled in a separate
merge request.