ATLAS Offline Software
Loading...
Searching...
No Matches
IUserActionSvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5
6#ifndef G4ATLASINTERFACES_G4UA__IUSERACTIONSVC_H
7#define G4ATLASINTERFACES_G4UA__IUSERACTIONSVC_H
8
9// Framework includes
10#include "GaudiKernel/IService.h"
11#include "GaudiKernel/ToolHandle.h"
12
13
14#include <vector>
15#include "G4UserSteppingAction.hh"
17
19
20namespace G4UA
21{
22
28 class IUserActionSvc : virtual public IService
29 {
30
31 public:
32
34 virtual StatusCode initializeActionsMaster() = 0;
35
37 virtual StatusCode initializeActions() = 0;
38
39 // For ISF, get UserActions that could have stored secondary particles
40 virtual StatusCode getSecondaryActions( std::vector< G4UserSteppingAction* >& actions ) = 0;
41
47 virtual StatusCode addActionTool(const ToolHandle<IUserActionTool>& service_tool) = 0;
48
50 virtual void G4RunTool(IG4RunTool*) = 0;
51
52 virtual StatusCode BeginOfAthenaEvent(HitCollectionMap&) = 0;
53 virtual StatusCode EndOfAthenaEvent(HitCollectionMap&) = 0;
54
55
58
59 }; // class IUserActionSvc
60
61} // namespace G4UA
62
63#endif
Abstract interface for the UserActionSvc.
virtual StatusCode getSecondaryActions(std::vector< G4UserSteppingAction * > &actions)=0
virtual StatusCode EndOfAthenaEvent(HitCollectionMap &)=0
virtual void G4RunTool(IG4RunTool *)=0
Set the G4RunTool pointer to be used by the UserActionSvc.
virtual StatusCode BeginOfAthenaEvent(HitCollectionMap &)=0
virtual StatusCode initializeActions()=0
Initialize all the user actions for the current thread.
virtual StatusCode initializeActionsMaster()=0
Initialize run actions on the main Geant4 thread.
DeclareInterfaceID(G4UA::IUserActionSvc, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual StatusCode addActionTool(const ToolHandle< IUserActionTool > &service_tool)=0
In very rare cases, the IUserActionSvc needs to call tools of which it cannot be owner during its ini...
Small wrapper around hit collection map to facilitate accessing the hit collection.
Provides an interface to interact with the Geant4 run.
Definition IG4RunTool.h:22