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
39
40 AlgorithmData () = default;
41
42 AlgorithmData (std::unique_ptr<IAlgorithmWrapper> val_algorithm);
43
44 AlgorithmData (AlgorithmData&& that) = default;
45
46 ~AlgorithmData () noexcept;
47
48 inline IAlgorithmWrapper *operator -> () {return m_algorithm.get();};
49
50 inline const IAlgorithmWrapper *operator -> () const {return m_algorithm.get();};
51 };
52 }
53}
54
55#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