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

# IAlgManager.h

Go to the documentation of this file.

    00001 // $Id: IAlgManager.h,v 1.7 2008/06/02 14:20:38 marcocle Exp $
    00002 #ifndef GAUDIKERNEL_IALGMANAGER_H
    00003 #define GAUDIKERNEL_IALGMANAGER_H
    00004
    00005 // Include files
    00006 #include "GaudiKernel/IInterface.h"
    00007 #include <string>
    00008 #include <list>
    00009
    00010 // Forward class declaration
    00011 class IService;
    00012 class IAlgorithm;
    00013 class ISvcLocator;
    00014
    00015 // Declaration of the interface ID ( interface id, major version, minor version)
    00016 static const InterfaceID IID_IAlgManager(14, 4 , 1);
    00017
    00029 class IAlgManager : virtual public  IInterface  {
    00030 public:
    00032   static const InterfaceID& interfaceID() { return IID_IAlgManager; }
    00033
    00035   virtual StatusCode addAlgorithm( IAlgorithm* alg     // Pointer to the Algorithm
    00036                                  ) = 0;
    00038   virtual StatusCode removeAlgorithm( IAlgorithm* alg  // Pointer to the Algorithm
    00039                                  ) = 0;
    00042   virtual StatusCode createAlgorithm( const std::string& algtype,  // Algorithm type name
    00043                                       const std::string& algname,  // Algorithm name to be assigned
    00044                                       IAlgorithm*& alg,            // Returned algorithm
    00045                                       bool managed = false         // Flag to indicate if the algorithm is managed
    00046                                     ) = 0;
    00048   virtual StatusCode getAlgorithm( const std::string& name,        // Algorithm name to be searched
    00049                                    IAlgorithm*& alg                // Returned algorithm
    00050                                  ) const = 0;
    00052   virtual bool existsAlgorithm( const std::string& name            // Algorithm name to be searched
    00053                               ) const = 0;
    00055   virtual std::list<IAlgorithm*>& getAlgorithms( ) const = 0;
    00056
    00058   virtual StatusCode initializeAlgorithms() = 0;
    00059
    00061   virtual StatusCode startAlgorithms() = 0;
    00062
    00064   virtual StatusCode stopAlgorithms() = 0;
    00065
    00067   virtual StatusCode finalizeAlgorithms() = 0;
    00068
    00070   virtual StatusCode reinitializeAlgorithms() = 0;
    00071
    00073   virtual StatusCode restartAlgorithms() = 0;
    00074
    00075 };
    00076
    00077
    00078 #endif  // GAUDI_IALGMANAGER_H