00001 #ifndef RecoLuminosity_LumiProducer_DBService_h 00002 #define RecoLuminosity_LumiProducer_DBService_h 00003 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00004 #include "FWCore/ServiceRegistry/interface/ActivityRegistry.h" 00005 #include <string> 00006 namespace coral{ 00007 class ISessionProxy; 00008 class ConnectionService; 00009 } 00010 namespace lumi{ 00011 class DBConfig; 00012 namespace service{ 00013 class DBService{ 00014 public: 00015 DBService(const edm::ParameterSet& iConfig, 00016 edm::ActivityRegistry& iAR); 00017 ~DBService(); 00018 void postEndJob(); 00019 void preEventProcessing( const edm::EventID & evtID, 00020 const edm::Timestamp & iTime ); 00021 void preModule(const edm::ModuleDescription& desc); 00022 void postModule(const edm::ModuleDescription& desc); 00023 void preBeginLumi(const edm::LuminosityBlockID&, 00024 const edm::Timestamp& ); 00025 coral::ISessionProxy* connectReadOnly( const std::string& connectstring ); 00026 void disconnect( coral::ISessionProxy* session ); 00027 lumi::DBConfig& DBConfig(); 00028 void setupWebCache(); 00029 private: 00030 coral::ConnectionService* m_svc; 00031 lumi::DBConfig* m_dbconfig; 00032 };//cl DBService 00033 }//ns service 00034 }//ns lumi 00035 #endif