Gaudi Framework, version v23r4

Home   Generated: Mon Sep 17 2012

AlgContextSvc.h

Go to the documentation of this file.
00001 // $Id: AlgContextSvc.h,v 1.4 2007/05/24 13:49:47 hmd Exp $
00002 // ============================================================================
00003 #ifndef GAUDISVC_ALGCONTEXTSVC_H
00004 #define GAUDISVC_ALGCONTEXTSVC_H 1
00005 // ============================================================================
00006 // Include files
00007 // ============================================================================
00008 // GaudiKernel
00009 // ============================================================================
00010 #include "GaudiKernel/StatusCode.h"
00011 #include "GaudiKernel/IAlgContextSvc.h"
00012 #include "GaudiKernel/IAlgorithm.h"
00013 #include "GaudiKernel/IIncidentListener.h"
00014 #include "GaudiKernel/Service.h"
00015 // ============================================================================
00016 // Forward declarations
00017 // ============================================================================
00018 template <class TYPE> class SvcFactory;
00019 class IIncidentSvc ;
00020 // ============================================================================
00028 class AlgContextSvc: public extends2<Service, IAlgContextSvc, IIncidentListener>
00029 {
00030 public:
00032   friend class SvcFactory<AlgContextSvc>;
00033 public:
00035   virtual StatusCode     setCurrentAlg  ( IAlgorithm* a ) ;
00037   virtual StatusCode   unSetCurrentAlg  ( IAlgorithm* a ) ;
00039   virtual IAlgorithm*       currentAlg  () const ;
00041   virtual const IAlgContextSvc::Algorithms& algorithms  () const
00042   { return m_algorithms ; }
00043 public:
00045   virtual void handle ( const Incident& ) ;
00046 public:
00048   virtual StatusCode initialize () ;
00050   virtual StatusCode finalize   () ;
00051 public:
00053   AlgContextSvc
00054   ( const std::string& name ,
00055     ISvcLocator*       svc  ) ;
00057   virtual ~AlgContextSvc();
00058 private:
00059   // default constructor is disabled
00060   AlgContextSvc () ; 
00061   // copy constructor is disabled
00062   AlgContextSvc ( const AlgContextSvc& ); 
00063   // assignment operator is disabled
00064   AlgContextSvc& operator=( const AlgContextSvc& ); 
00065 private:
00066   // the stack of current algorithms
00067   IAlgContextSvc::Algorithms m_algorithms ; 
00068   // pointer to Incident Service
00069   IIncidentSvc*              m_inc        ; 
00070   // flag to perform more checking
00071   bool                       m_check      ;
00072 } ;
00073 
00074 // ============================================================================
00075 // The END
00076 // ============================================================================
00077 #endif // GAUDISVC_ALGCONTEXTSVC_H
00078 // ============================================================================
00079 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Mon Sep 17 2012 13:49:26 for Gaudi Framework, version v23r4 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004