21#include <unordered_map>
60 bool managed =
false,
bool checkIfExists =
true )
override;
82 const std::string&
name()
const override {
83 static const std::string _name =
"AlgorithmManager";
97 std::unordered_multimap<std::string, SmartIF<IAlgorithm>>
m_algsMap;
std::map< std::string, std::string, std::less<> > AlgTypeAliasesMap
typedefs and classes
SmartIF< IAlgorithm > & algorithm(const Gaudi::Utils::TypeNameString &typeName, const bool createIf=true) override
AlgorithmManager(IInterface *iface)
default creator
std::vector< IAlgorithm * > getAlgorithms() const override
implementation of IAlgManager::getAlgorithms
AlgTypeAliasesMap m_algTypeAliases
const AlgTypeAliasesMap & typeAliases() const
StatusCode start() override
Start (from INITIALIZED to RUNNING).
StatusCode finalize() override
Finalize (from INITIALIZED to CONFIGURED).
StatusCode stop() override
Stop (from RUNNING to INITIALIZED).
StatusCode addAlgorithm(IAlgorithm *alg) override
implementation of IAlgManager::addAlgorithm
AlgTypeAliasesMap & typeAliases()
bool existsAlgorithm(std::string_view name) const override
implementation of IAlgManager::existsAlgorithm
std::vector< AlgorithmItem > m_algs
algorithms maintained by AlgorithmManager
StatusCode removeAlgorithm(IAlgorithm *alg) override
implementation of IAlgManager::removeAlgorithm
StatusCode reinitialize() override
Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED).
StatusCode createAlgorithm(const std::string &algtype, const std::string &algname, IAlgorithm *&algorithm, bool managed=false, bool checkIfExists=true) override
implementation of IAlgManager::createAlgorithm
StatusCode initialize() override
Initialization (from CONFIGURED to INITIALIZED).
StatusCode restart() override
Initialization (from RUNNING to RUNNING, via INITIALIZED).
std::unordered_multimap< std::string, SmartIF< IAlgorithm > > m_algsMap
algorithms maintained by AlgorithmManager
const std::string & name() const override
Return the name of the manager (implementation of INamedInterface)
void outputLevelUpdate() override
Function to call to update the outputLevel of the components (after a change in MessageSvc).
Helper class to parse a string of format "type/name".
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition of the basic interface.
The IMessage is the interface implemented by the message service.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Small smart pointer class with automatic reference counting for IInterface.
This class is used for returning status codes from appropriate routines.
Base class used to extend a class implementing other interfaces.
AlgorithmItem(IAlgorithm *s, bool managed=false)
bool operator==(const IAlgorithm *ptr) const