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