Gaudi Framework, version v21r9

Home   Generated: 3 May 2010

AlgContextAuditor.h

Go to the documentation of this file.
00001 // $Id: AlgContextAuditor.h,v 1.4 2007/05/24 13:49:20 hmd Exp $
00002 // ============================================================================
00003 // CVS tag $Name:  $, version $Revision: 1.4 $
00004 // ============================================================================
00005 // $Log: AlgContextAuditor.h,v $
00006 // Revision 1.4  2007/05/24 13:49:20  hmd
00007 // ( Vanya Belyaev) patch #1171. The enhancement of existing Algorithm Context Service
00008 //    is the primary goal of the proposed patch. The existing
00009 //    AlgContextSvc is not safe with respect to e.g. Data-On-Demand
00010 //    service or to operations with subalgorithms. The patched service
00011 //    essentially implements the queue of executing algorithms, thus the
00012 //    problems are eliminiated. In addition the enriched interface
00013 //    provides the access to the whole queue of executing algorithms.
00014 //
00015 // ============================================================================
00016 #ifndef GAUDIAUD_ALGCONTEXTAUDITOR_H
00017 #define GAUDIAUD_ALGCONTEXTAUDITOR_H
00018 // ============================================================================
00019 // Include files
00020 // ============================================================================
00021 // GaudiKernel
00022 // ============================================================================
00023 #include "GaudiKernel/Auditor.h"
00024 #include "GaudiKernel/IAlgorithm.h"
00025 #include "GaudiKernel/SmartIF.h"
00026 // ============================================================================
00027 // Forward declarations
00028 // ============================================================================
00029 class IAlgContextSvc  ;
00030 // ============================================================================
00037 class AlgContextAuditor
00038   : public Auditor
00039 {
00040 public:
00041   // IAuditor implementation
00042   virtual void beforeInitialize ( INamedInterface*  a ) ;
00043   virtual void afterInitialize  ( INamedInterface*  a ) ;
00044   //
00045   virtual void beforeExecute    ( INamedInterface*  a ) ;
00046   virtual void afterExecute     ( INamedInterface*  a ,
00047                                   const StatusCode& s ) ;
00048   //
00049   virtual void beforeFinalize   ( INamedInterface*  a ) ;
00050   virtual void afterFinalize    ( INamedInterface*  a ) ;
00051 public:
00053   AlgContextAuditor
00054   ( const std::string& name ,
00055     ISvcLocator*       pSvc ) ;
00057   virtual ~AlgContextAuditor    () ;
00059   virtual StatusCode initialize () ;
00061   virtual StatusCode finalize   () ;
00062 private:
00063   // the default constructor is disabled
00064   AlgContextAuditor () ; 
00065   // copy constructor is disabled
00066   AlgContextAuditor ( const AlgContextAuditor& ) ; 
00067   // assigenement operator is disabled
00068   AlgContextAuditor& operator=( const AlgContextAuditor& ) ; 
00069 private:
00070   // the pointer to Algorithm Context Service
00071   IAlgContextSvc* m_svc ; 
00072 } ;
00073 
00074 // ============================================================================
00075 // The END
00076 // ============================================================================
00077 #endif // GAUDIAUD_ALGCONTEXTAUDITOR_H
00078 // ============================================================================

Generated at Mon May 3 12:14:08 2010 for Gaudi Framework, version v21r9 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004