ATLAS Offline Software
|
the job configuration that is independent of driver and dataset More...
#include <JobConfig.h>
Public Member Functions | |
void | testInvariant () const |
test the invariant of this object More... | |
JobConfig () noexcept | |
standard constructor More... | |
JobConfig (const JobConfig &that) | |
standard copy constructor More... | |
JobConfig (JobConfig &&that) noexcept | |
standard move constructor More... | |
virtual | ~JobConfig () noexcept |
standard destructor More... | |
JobConfig & | operator= (const JobConfig &that) |
standard assignment operator More... | |
JobConfig & | operator= (JobConfig &&that) noexcept |
standard move assignment operator More... | |
void | swap (JobConfig &that) noexcept |
standard swap More... | |
::StatusCode | addAlgorithm (std::unique_ptr< IAlgorithmWrapper > &&val_algorithm) |
add an algorithm More... | |
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 More... | |
std::vector< std::unique_ptr< EL::IAlgorithmWrapper > > | extractAlgorithms () |
extract the list of algorithms from this object More... | |
std::size_t | numberOfAlgorithms () const noexcept |
get the number of algorithms configured More... | |
Private Member Functions | |
ClassDef (JobConfig, 1) | |
Private Attributes | |
std::size_t | m_algorithmCount = 0 |
the number of algorithms added More... | |
std::vector< std::unique_ptr< EL::IAlgorithmWrapper > > | m_algorithms |
the list of algorithms added More... | |
the job configuration that is independent of driver and dataset
This is a work in progress (03 Feb 18), but essentially the idea is that this will contain he generic configuration of the user job (whatever that is), which will then be combined with the configuration for how it is to be run and with the configuration for which data to run over.
For now (03 Feb 18) this is just the list of algorithms we configured. That way that code is bundled in a single place and I can add some extra checks. There used to be some issues with the grid driver not correctly detecting when algorithms could not be loaded, which should be avoided this way.
Definition at line 38 of file JobConfig.h.
|
noexcept |
standard constructor
standard copy constructor
|
noexcept |
standard move constructor
|
virtualnoexcept |
standard destructor
::StatusCode EL::JobConfig::addAlgorithm | ( | std::unique_ptr< IAlgorithmWrapper > && | val_algorithm | ) |
add an algorithm
|
private |
std::vector<std::unique_ptr<EL::IAlgorithmWrapper> > EL::JobConfig::extractAlgorithms | ( | ) |
extract the list of algorithms from this object
This will check for any possible streaming errors before extracting.
|
noexcept |
get the algorithm with the given name, or nullptr if there is no algorithm with that name
|
noexcept |
get the number of algorithms configured
standard assignment operator
standard move assignment operator
|
noexcept |
standard swap
void EL::JobConfig::testInvariant | ( | ) | const |
test the invariant of this object
|
private |
the number of algorithms added
This is used to double-check that we didn't lose any algorithms during serialization.
Definition at line 155 of file JobConfig.h.
|
private |
the list of algorithms added
\warn This may contain nullptr if the clone failed (usually due to missing dictionaries/libraries). All users of this member need to check it regularly.
Definition at line 163 of file JobConfig.h.