| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# IAlgManager Class Reference

`#include <GaudiKernel/IAlgManager.h>`

Inheritance diagram for IAlgManager:

[legend]
Collaboration diagram for IAlgManager:

[legend]

List of all members.

## Detailed Description

The IAlgManager is the interface implemented by the Algorithm Factory in the Application Manager to support management functions.

Clients use this interface to declare abstract algorithm factories, and to create concrete instances of algorithms. There are currently 3 methods for the declaration: static creator method (creator). an abstract factory (factory) or a shareable library (module).

Author:
  Pere Mato

Definition at line 29 of file IAlgManager.h.

## Public Member Functions
virtual StatusCode | addAlgorithm (IAlgorithm *alg)=0
| Add an algorithm to the list of known algorithms.
virtual StatusCode | removeAlgorithm (IAlgorithm *alg)=0
| Remove an algorithm from the list of known algorithms.
virtual StatusCode | createAlgorithm (const std::string &algtype, const std::string &algname, IAlgorithm *&alg, bool managed=false)=0
| Create an instance of a algorithm type that has been declared beforehand and assigns to it a name.
virtual StatusCode | getAlgorithm (const std::string &name, IAlgorithm *&alg) const =0
| Find an algorithm with given name in the list of known algorithms.
virtual bool | existsAlgorithm (const std::string &name) const =0
| Check the existance of an algorithm with a given name in the list of known algorithms.
virtual std::list< IAlgorithm * > & | getAlgorithms () const =0
| Return the list of Algorithms.
virtual StatusCode | initializeAlgorithms ()=0
| Initializes the list of "managed" algorithms.
virtual StatusCode | startAlgorithms ()=0
| Starts the list of "managed" algorithms.
virtual StatusCode | stopAlgorithms ()=0
| Stops the list of "managed" algorithms.
virtual StatusCode | finalizeAlgorithms ()=0
| Finalizes the list of "managed" algorithms.
virtual StatusCode | reinitializeAlgorithms ()=0
| Initializes the list of "managed" algorithms.
virtual StatusCode | restartAlgorithms ()=0
| Starts the list of "managed" algorithms.
## Static Public Member Functions
static const InterfaceID & | interfaceID ()
| Retrieve interface ID.

## Member Function Documentation

static const InterfaceID& IAlgManager::interfaceID | ( |  | ) | `[inline, static]`

Retrieve interface ID.

Reimplemented from IInterface.

Definition at line 32 of file IAlgManager.h.

    00032 { return IID_IAlgManager; }

virtual StatusCode IAlgManager::addAlgorithm | ( | IAlgorithm * | alg | ) | `[pure virtual]`

Add an algorithm to the list of known algorithms.

Implemented in AlgorithmManager.

virtual StatusCode IAlgManager::removeAlgorithm | ( | IAlgorithm * | alg | ) | `[pure virtual]`

Remove an algorithm from the list of known algorithms.

Implemented in AlgorithmManager.

virtual StatusCode IAlgManager::createAlgorithm | ( | const std::string & | algtype,
|  | const std::string & | algname,
|  | IAlgorithm *& | alg,
|  | bool | managed = `false` |
| ) |  |  | `[pure virtual]`

Create an instance of a algorithm type that has been declared beforehand and assigns to it a name.

It returns a pointer to an IAlgorithm.

Implemented in AlgorithmManager.

virtual StatusCode IAlgManager::getAlgorithm | ( | const std::string & | name,
|  | IAlgorithm *& | alg |
| ) |  |  | const`[pure virtual]`

Find an algorithm with given name in the list of known algorithms.

Implemented in AlgorithmManager.

virtual bool IAlgManager::existsAlgorithm | ( | const std::string & | name | ) | const`[pure virtual]`

Check the existance of an algorithm with a given name in the list of known algorithms.

Implemented in AlgorithmManager.

virtual std::list<IAlgorithm*>& IAlgManager::getAlgorithms | ( |  | ) | const`[pure virtual]`

Return the list of Algorithms.

Implemented in AlgorithmManager.

virtual StatusCode IAlgManager::initializeAlgorithms | ( |  | ) | `[pure virtual]`

Initializes the list of "managed" algorithms.

Implemented in AlgorithmManager.

virtual StatusCode IAlgManager::startAlgorithms | ( |  | ) | `[pure virtual]`

Starts the list of "managed" algorithms.

Implemented in AlgorithmManager.

virtual StatusCode IAlgManager::stopAlgorithms | ( |  | ) | `[pure virtual]`

Stops the list of "managed" algorithms.

Implemented in AlgorithmManager.

virtual StatusCode IAlgManager::finalizeAlgorithms | ( |  | ) | `[pure virtual]`

Finalizes the list of "managed" algorithms.

Implemented in AlgorithmManager.

virtual StatusCode IAlgManager::reinitializeAlgorithms | ( |  | ) | `[pure virtual]`

Initializes the list of "managed" algorithms.

Implemented in AlgorithmManager.

virtual StatusCode IAlgManager::restartAlgorithms | ( |  | ) | `[pure virtual]`

Starts the list of "managed" algorithms.

Implemented in AlgorithmManager.

The documentation for this class was generated from the following file:

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v20r3/GaudiKernel/GaudiKernel/IAlgManager.h