|
Gaudi Framework, version v22r0 |
| Home | Generated: 9 Feb 2011 |
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