00001 #ifndef RUNH4TABLEPOSITIONDAT_H 00002 #define RUNH4TABLEPOSITIONDAT_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 RunH4TablePositionDat : public IDataItem { 00012 public: 00013 friend class EcalCondDBInterface; 00014 RunH4TablePositionDat(); 00015 ~RunH4TablePositionDat(); 00016 00017 // User data methods 00018 inline std::string getTable() { return "RUN_H4_TABLE_POSITION_DAT"; } 00019 00020 inline void setTableX(int num) { m_table_x = num; } 00021 inline int getTableX() const { return m_table_x; } 00022 00023 inline void setTableY(int num) { m_table_y = num; } 00024 inline int getTableY() const { return m_table_y; } 00025 00026 inline void setNumSpills(int num) { m_numSpills = num; } 00027 inline int getNumSpills() const { return m_numSpills; } 00028 00029 inline void setNumEvents(int num) { m_numEvents = num; } 00030 inline int getNumEvents() const { return m_numEvents; } 00031 00032 private: 00033 void prepareWrite() 00034 throw(std::runtime_error); 00035 00036 void writeDB(const EcalLogicID* ecid, const RunH4TablePositionDat* item, RunIOV* iov ) 00037 throw(std::runtime_error); 00038 00039 void fetchData(std::map< EcalLogicID, RunH4TablePositionDat >* fillMap, RunIOV* iov) 00040 throw(std::runtime_error); 00041 00042 // User data 00043 int m_table_x ; 00044 int m_table_y ; 00045 int m_numSpills ; 00046 int m_numEvents; 00047 00048 }; 00049 00050 #endif