ATLAS Offline Software
Loading...
Searching...
No Matches
AlgorithmData.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7
8
9#ifndef EVENT_LOOP__ALGORITHM_DATA_H
10#define EVENT_LOOP__ALGORITHM_DATA_H
11
12#include <EventLoop/Global.h>
13
14#include <AnaAlgorithm/Global.h>
15#include <cstdint>
16#include <memory>
17
18namespace EL
19{
20 namespace Detail
21 {
26
28 {
30 std::unique_ptr<IAlgorithmWrapper> m_algorithm;
31
33 uint64_t m_executeCount {0};
34
37 uint64_t m_skipCount {0};
38
44 bool m_sequenceStart {false};
45
52 bool m_wasSkipped {false};
53
54
55 AlgorithmData () = default;
56
57 AlgorithmData (std::unique_ptr<IAlgorithmWrapper> val_algorithm);
58
59 AlgorithmData (AlgorithmData&& that) = default;
60
61 ~AlgorithmData () noexcept;
62
63 inline IAlgorithmWrapper *operator -> () {return m_algorithm.get();};
64
65 inline const IAlgorithmWrapper *operator -> () const {return m_algorithm.get();};
66 };
67 }
68}
69
70#endif
a wrapper around a generic algorithm for use within EventLoop
This module defines the arguments passed from the BATCH driver to the BATCH worker.
uint64_t m_executeCount
the number of times this algorithm has been called
IAlgorithmWrapper * operator->()
std::unique_ptr< IAlgorithmWrapper > m_algorithm
the algorithm we use
AlgorithmData(AlgorithmData &&that)=default
uint64_t m_skipCount
the number of times this algorithm has asked to skip this event
bool m_sequenceStart
whether this algorithm starts a new logical sequence
bool m_wasSkipped
whether this algorithm was skipped during the execute pass