00001 #ifndef RUNPNERRORSDAT_H 00002 #define RUNPNERRORSDAT_H 00003 00004 #include <vector> 00005 #include <stdexcept> 00006 #include <boost/cstdint.hpp> 00007 00008 #include "OnlineDB/EcalCondDB/interface/IDataItem.h" 00009 #include "OnlineDB/EcalCondDB/interface/RunIOV.h" 00010 #include "OnlineDB/EcalCondDB/interface/EcalLogicID.h" 00011 00012 class RunPNErrorsDat : public IDataItem { 00013 public: 00014 friend class EcalCondDBInterface; 00015 RunPNErrorsDat(); 00016 ~RunPNErrorsDat(); 00017 00018 // User data methods 00019 inline std::string getTable() { return "RUN_PN_ERRORS_DAT"; } 00020 00021 inline void setErrorBits(uint64_t bits) { m_errorBits = bits; } 00022 inline uint64_t getErrorBits() const { return m_errorBits; } 00023 00024 private: 00025 void prepareWrite() 00026 throw(std::runtime_error); 00027 00028 void writeDB(const EcalLogicID* ecid, const RunPNErrorsDat* item, RunIOV* iov ) 00029 throw(std::runtime_error); 00030 00031 void fetchData(std::map< EcalLogicID, RunPNErrorsDat >* fillMap, RunIOV* iov) 00032 throw(std::runtime_error); 00033 00034 // User data 00035 uint64_t m_errorBits; 00036 }; 00037 00038 #endif