| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

IAlgManager Class Reference

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

#include <GaudiKernel/IAlgManager.h>

Inheritance diagram for IAlgManager:

[legend]
Collaboration diagram for IAlgManager:
[legend]
List of all members.

Public Types

 SUCCESS = 1
 Normal successful completion.
 NO_INTERFACE
 Requested interface is not available.
 VERSMISMATCH
 Requested interface version is incompatible.
 LAST_ERROR
 Last error.
enum  Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
 Return status. More...

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.
virtual StatusCode queryInterface (const InterfaceID &riid, void **ppvInterface)=0
 Query interfaces of Interface.
virtual unsigned long addRef ()=0
 Increment the reference count of Interface instance.
virtual unsigned long release ()=0
 Release Interface instance.

Static Public Member Functions

static const InterfaceIDinterfaceID ()
 Retrieve interface ID.

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.


Member Enumeration Documentation

enum IInterface::Status [inherited]

Return status.

Enumerator:
SUCCESS  Normal successful completion.
NO_INTERFACE  Requested interface is not available.
VERSMISMATCH  Requested interface version is incompatible.
LAST_ERROR  Last error.

Reimplemented in IConversionSvc, IConverter, and IDataProviderSvc.

Definition at line 113 of file IInterface.h.

00113                 {
00115     SUCCESS = 1,
00117     NO_INTERFACE,
00119     VERSMISMATCH,
00121     LAST_ERROR
00122   };


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.

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

Remove an algorithm from the list of known algorithms.

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.

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.

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.

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

Return the list of Algorithms.

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

Initializes the list of "managed" algorithms.

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

Starts the list of "managed" algorithms.

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

Stops the list of "managed" algorithms.

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

Finalizes the list of "managed" algorithms.

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

Initializes the list of "managed" algorithms.

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

Starts the list of "managed" algorithms.

virtual StatusCode IInterface::queryInterface ( const InterfaceID riid,
void **  ppvInterface 
) [pure virtual, inherited]

Query interfaces of Interface.

Parameters:
riid ID of Interface to be retrieved
ppvInterface Pointer to Location for interface pointer

Implemented in Algorithm, AlgTool, Auditor, ConversionSvc, Converter, DataSvc, EventSelectorDataStream, MinimalEventLoopMgr, PropertyMgr, SelectStatement, and Service.

virtual unsigned long IInterface::addRef (  )  [pure virtual, inherited]

Increment the reference count of Interface instance.

Implemented in Algorithm, AlgTool, Auditor, Converter, EventSelectorDataStream, IFactory, PropertyMgr, SelectStatement, and Service.

virtual unsigned long IInterface::release (  )  [pure virtual, inherited]

Release Interface instance.

Implemented in Algorithm, AlgTool, Auditor, Converter, EventSelectorDataStream, IFactory, PropertyMgr, SelectStatement, and Service.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:57:07 2011 for GaudiKernel by doxygen 1.4.7