ATLAS Offline Software
Loading...
Searching...
No Matches
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
19class StatusCode;
20
21namespace EL
22{
37
38 class JobConfig final : public TObject
39 {
40 //
41 // public interface
42 //
43
47 public:
48 void testInvariant () const;
49
50
54 public:
55 JobConfig () noexcept;
56
57
64 public:
66
67
71 public:
72 JobConfig (JobConfig&& that) noexcept;
73
74
78 public:
79 virtual ~JobConfig () noexcept;
80
81
88 public:
89 JobConfig& operator = (const JobConfig& that);
90
91
95 public:
96 JobConfig& operator = (JobConfig&& that) noexcept;
97
98
102 public:
103 void swap (JobConfig& that) noexcept;
104
105
113 public:
115
116
121 public:
122 const IAlgorithmWrapper *getAlgorithm (std::string_view name) const noexcept;
123
124
134 public:
136
137
141 public:
142 std::size_t numberOfAlgorithms () const noexcept;
143
144
145
146 //
147 // private interface
148 //
149
154 private:
156
162 private:
164
166 };
167}
168
169#endif
a wrapper around a generic algorithm for use within EventLoop
ClassDef(JobConfig, 1)
JobConfig() noexcept
standard constructor
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
void swap(JobConfig &that) noexcept
standard swap
std::size_t m_algorithmCount
the number of algorithms added
Definition JobConfig.h:155
std::vector< std::unique_ptr< EL::IAlgorithmWrapper > > extractAlgorithms()
extract the list of algorithms from this object
std::size_t numberOfAlgorithms() const noexcept
get the number of algorithms configured
std::vector< std::unique_ptr< EL::IAlgorithmWrapper > > m_algorithms
the list of algorithms added
Definition JobConfig.h:163
::StatusCode addAlgorithm(std::unique_ptr< IAlgorithmWrapper > &&val_algorithm)
add an algorithm
void testInvariant() const
test the invariant of this object
STL class.
This module defines the arguments passed from the BATCH driver to the BATCH worker.
::StatusCode StatusCode
StatusCode definition for legacy code.
STL namespace.
#define private