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

In This Package:

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
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

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