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