| # Gaudi Framework, version v21r9 |

Home |  | Generated: 3 May 2010

# 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 extends2<DataSvc, IDetDataSvc, IIncidentListener>
    00025 {
    00026
    00027   friend class SvcFactory<DetDataSvc>;
    00028
    00029   // unhides DataSvc updateObject methods
    00030   using DataSvc::updateObject;
    00031
    00032 public:
    00033
    00034   // Overloaded DataSvc methods
    00035
    00037   virtual StatusCode initialize();
    00038
    00040   virtual StatusCode reinitialize();
    00041
    00043   virtual StatusCode finalize();
    00044
    00046   virtual StatusCode clearStore();
    00047
    00049   virtual StatusCode updateObject( DataObject* toUpdate );
    00050
    00052   DetDataSvc(const std::string& name, ISvcLocator* svc);
    00053
    00055   virtual ~DetDataSvc();
    00056
    00057 private:
    00059   StatusCode setupDetectorDescription();
    00060
    00061 public:
    00062
    00063   // Implementation of the IDetDataSvc interface
    00064
    00067   virtual bool validEventTime() const ;
    00068
    00070   virtual const Gaudi::Time& eventTime() const ;
    00071
    00073   virtual void setEventTime( const Gaudi::Time& time );
    00074
    00075 public:
    00076
    00077   // Implementation of the IIncidentListener interface
    00078
    00080   virtual void handle( const Incident& );
    00081
    00082 private:
    00083
    00085   int              m_detStorageType;
    00086
    00088   std::string      m_detDbLocation;
    00089
    00091   std::string      m_detDbRootName;
    00092
    00094   std::string      m_persistencySvcName;
    00095
    00097   bool             m_usePersistency;
    00098
    00100   Gaudi::Time        m_eventTime;
    00101
    00103   SmartIF<IAddressCreator> m_addrCreator;
    00104
    00105 };
    00106
    00107 #endif // DETECTORDATASVC_DETDATASVC_H