00001 #ifndef MONRUNDAT_H 00002 #define MONRUNDAT_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/MonRunOutcomeDef.h" 00010 #include "OnlineDB/EcalCondDB/interface/EcalLogicID.h" 00011 00012 class MonRunDat : public IDataItem { 00013 public: 00014 friend class EcalCondDBInterface; 00015 MonRunDat(); 00016 ~MonRunDat(); 00017 00018 // User data methods 00019 inline std::string getTable() { return "MON_RUN_DAT"; } 00020 00021 inline void setNumEvents(int num) { m_numEvents = num; } 00022 inline int getNumEvents() const { return m_numEvents; } 00023 00024 inline void setMonRunOutcomeDef(MonRunOutcomeDef outcomeDef) { m_outcomeDef = outcomeDef; } 00025 inline MonRunOutcomeDef getMonRunOutcomeDef() const { return m_outcomeDef; } 00026 00027 inline void setRootfileName(std::string name) { m_rootfileName = name; } 00028 inline std::string getRootfileName() const { return m_rootfileName; } 00029 00030 inline void setTaskList(int list) { m_taskList = list; } 00031 inline int getTaskList() const { return m_taskList; } 00032 00033 inline void setTaskOutcome(int outcome) { m_taskOutcome = outcome; } 00034 inline int getTaskOutcome() const { return m_taskOutcome; } 00035 00036 private: 00037 void prepareWrite() 00038 throw(std::runtime_error); 00039 00040 void writeDB(const EcalLogicID* ecid, const MonRunDat* item, MonRunIOV* iov ) 00041 throw(std::runtime_error); 00042 00043 void fetchData(std::map< EcalLogicID, MonRunDat >* fillMap, MonRunIOV* iov) 00044 throw(std::runtime_error); 00045 00046 // User data 00047 int m_numEvents; 00048 MonRunOutcomeDef m_outcomeDef; 00049 std::string m_rootfileName; 00050 int m_taskList; 00051 int m_taskOutcome; 00052 }; 00053 00054 #endif