00001 #ifndef LMFLASERIREDSHAPEDAT_H 00002 #define LMFLASERIREDSHAPEDAT_H 00003 00004 #include <map> 00005 #include <stdexcept> 00006 00007 #include "OnlineDB/EcalCondDB/interface/IDataItem.h" 00008 #include "OnlineDB/EcalCondDB/interface/LMFRunTag.h" 00009 #include "OnlineDB/EcalCondDB/interface/LMFRunIOV.h" 00010 #include "OnlineDB/EcalCondDB/interface/EcalLogicID.h" 00011 00012 class LMFLaserIRedShapeDat : public IDataItem { 00013 public: 00014 friend class EcalCondDBInterface; 00015 LMFLaserIRedShapeDat(); 00016 ~LMFLaserIRedShapeDat(); 00017 00018 // User data methods 00019 inline std::string getTable() { return "LMF_LASER_IRED_SHAPE_DAT"; } 00020 00021 inline void setAlpha(float alpha) { m_alpha = alpha; } 00022 inline float getAlpha() const { return m_alpha; } 00023 00024 inline void setAlphaRMS(float rms) { m_alphaRMS = rms; } 00025 inline float getAlphaRMS() const { return m_alphaRMS; } 00026 00027 inline void setBeta(float beta) { m_beta = beta; } 00028 inline float getBeta() const { return m_beta; } 00029 00030 inline void setBetaRMS(float rms) { m_betaRMS = rms; } 00031 inline float getBetaRMS() const { return m_betaRMS; } 00032 00033 00034 private: 00035 void prepareWrite() 00036 throw(std::runtime_error); 00037 00038 void writeDB(const EcalLogicID* ecid, const LMFLaserIRedShapeDat* item, LMFRunIOV* iov) 00039 throw(std::runtime_error); 00040 00041 void fetchData(std::map< EcalLogicID, LMFLaserIRedShapeDat >* fillVec, LMFRunIOV* iov) 00042 throw(std::runtime_error); 00043 00044 // User data 00045 float m_alpha; 00046 float m_alphaRMS; 00047 float m_beta; 00048 float m_betaRMS; 00049 00050 }; 00051 00052 #endif