| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | List of all members
IAlgManager Class Referenceabstract

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]

## Public Member Functions
| DeclareInterfaceID (IAlgManager, 5, 0)
| InterfaceID.
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
| Find an algorithm with given name in the list of known algorithms.
virtual bool | existsAlgorithm (const std::string &name) const =0
| Check the existence of an algorithm with a given name in the list of known algorithms.
virtual const std::list < IAlgorithm * > & | getAlgorithms () const =0
| Return the list of Algorithms.
virtual StatusCode | initializeAlgorithms ()
| Initializes the list of "managed" algorithms.
virtual StatusCode | startAlgorithms ()
| Starts the list of "managed" algorithms.
virtual StatusCode | stopAlgorithms ()
| Stops the list of "managed" algorithms.
virtual StatusCode | finalizeAlgorithms ()
| Finalizes the list of "managed" algorithms.
virtual StatusCode | reinitializeAlgorithms ()
| Initializes the list of "managed" algorithms.
virtual StatusCode | restartAlgorithms ()
| Starts the list of "managed" algorithms.
virtual SmartIF< IAlgorithm > & | algorithm (const Gaudi::Utils::TypeNameString &typeName, const bool createIf=true)=0
| Returns a smart pointer to a service.
template<typename T >
SmartIF< T > | algorithm (const Gaudi::Utils::TypeNameString &typeName, const bool createIf=true)
| Returns a smart pointer to the requested interface of a service.
Public Member Functions inherited from IComponentManager
| DeclareInterfaceID (IComponentManager, 1, 0)
| InterfaceID.
virtual const InterfaceID & | componentBaseInterface () const =0
| Basic interface id of the managed components.
virtual | ~IComponentManager ()
| Virtual destructor.
Public Member Functions inherited from IStateful
| DeclareInterfaceID (IStateful, 1, 0)
| InterfaceID.
virtual | ~IStateful ()
virtual StatusCode | configure ()=0
| Configuration (from OFFLINE to CONFIGURED).
virtual StatusCode | initialize ()=0
| Initialization (from CONFIGURED to INITIALIZED).
virtual StatusCode | start ()=0
| Start (from INITIALIZED to RUNNING).
virtual StatusCode | stop ()=0
| Stop (from RUNNING to INITIALIZED).
virtual StatusCode | finalize ()=0
| Finalize (from INITIALIZED to CONFIGURED).
virtual StatusCode | terminate ()=0
| Initialization (from CONFIGURED to OFFLINE).
virtual StatusCode | reinitialize ()=0
| Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED).
virtual StatusCode | restart ()=0
| Initialization (from RUNNING to RUNNING, via INITIALIZED).
virtual Gaudi::StateMachine::State | FSMState () const =0
| Get the current state.
virtual Gaudi::StateMachine::State | targetFSMState () const =0
| When we are in the middle of a transition, get the state where the transition is leading us.
Public Member Functions inherited from IInterface
virtual void * | i_cast (const InterfaceID &) const =0
| main cast function
virtual std::vector< std::string > | getInterfaceNames () const =0
| Returns a vector of strings containing the names of all the implemented interfaces.
virtual unsigned long | addRef ()=0
| Increment the reference count of Interface instance.
virtual unsigned long | release ()=0
| Release Interface instance.
virtual unsigned long | refCount () const =0
| Current reference count.
virtual StatusCode | queryInterface (const InterfaceID &ti, void **pp)=0
| Set the void** to the pointer to the requested interface of the instance.
virtual | ~IInterface ()
| Virtual destructor.

## Additional Inherited Members
Public Types inherited from IInterface
enum | Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
| Return status. More...
typedef Gaudi::InterfaceId < IInterface, 0, 0 > | iid
| Interface ID.
typedef mpl::set1< iid > | ext_iids
| Extra interfaces.
Static Public Member Functions inherited from IInterface
static const InterfaceID & | interfaceID ()
| Return an instance of InterfaceID identifying the interface.

## 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 sharable library (module).

Author
  Pere Mato

Definition at line 28 of file IAlgManager.h.

## Member Function Documentation

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

Add an algorithm to the list of known algorithms.

Implemented in AlgorithmManager.

virtual SmartIF<IAlgorithm>& IAlgManager::algorithm | ( | const Gaudi::Utils::TypeNameString & | typeName,
|  | const bool | createIf = `true`
| ) |  |
| pure virtual

Returns a smart pointer to a service.

Implemented in AlgorithmManager.

template<typename T >

SmartIF<T> IAlgManager::algorithm | ( | const Gaudi::Utils::TypeNameString & | typeName,
|  | const bool | createIf = `true`
| ) |  |
| inline

Returns a smart pointer to the requested interface of a service.

Definition at line 87 of file IAlgManager.h.

{
return SmartIF<T>(algorithm(typeName, createIf));
}

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.

IAlgManager::DeclareInterfaceID | ( | IAlgManager | ,
|  | 5 | ,
|  | 0 |
| ) |  |

InterfaceID.

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

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

Implemented in AlgorithmManager.

virtual StatusCode IAlgManager::finalizeAlgorithms | ( |  | ) |
| inline virtual

Finalizes the list of "managed" algorithms.

Definition at line 73 of file IAlgManager.h.

{ return finalize(); }

virtual StatusCode IAlgManager::getAlgorithm | ( | const std::string & | name,
|  | IAlgorithm *& | alg
| ) |  | const
| inline virtual

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

Definition at line 48 of file IAlgManager.h.

{
SmartIF<IAlgorithm> &si = const_cast<IAlgManager*>(this)->algorithm(name, false);
alg = si.get();
return si.isValid() ? StatusCode::SUCCESS : StatusCode::FAILURE;
}

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

Return the list of Algorithms.

Implemented in AlgorithmManager.

virtual StatusCode IAlgManager::initializeAlgorithms | ( |  | ) |
| inline virtual

Initializes the list of "managed" algorithms.

Definition at line 64 of file IAlgManager.h.

{ return initialize(); }

virtual StatusCode IAlgManager::reinitializeAlgorithms | ( |  | ) |
| inline virtual

Initializes the list of "managed" algorithms.

Definition at line 76 of file IAlgManager.h.

{ return reinitialize(); }

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

Remove an algorithm from the list of known algorithms.

Implemented in AlgorithmManager.

virtual StatusCode IAlgManager::restartAlgorithms | ( |  | ) |
| inline virtual

Starts the list of "managed" algorithms.

Definition at line 79 of file IAlgManager.h.

{ return restart(); }

virtual StatusCode IAlgManager::startAlgorithms | ( |  | ) |
| inline virtual

Starts the list of "managed" algorithms.

Definition at line 67 of file IAlgManager.h.

{ return start(); }

virtual StatusCode IAlgManager::stopAlgorithms | ( |  | ) |
| inline virtual

Stops the list of "managed" algorithms.

Definition at line 70 of file IAlgManager.h.

{ return stop(); }

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

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