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

In This Package:

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: GAUDI_v20r4-pre $, 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 // Incldue files 
00020 // ============================================================================
00021 // GaudiKernel
00022 // ============================================================================
00023 #include "GaudiKernel/Auditor.h" 
00024 #include "GaudiKernel/INamedInterface.h" 
00025 #include "GaudiKernel/IAlgorithm.h" 
00026 #include "GaudiKernel/SmartIF.h" 
00027 // ============================================================================
00028 // Forward declarations 
00029 // ============================================================================
00030 class INamedInterface ;
00031 class IAlgContextSvc  ;
00032 // ============================================================================
00039 class AlgContextAuditor 
00040   : public Auditor 
00041 {
00042 public:
00043   // IAuditor implementation
00044   virtual void beforeInitialize ( INamedInterface*  a ) ;
00045   virtual void afterInitialize  ( INamedInterface*  a ) ;
00046   //
00047   virtual void beforeExecute    ( INamedInterface*  a ) ;
00048   virtual void afterExecute     ( INamedInterface*  a , 
00049                                   const StatusCode& s ) ;
00050   //
00051   virtual void beforeFinalize   ( INamedInterface*  a ) ;
00052   virtual void afterFinalize    ( INamedInterface*  a ) ;
00053 public:
00055   AlgContextAuditor 
00056   ( const std::string& name , 
00057     ISvcLocator*       pSvc ) ;
00059   virtual ~AlgContextAuditor    () ;
00061   virtual StatusCode initialize () ;
00063   virtual StatusCode finalize   () ;
00064 private:
00065   // the default constructor is disabled 
00066   AlgContextAuditor () ; 
00067   // copy constructor is disabled 
00068   AlgContextAuditor ( const AlgContextAuditor& ) ; 
00069   // assigenement operator is disabled 
00070   AlgContextAuditor& operator=( const AlgContextAuditor& ) ; 
00071 private:
00072   // the pointer to Algorithm Context Service  
00073   IAlgContextSvc* m_svc ; 
00074 } ;
00075 
00076 // ============================================================================ 
00077 // The END 
00078 // ============================================================================ 
00079 #endif // GAUDIAUD_ALGCONTEXTAUDITOR_H
00080 // ============================================================================ 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:59:12 2011 for GaudiAud by doxygen 1.4.7