ATLAS Offline Software
Loading...
Searching...
No Matches
EL::Detail::AlgorithmData Struct Referencefinal

all the data a worker tracks for an individual algorithm More...

#include <AlgorithmData.h>

Collaboration diagram for EL::Detail::AlgorithmData:

Public Member Functions

 AlgorithmData ()=default
 AlgorithmData (std::unique_ptr< IAlgorithmWrapper > val_algorithm)
 AlgorithmData (AlgorithmData &&that)=default
 ~AlgorithmData () noexcept
IAlgorithmWrapperoperator-> ()
const IAlgorithmWrapperoperator-> () const

Public Attributes

std::unique_ptr< IAlgorithmWrapperm_algorithm
 the algorithm we use
uint64_t m_executeCount {0}
 the number of times this algorithm has been called
uint64_t m_skipCount {0}
 the number of times this algorithm has asked to skip this event
bool m_sequenceStart {false}
 whether this algorithm starts a new logical sequence
bool m_wasSkipped {false}
 whether this algorithm was skipped during the execute pass

Detailed Description

all the data a worker tracks for an individual algorithm

This is a simple struct without accessors, as it is meant to be strictly internal to the worker and module implementation.

Definition at line 27 of file AlgorithmData.h.

Constructor & Destructor Documentation

◆ AlgorithmData() [1/3]

EL::Detail::AlgorithmData::AlgorithmData ( )
default

◆ AlgorithmData() [2/3]

EL::Detail::AlgorithmData::AlgorithmData ( std::unique_ptr< IAlgorithmWrapper > val_algorithm)

Definition at line 25 of file AlgorithmData.cxx.

27 : m_algorithm (std::move (val_algorithm))
28 {}
std::unique_ptr< IAlgorithmWrapper > m_algorithm
the algorithm we use

◆ AlgorithmData() [3/3]

EL::Detail::AlgorithmData::AlgorithmData ( AlgorithmData && that)
default

◆ ~AlgorithmData()

EL::Detail::AlgorithmData::~AlgorithmData ( )
noexcept

Definition at line 30 of file AlgorithmData.cxx.

32 {
33 // made explicit to reduce include dependencies
34 }

Member Function Documentation

◆ operator->() [1/2]

IAlgorithmWrapper * EL::Detail::AlgorithmData::operator-> ( )
inline

Definition at line 63 of file AlgorithmData.h.

63{return m_algorithm.get();};

◆ operator->() [2/2]

const IAlgorithmWrapper * EL::Detail::AlgorithmData::operator-> ( ) const
inline

Definition at line 65 of file AlgorithmData.h.

65{return m_algorithm.get();};

Member Data Documentation

◆ m_algorithm

std::unique_ptr<IAlgorithmWrapper> EL::Detail::AlgorithmData::m_algorithm

the algorithm we use

Definition at line 30 of file AlgorithmData.h.

◆ m_executeCount

uint64_t EL::Detail::AlgorithmData::m_executeCount {0}

the number of times this algorithm has been called

Definition at line 33 of file AlgorithmData.h.

33{0};

◆ m_sequenceStart

bool EL::Detail::AlgorithmData::m_sequenceStart {false}

whether this algorithm starts a new logical sequence

This allows grouping algorithms into sub-sequences within the overall sequence. This allows filter algorithms to skip the rest of the current sub-sequence, instead of all algorithms.

Definition at line 44 of file AlgorithmData.h.

44{false};

◆ m_skipCount

uint64_t EL::Detail::AlgorithmData::m_skipCount {0}

the number of times this algorithm has asked to skip this event

Definition at line 37 of file AlgorithmData.h.

37{0};

◆ m_wasSkipped

bool EL::Detail::AlgorithmData::m_wasSkipped {false}

whether this algorithm was skipped during the execute pass

The AlgorithmStateModule sets this flag when an algorithm is skipped, to indicate that postExecute should not be run for this algorithm.

Definition at line 52 of file AlgorithmData.h.

52{false};

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