The Gaudi Framework
master (37c0b60a)
|
#include </builds/gaudi/Gaudi/GaudiCoreSvc/src/ApplicationMgr/AlgorithmManager.h>
Classes | |
struct | AlgorithmItem |
Public Types | |
typedef std::map< std::string, std::string, std::less<> > | AlgTypeAliasesMap |
typedefs and classes More... | |
Public Types inherited from extends< ComponentManager, IAlgManager > | |
using | base_class = extends |
Typedef to this class. More... | |
using | extend_interfaces_base = extend_interfaces< Interfaces... > |
Typedef to the base of this class. More... | |
Public Types inherited from CommonMessaging< implements< IComponentManager > > | |
using | base_class = CommonMessaging |
Public Types inherited from extend_interfaces< Interfaces... > | |
using | ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids... >::type |
take union of the ext_iids of all Interfaces... More... | |
Public Member Functions | |
AlgorithmManager (IInterface *iface) | |
default creator More... | |
StatusCode | addAlgorithm (IAlgorithm *alg) override |
implementation of IAlgManager::addAlgorithm More... | |
StatusCode | removeAlgorithm (IAlgorithm *alg) override |
implementation of IAlgManager::removeAlgorithm More... | |
StatusCode | createAlgorithm (std::string algtype, std::string algname, IAlgorithm *&algorithm, bool managed=false, bool checkIfExists=true) override |
implementation of IAlgManager::createAlgorithm More... | |
bool | existsAlgorithm (std::string_view name) const override |
implementation of IAlgManager::existsAlgorithm More... | |
const std::vector< IAlgorithm * > & | getAlgorithms () const override |
implementation of IAlgManager::getAlgorithms More... | |
StatusCode | initialize () override |
Initialization (from CONFIGURED to INITIALIZED). More... | |
StatusCode | start () override |
Start (from INITIALIZED to RUNNING). More... | |
StatusCode | stop () override |
Stop (from RUNNING to INITIALIZED). More... | |
StatusCode | finalize () override |
Finalize (from INITIALIZED to CONFIGURED). More... | |
StatusCode | reinitialize () override |
Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED). More... | |
StatusCode | restart () override |
Initialization (from RUNNING to RUNNING, via INITIALIZED). More... | |
const std::string & | name () const override |
Return the name of the manager (implementation of INamedInterface) More... | |
SmartIF< IAlgorithm > & | algorithm (const Gaudi::Utils::TypeNameString &typeName, const bool createIf=true) override |
AlgTypeAliasesMap & | typeAliases () |
const AlgTypeAliasesMap & | typeAliases () const |
void | outputLevelUpdate () override |
Function to call to update the outputLevel of the components (after a change in MessageSvc). More... | |
Public Member Functions inherited from extends< ComponentManager, IAlgManager > | |
void * | i_cast (const InterfaceID &tid) const override |
Implementation of IInterface::i_cast. More... | |
StatusCode | queryInterface (const InterfaceID &ti, void **pp) override |
Implementation of IInterface::queryInterface. More... | |
std::vector< std::string > | getInterfaceNames () const override |
Implementation of IInterface::getInterfaceNames. More... | |
Public Member Functions inherited from ComponentManager | |
ComponentManager (IInterface *application, const InterfaceID &baseIID) | |
Constructor. More... | |
const InterfaceID & | componentBaseInterface () const override |
Basic interface id of the managed components. More... | |
StatusCode | queryInterface (const InterfaceID &iid, void **pinterface) override |
Specialized queryInterface implementation. More... | |
SmartIF< ISvcLocator > & | serviceLocator () const override |
StatusCode | configure () override |
Configuration (from OFFLINE to CONFIGURED). More... | |
StatusCode | initialize () override |
Initialization (from CONFIGURED to INITIALIZED). More... | |
StatusCode | start () override |
Start (from INITIALIZED to RUNNING). More... | |
StatusCode | stop () override |
Stop (from RUNNING to INITIALIZED). More... | |
StatusCode | finalize () override |
Finalize (from INITIALIZED to CONFIGURED). More... | |
StatusCode | terminate () override |
Initialization (from CONFIGURED to OFFLINE). More... | |
StatusCode | reinitialize () override |
Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED). More... | |
StatusCode | restart () override |
Initialization (from RUNNING to RUNNING, via INITIALIZED). More... | |
Gaudi::StateMachine::State | FSMState () const override |
Get the current state. More... | |
Gaudi::StateMachine::State | targetFSMState () const override |
When we are in the middle of a transition, get the state where the transition is leading us. More... | |
Public Member Functions inherited from CommonMessaging< implements< IComponentManager > > | |
MSG::Level | msgLevel () const |
get the cached level (originally extracted from the embedded MsgStream) More... | |
bool | msgLevel (MSG::Level lvl) const |
get the output level from the embedded MsgStream More... | |
Private Attributes | |
std::vector< AlgorithmItem > | m_algs |
algorithms maintained by AlgorithmManager More... | |
std::unordered_multimap< std::string_view, SmartIF< IAlgorithm > > | m_algsMap |
algorithms maintained by AlgorithmManager More... | |
std::vector< IAlgorithm * > | m_listOfPtrs |
List of pointers to the know services used to implement getAlgorithms() More... | |
AlgTypeAliasesMap | m_algTypeAliases |
Additional Inherited Members | |
Protected Member Functions inherited from CommonMessaging< implements< IComponentManager > > | |
MSG::Level | setUpMessaging () const |
Set up local caches. More... | |
MSG::Level | resetMessaging () |
Reinitialize internal states. More... | |
void | updateMsgStreamOutputLevel (int level) |
Update the output level of the cached MsgStream. More... | |
Protected Attributes inherited from ComponentManager | |
SmartIF< IInterface > | m_application |
Pointer to the owner of the manager. More... | |
SmartIF< IStateful > | m_stateful |
Pointer to the IStateful interface of the owner. More... | |
InterfaceID | m_basicInterfaceId |
Basic interface id of the managed components. More... | |
SmartIF< ISvcLocator > | m_svcLocator |
Service locator (needed to access the MessageSvc) More... | |
friend | ApplicationMgr |
The AlgorithmManager class is in charge of the creation of concrete instances of Algorithms. The ApplicationMgr delegates the creation and bookkeeping of algorithms to the algorithm factory. In order to be able to create algorithms from which it does not know the concrete type it requires that the algorithm has been declared in one of 3 possible ways: an abstract static creator function, a dynamic link library or an abstract factory reference.
Definition at line 42 of file AlgorithmManager.h.
typedefs and classes
Definition at line 52 of file AlgorithmManager.h.
AlgorithmManager::AlgorithmManager | ( | IInterface * | iface | ) |
|
override |
implementation of IAlgManager::addAlgorithm
Definition at line 33 of file AlgorithmManager.cpp.
|
override |
Definition at line 108 of file AlgorithmManager.cpp.
|
override |
implementation of IAlgManager::createAlgorithm
Definition at line 54 of file AlgorithmManager.cpp.
|
override |
implementation of IAlgManager::existsAlgorithm
Definition at line 123 of file AlgorithmManager.cpp.
|
override |
Finalize (from INITIALIZED to CONFIGURED).
Definition at line 166 of file AlgorithmManager.cpp.
|
override |
|
override |
Initialization (from CONFIGURED to INITIALIZED).
Definition at line 136 of file AlgorithmManager.cpp.
|
inlineoverride |
Return the name of the manager (implementation of INamedInterface)
Definition at line 85 of file AlgorithmManager.h.
|
override |
Function to call to update the outputLevel of the components (after a change in MessageSvc).
Definition at line 222 of file AlgorithmManager.cpp.
|
override |
Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED).
Definition at line 187 of file AlgorithmManager.cpp.
|
override |
implementation of IAlgManager::removeAlgorithm
Definition at line 40 of file AlgorithmManager.cpp.
|
override |
Initialization (from RUNNING to RUNNING, via INITIALIZED).
Definition at line 200 of file AlgorithmManager.cpp.
|
override |
|
override |
Stop (from RUNNING to INITIALIZED).
Definition at line 156 of file AlgorithmManager.cpp.
|
inline |
Definition at line 92 of file AlgorithmManager.h.
|
inline |
Definition at line 93 of file AlgorithmManager.h.
|
private |
algorithms maintained by AlgorithmManager
Definition at line 99 of file AlgorithmManager.h.
|
private |
algorithms maintained by AlgorithmManager
Definition at line 100 of file AlgorithmManager.h.
|
private |
Definition at line 106 of file AlgorithmManager.h.
|
mutableprivate |
List of pointers to the know services used to implement getAlgorithms()
Definition at line 104 of file AlgorithmManager.h.