00001 #ifndef RUNLASERRUNDAT_H 00002 #define RUNLASERRUNDAT_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 RunLaserRunDat : public IDataItem { 00012 public: 00013 friend class EcalCondDBInterface; 00014 RunLaserRunDat(); 00015 ~RunLaserRunDat(); 00016 00017 // User data methods 00018 inline std::string getTable() { return "RUN_LASERRUN_CONFIG_DAT"; } 00019 00020 inline void setLaserSequenceType(std::string x) { m_laserSeqType = x; } 00021 inline std::string getLaserSequenceType() const { return m_laserSeqType; } 00022 // 00023 inline void setLaserSequenceCond(std::string x) { m_laserSeqCond = x; } 00024 inline std::string getLaserSequenceCond() const { return m_laserSeqCond; } 00025 00026 private: 00027 void prepareWrite() 00028 throw(std::runtime_error); 00029 00030 void writeDB(const EcalLogicID* ecid, const RunLaserRunDat* item, RunIOV* iov ) 00031 throw(std::runtime_error); 00032 00033 void fetchData(std::map< EcalLogicID, RunLaserRunDat >* fillMap, RunIOV* iov) 00034 throw(std::runtime_error); 00035 00036 // User data 00037 std::string m_laserSeqType; 00038 std::string m_laserSeqCond; 00039 }; 00040 00041 #endif