1 #ifndef GAUDISVC_ALGORITHMMANAGER_H
2 #define GAUDISVC_ALGORITHMMANAGER_H
67 virtual const std::vector<IAlgorithm*>&
getAlgorithms()
const;
84 const std::string &
name()
const {
85 static std::string _name =
"AlgorithmManager";
103 #endif // GAUDISVC_ALGORITHMFACTORY_H
const std::string & name() const
Return the name of the manager (implementation of INamedInterface)
The AlgorithmManager class is in charge of the creation of concrete instances of Algorithms.
AlgorithmItem(IAlgorithm *s, bool managed=false)
const AlgTypeAliasesMap & typeAliases() const
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
AlgTypeAliasesMap m_algTypeAliases
std::vector< IAlgorithm * > m_listOfPtrs
List of pointers to the know services used to implement getAlgorithms()
virtual SmartIF< IAlgorithm > & algorithm(const Gaudi::Utils::TypeNameString &typeName, const bool createIf=true)
Returns a smart pointer to a service.
AlgTypeAliasesMap & typeAliases()
virtual bool existsAlgorithm(const std::string &name) const
implementation of IAlgManager::existsAlgorithm
virtual StatusCode stop()
Stop (from RUNNING to INITIALIZED).
virtual StatusCode reinitialize()
Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED).
virtual const std::vector< IAlgorithm * > & getAlgorithms() const
implementation of IAlgManager::getAlgorithms
ListAlg m_listalg
List of algorithms maintained by AlgorithmManager.
virtual StatusCode initialize()
Initialization (from CONFIGURED to INITIALIZED).
Helper class to parse a string of format "type/name".
This class is used for returning status codes from appropriate routines.
Definition of the basic interface.
Base class used to extend a class implementing other interfaces.
The IMessage is the interface implemented by the message service.
TYPE * get() const
Get interface pointer.
virtual StatusCode addAlgorithm(IAlgorithm *alg)
implementation of IAlgManager::addAlgorithm
virtual StatusCode restart()
Initialization (from RUNNING to RUNNING, via INITIALIZED).
The IAlgorithm is the interface implemented by the Algorithm base class.
virtual StatusCode removeAlgorithm(IAlgorithm *alg)
implementation of IAlgManager::removeAlgorithm
std::map< std::string, std::string > AlgTypeAliasesMap
virtual StatusCode start()
Start (from INITIALIZED to RUNNING).
virtual StatusCode createAlgorithm(const std::string &algtype, const std::string &algname, IAlgorithm *&algorithm, bool managed=false)
implementation of IAlgManager::createAlgorithm
bool operator==(const std::string &name) const
virtual StatusCode finalize()
Finalize (from INITIALIZED to CONFIGURED).
AlgorithmManager(IInterface *iface)
default creator
std::list< AlgorithmItem > ListAlg
typedefs and classes
std::string typeName(const std::type_info &typ)
bool operator==(const IAlgorithm *ptr) const
virtual ~AlgorithmManager()
virtual destructor
SmartIF< IAlgorithm > algorithm