ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
D3PDTools
EventLoop
EventLoop
JobConfig.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__JOB_CONFIG_H
10
#define EVENT_LOOP__JOB_CONFIG_H
11
12
#include <
EventLoop/Global.h
>
13
14
#include <
AnaAlgorithm/Global.h
>
15
#include <TObject.h>
16
#include <memory>
17
#include <vector>
18
19
class
StatusCode
;
20
21
namespace
EL
22
{
23
namespace
Detail
24
{
25
struct
AlgorithmData
;
26
}
27
28
43
44
class
JobConfig
final :
public
TObject
45
{
46
//
47
// public interface
48
//
49
53
public
:
54
void
testInvariant
()
const
;
55
56
60
public
:
61
JobConfig
() noexcept;
62
63
70
public:
71
JobConfig
(
const
JobConfig
& that);
72
73
77
public:
78
JobConfig
(
JobConfig
&& that) noexcept;
79
80
84
public:
85
virtual ~
JobConfig
() noexcept;
86
87
94
public:
95
JobConfig
& operator = (
const
JobConfig
& that);
96
97
101
public:
102
JobConfig
& operator = (
JobConfig
&& that) noexcept;
103
104
108
public:
109
void
swap
(
JobConfig
& that) noexcept;
110
111
119
public:
120
::
StatusCode
addAlgorithm
(
std
::
unique_ptr
<
IAlgorithmWrapper
>&& val_algorithm);
121
122
127
public:
128
const
IAlgorithmWrapper
*
getAlgorithm
(
std
::string_view name)
const
noexcept;
129
130
140
public:
141
std
::
vector
<
Detail
::AlgorithmData>
extractAlgorithms
();
142
143
147
public:
148
std
::
size_t
numberOfAlgorithms
()
const
noexcept;
149
150
152
public:
153
void
startNewAlgSequence
();
154
155
156
157
//
158
// private interface
159
//
160
165
private
:
166
std
::
size_t
m_algorithmCount
= 0;
167
173
private
:
174
std
::
vector
<
std
::
unique_ptr
<
EL
::
IAlgorithmWrapper
> >
m_algorithms
;
175
176
178
private
:
179
std
::
vector
<
std
::
size_t
>
m_algSequenceStartIndices
;
180
181
182
ClassDef
(
JobConfig
, 1);
183
};
184
}
185
186
#endif
Global.h
Global.h
EL::IAlgorithmWrapper
a wrapper around a generic algorithm for use within EventLoop
Definition
IAlgorithmWrapper.h:50
EL::JobConfig::ClassDef
ClassDef(JobConfig, 1)
EL::JobConfig::JobConfig
JobConfig() noexcept
standard constructor
EL::JobConfig::getAlgorithm
const IAlgorithmWrapper * getAlgorithm(std::string_view name) const noexcept
get the algorithm with the given name, or nullptr if there is no algorithm with that name
EL::JobConfig::swap
void swap(JobConfig &that) noexcept
standard swap
EL::JobConfig::m_algorithmCount
std::size_t m_algorithmCount
the number of algorithms added
Definition
JobConfig.h:166
EL::JobConfig::extractAlgorithms
std::vector< Detail::AlgorithmData > extractAlgorithms()
extract the list of algorithms from this object
EL::JobConfig::numberOfAlgorithms
std::size_t numberOfAlgorithms() const noexcept
get the number of algorithms configured
EL::JobConfig::m_algSequenceStartIndices
std::vector< std::size_t > m_algSequenceStartIndices
the list of indices at which new algorithm sequences start
Definition
JobConfig.h:179
EL::JobConfig::m_algorithms
std::vector< std::unique_ptr< EL::IAlgorithmWrapper > > m_algorithms
the list of algorithms added
Definition
JobConfig.h:174
EL::JobConfig::addAlgorithm
::StatusCode addAlgorithm(std::unique_ptr< IAlgorithmWrapper > &&val_algorithm)
add an algorithm
EL::JobConfig::testInvariant
void testInvariant() const
test the invariant of this object
EL::JobConfig::startNewAlgSequence
void startNewAlgSequence()
start a new sub-sequence of algorithms
unique_ptr
STL class.
vector
Definition
MultiHisto.h:13
const
EL::Detail
Definition
AsgComponentFactories.h:20
EL
This module defines the arguments passed from the BATCH driver to the BATCH worker.
Definition
AsgComponentFactories.h:16
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
std
STL namespace.
EL::Detail::AlgorithmData
all the data a worker tracks for an individual algorithm
Definition
AlgorithmData.h:28
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0