ATLAS Offline Software
Loading...
Searching...
No Matches
Simulation
G4Atlas
G4AtlasInterfaces
G4AtlasInterfaces
IG4RunTool.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
#ifndef G4ATLASINTERFACES_IG4RunTool_H
6
#define G4ATLASINTERFACES_IG4RunTool_H
7
8
#include <GaudiKernel/IAlgTool.h>
9
#include <memory>
10
11
// Forward declarations
12
class
AtlasG4SyncEventUserInfo
;
13
21
22
class
IG4RunTool
:
virtual
public
IAlgTool {
23
public
:
24
// type alias
25
using
UPEvent
= std::unique_ptr<AtlasG4SyncEventUserInfo>;
26
27
DeclareInterfaceID
(
IG4RunTool
, 1, 0);
28
29
// Synchronization methods
30
virtual
void
NotifyBeginRun
() = 0;
31
virtual
void
WaitBeginRun
() = 0;
32
33
// Event queue management
34
virtual
size_t
Size
()
const
= 0;
35
// push an event to the queue
36
virtual
void
PushEvent
(
UPEvent
) = 0;
37
// pop the event from the queue and return it
38
virtual
UPEvent
GetEvent
() = 0;
39
};
40
41
#endif
AtlasG4SyncEventUserInfo
Definition
AtlasG4SyncEventUserInfo.h:53
IG4RunTool
Provides an interface to interact with the Geant4 run.
Definition
IG4RunTool.h:22
IG4RunTool::Size
virtual size_t Size() const =0
IG4RunTool::PushEvent
virtual void PushEvent(UPEvent)=0
IG4RunTool::NotifyBeginRun
virtual void NotifyBeginRun()=0
IG4RunTool::GetEvent
virtual UPEvent GetEvent()=0
IG4RunTool::UPEvent
std::unique_ptr< AtlasG4SyncEventUserInfo > UPEvent
Definition
IG4RunTool.h:25
IG4RunTool::WaitBeginRun
virtual void WaitBeginRun()=0
IG4RunTool::DeclareInterfaceID
DeclareInterfaceID(IG4RunTool, 1, 0)
Generated on
for ATLAS Offline Software by
1.14.0