00001 #ifndef LMFLASERBLUEPULSEDAT_H 00002 #define LMFLASERBLUEPULSEDAT_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 LMFLaserBluePulseDat : public IDataItem { 00013 public: 00014 friend class EcalCondDBInterface; 00015 LMFLaserBluePulseDat(); 00016 ~LMFLaserBluePulseDat(); 00017 00018 // User data methods 00019 inline std::string getTable() { return "LMF_LASER_BLUE_PULSE_DAT"; } 00020 inline void setAmplitude(float x) { m_ampl = x; } 00021 inline float getAmplitude() const { return m_ampl; } 00022 inline void setTime(float x) { m_time = x; } 00023 inline float getTime() const { return m_time; } 00024 inline void setRise(float x) { m_rise = x; } 00025 inline float getRise() const { return m_rise; } 00026 inline void setFWHM(float x) { m_fwhm = x; } 00027 inline float getFWHM() const { return m_fwhm; } 00028 inline void setFW20(float x) { m_fw20 = x; } 00029 inline float getFW20() const { return m_fw20; } 00030 inline void setFW80(float x) { m_fw80 = x; } 00031 inline float getFW80() const { return m_fw80; } 00032 inline void setSliding(float x) { m_sliding = x; } 00033 inline float getSliding() const { return m_sliding; } 00034 00035 // inline void setFitMethod(std::string x) { m_fit_method = x; } 00036 // inline std::string getFitMethod() const { return m_fit_method; } 00037 inline void setFitMethod(int x) { m_fit_method = x; } 00038 inline int getFitMethod() const { return m_fit_method; } 00039 00040 private: 00041 void prepareWrite() 00042 throw(std::runtime_error); 00043 00044 void writeDB(const EcalLogicID* ecid, const LMFLaserBluePulseDat* item, LMFRunIOV* iov) 00045 throw(std::runtime_error); 00046 00047 void fetchData(std::map< EcalLogicID, LMFLaserBluePulseDat >* fillVec, LMFRunIOV* iov) 00048 throw(std::runtime_error); 00049 00050 // User data 00051 // std::string m_fit_method; 00052 int m_fit_method; 00053 float m_ampl; 00054 float m_time; 00055 float m_rise; 00056 float m_fwhm; 00057 float m_fw20; 00058 float m_fw80; 00059 float m_sliding; 00060 00061 }; 00062 00063 #endif