ATLAS Offline Software
Loading...
Searching...
No Matches
G4EventSynchronizationInterface Class Reference

#include <AtlasG4SyncEventUserInfo.h>

Collaboration diagram for G4EventSynchronizationInterface:

Public Member Functions

EventStatus Status () const
void Complete (bool eventAborted)
 Mark all Geant4 processing for this event as complete and wake Athena.
void WaitStatusDone ()
bool EventAborted () const

Private Types

enum class  EventStatus { Ready , Done , Size }

Private Member Functions

void WaitStatus (const EventStatus &)

Private Attributes

bool m_event_aborted {false}
EventStatus m_status {EventStatus::Ready}
std::mutex m_mutex
std::condition_variable m_cv

Detailed Description

Definition at line 27 of file AtlasG4SyncEventUserInfo.h.

Member Enumeration Documentation

◆ EventStatus

Enumerator
Ready 
Done 
Size 

Definition at line 29 of file AtlasG4SyncEventUserInfo.h.

29 {
30 Ready,
31 Done,
32 Size
33 };

Member Function Documentation

◆ Complete()

void G4EventSynchronizationInterface::Complete ( bool eventAborted)

Mark all Geant4 processing for this event as complete and wake Athena.

Definition at line 34 of file AtlasG4SyncEventUserInfo.cxx.

◆ EventAborted()

bool G4EventSynchronizationInterface::EventAborted ( ) const
inline

Definition at line 39 of file AtlasG4SyncEventUserInfo.h.

39 {
40 std::scoped_lock lk(m_mutex);
41 return m_event_aborted;
42 }

◆ Status()

auto G4EventSynchronizationInterface::Status ( ) const

Definition at line 28 of file AtlasG4SyncEventUserInfo.cxx.

29{
30 std::scoped_lock lk(m_mutex);
31 return m_status;
32}

◆ WaitStatus()

void G4EventSynchronizationInterface::WaitStatus ( const EventStatus & status)
private

Definition at line 44 of file AtlasG4SyncEventUserInfo.cxx.

45{
46 std::unique_lock lk(m_mutex);
47 m_cv.wait(lk, [this,status]{ return m_status==status; });
48}
status
Definition merge.py:16

◆ WaitStatusDone()

void G4EventSynchronizationInterface::WaitStatusDone ( )
inline

Definition at line 38 of file AtlasG4SyncEventUserInfo.h.

Member Data Documentation

◆ m_cv

std::condition_variable G4EventSynchronizationInterface::m_cv
private

Definition at line 50 of file AtlasG4SyncEventUserInfo.h.

◆ m_event_aborted

bool G4EventSynchronizationInterface::m_event_aborted {false}
private

Definition at line 47 of file AtlasG4SyncEventUserInfo.h.

47{false};

◆ m_mutex

std::mutex G4EventSynchronizationInterface::m_mutex
mutableprivate

Definition at line 49 of file AtlasG4SyncEventUserInfo.h.

◆ m_status

EventStatus G4EventSynchronizationInterface::m_status {EventStatus::Ready}
private

The documentation for this class was generated from the following files: