00001 #ifndef MONLASERSTATUSDAT_H 00002 #define MONLASERSTATUSDAT_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 MonLaserStatusDat : public IDataItem { 00012 public: 00013 friend class EcalCondDBInterface; 00014 MonLaserStatusDat(); 00015 ~MonLaserStatusDat(); 00016 00017 // User data methods 00018 inline std::string getTable() { return "MON_LASER_STATUS_DAT"; } 00019 inline void setLaserPower(float p) { m_laserPower = p; } 00020 inline float getLaserPower() const { return m_laserPower; } 00021 00022 inline void setLaserFilter(float p) { m_laserFilter = p; } 00023 inline float getLaserFilter() const { return m_laserFilter; } 00024 00025 inline void setLaserWavelength(float p) { m_laserWavelength = p; } 00026 inline float getLaserWavelength() const { return m_laserWavelength; } 00027 00028 inline void setLaserFanout(float p) { m_laserFanout = p; } 00029 inline float getLaserFanout() const { return m_laserFanout; } 00030 00031 private: 00032 void prepareWrite() 00033 throw(std::runtime_error); 00034 00035 void writeDB(const EcalLogicID* ecid, const MonLaserStatusDat* item, MonRunIOV* iov ) 00036 throw(std::runtime_error); 00037 00038 void writeArrayDB(const std::map< EcalLogicID, MonLaserStatusDat >* data, MonRunIOV* iov) 00039 throw(std::runtime_error); 00040 00041 void fetchData(std::map< EcalLogicID, MonLaserStatusDat >* fillMap, MonRunIOV* iov) 00042 throw(std::runtime_error); 00043 00044 // User data 00045 float m_laserPower; 00046 float m_laserFilter; 00047 float m_laserWavelength; 00048 float m_laserFanout; 00049 }; 00050 00051 #endif