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

# DetDataSvc.h

Go to the documentation of this file.

    00001 // $Id: DetDataSvc.h,v 1.14 2008/10/27 19:22:21 marcocle Exp $
    00002 #ifndef DETECTORDATASVC_DETDATASVC_H
    00003 #define DETECTORDATASVC_DETDATASVC_H
    00004
    00005 // Base classes
    00006 #include "GaudiKernel/DataSvc.h"
    00007 #include "GaudiKernel/IDetDataSvc.h"
    00008 #include "GaudiKernel/IIncidentListener.h"
    00009 #include "GaudiKernel/Time.h"
    00010
    00011 // Forward declarations
    00012 class StatusCode;
    00013 class IAddressCreator;
    00014
    00016 //--------------------------------------------------------------------------
    00023
    00024 class DetDataSvc  : public DataSvc,
    00025                     virtual public IDetDataSvc,
    00026                     virtual public IIncidentListener
    00027 {
    00028
    00029   friend class SvcFactory<DetDataSvc>;
    00030
    00031   // unhides DataSvc updateObject methods
    00032   using DataSvc::updateObject;
    00033
    00034  public:
    00035
    00036   // Overloaded DataSvc methods
    00037
    00039   virtual StatusCode initialize();
    00040
    00042   virtual StatusCode reinitialize();
    00043
    00045   virtual StatusCode finalize();
    00046
    00048   virtual StatusCode clearStore();
    00049
    00051   virtual StatusCode updateObject( DataObject* toUpdate );
    00052
    00054   DetDataSvc(const std::string& name, ISvcLocator* svc);
    00055
    00057   virtual ~DetDataSvc();
    00058
    00059  private:
    00061   StatusCode setupDetectorDescription();
    00062
    00063  public:
    00064
    00065   // Reimplemented from IInterface
    00066
    00068   virtual StatusCode queryInterface( const InterfaceID& riid,
    00069                                      void** ppvInterface );
    00070
    00071  public:
    00072
    00073   // Implementation of the IDetDataSvc interface
    00074
    00077   virtual bool validEventTime() const ;
    00078
    00080   virtual const Gaudi::Time& eventTime() const ;
    00081
    00083   virtual void setEventTime( const Gaudi::Time& time );
    00084
    00085  public:
    00086
    00087   // Implementation of the IIncidentListener interface
    00088
    00090   virtual void handle( const Incident& );
    00091
    00092  private:
    00093
    00095   int              m_detStorageType;
    00096
    00098   std::string      m_detDbLocation;
    00099
    00101   std::string      m_detDbRootName;
    00102
    00104   std::string      m_persistencySvcName;
    00105
    00107   bool             m_usePersistency;
    00108
    00110   Gaudi::Time        m_eventTime;
    00111
    00113   IAddressCreator* m_addrCreator;
    00114
    00115 };
    00116
    00117 #endif // DETECTORDATASVC_DETDATASVC_H
    00118
    00119
    00120
    00121