00001 #ifndef CALIGENERALDAT_H 00002 #define CALIGENERALDAT_H 00003 00004 #include <map> 00005 #include <stdexcept> 00006 00007 #include "OnlineDB/EcalCondDB/interface/IDataItem.h" 00008 #include "OnlineDB/EcalCondDB/interface/CaliTag.h" 00009 #include "OnlineDB/EcalCondDB/interface/CaliIOV.h" 00010 #include "OnlineDB/EcalCondDB/interface/EcalLogicID.h" 00011 00012 class CaliGeneralDat : public IDataItem { 00013 public: 00014 friend class EcalCondDBInterface; 00015 CaliGeneralDat(); 00016 ~CaliGeneralDat(); 00017 00018 // User data methods 00019 inline std::string getTable() { return "CALI_GENERAL_DAT"; } 00020 00021 inline void setNumEvents(int n) { m_numEvents = n; } 00022 inline int getNumEvents() const { return m_numEvents; } 00023 00024 inline void setComments(std::string comments) { m_comments = comments; } 00025 inline std::string getComments() const { return m_comments; } 00026 00027 private: 00028 void prepareWrite() 00029 throw(std::runtime_error); 00030 00031 void writeDB(const EcalLogicID* ecid, const CaliGeneralDat* item, CaliIOV* iov) 00032 throw(std::runtime_error); 00033 00034 void fetchData(std::map< EcalLogicID, CaliGeneralDat >* fillVec, CaliIOV* iov) 00035 throw(std::runtime_error); 00036 00037 // User data 00038 int m_numEvents; 00039 std::string m_comments; 00040 00041 }; 00042 00043 #endif