00001 #ifndef MONH4TABLEPOSITIONDAT_H 00002 #define MONH4TABLEPOSITIONDAT_H 00003 00004 #include <vector> 00005 #include <stdexcept> 00006 00007 #include "OnlineDB/EcalCondDB/interface/IDataItem.h" 00008 #include "OnlineDB/EcalCondDB/interface/MonRunIOV.h" 00009 #include "OnlineDB/EcalCondDB/interface/EcalLogicID.h" 00010 00011 class MonH4TablePositionDat : public IDataItem { 00012 public: 00013 friend class EcalCondDBInterface; 00014 MonH4TablePositionDat(); 00015 ~MonH4TablePositionDat(); 00016 00017 // User data methods 00018 inline std::string getTable() { return "MON_H4_TABLE_POSITION_DAT"; } 00019 00020 inline void setTableX(float x) { m_tableX = x; } 00021 inline float getTableX() const { return m_tableX; } 00022 00023 inline void setTableY(float y) { m_tableY = y; } 00024 inline float getTableY() const { return m_tableY; } 00025 00026 private: 00027 void prepareWrite() 00028 throw(std::runtime_error); 00029 00030 void writeDB(const EcalLogicID* ecid, const MonH4TablePositionDat* item, MonRunIOV* iov ) 00031 throw(std::runtime_error); 00032 00033 void fetchData(std::map< EcalLogicID, MonH4TablePositionDat >* fillMap, MonRunIOV* iov) 00034 throw(std::runtime_error); 00035 00036 void writeArrayDB(const std::map< EcalLogicID, MonH4TablePositionDat >* data, MonRunIOV* iov) 00037 throw(std::runtime_error); 00038 00039 // User data 00040 float m_tableX; 00041 float m_tableY; 00042 }; 00043 00044 #endif