![]() |
![]() |
00001 #ifndef ODLASERCONFIG_H 00002 #define ODLASERCONFIG_H 00003 00004 #include <map> 00005 #include <stdexcept> 00006 00007 #include "OnlineDB/EcalCondDB/interface/IODConfig.h" 00008 00009 class ODLaserConfig : public IODConfig { 00010 public: 00011 friend class EcalCondDBInterface; 00012 ODLaserConfig(); 00013 ~ODLaserConfig(); 00014 00015 // User data methods 00016 inline std::string getTable() { return "ECAL_Laser_CONFIGURATION"; } 00017 00018 inline void setId(int id) { m_ID = id; } 00019 inline int getId() const { return m_ID; } 00020 00021 inline void setDebug(int x) { m_debug = x; } 00022 inline int getDebug() const { return m_debug; } 00023 inline void setDummy(int x) { m_dummy = x; } 00024 inline int getDummy() const { return m_dummy; } 00025 00026 inline void setMatacqBaseAddress(int x) { m_mq_base = x; } 00027 inline int getMatacqBaseAddress() const { return m_mq_base; } 00028 inline void setMatacqNone(int x) { m_mq_none = x; } 00029 inline int getMatacqNone() const { return m_mq_none; } 00030 inline void setMatacqMode(std::string x) { m_mode = x; } 00031 inline std::string getMatacqMode() const { return m_mode; } 00032 inline void setChannelMask(int x) { m_chan_mask = x; } 00033 inline int getChannelMask() const { return m_chan_mask; } 00034 inline void setMaxSamplesForDaq(std::string x) { m_samples = x; } 00035 inline std::string getMaxSamplesForDaq() const { return m_samples; } 00036 inline void setMatacqFedId(int x) { m_mq_fed = x; } 00037 inline int getMatacqFedId() const { return m_mq_fed; } 00038 inline void setPedestalFile(std::string x) { m_ped_file = x; } 00039 inline std::string getPedestalFile() const { return m_ped_file; } 00040 inline void setUseBuffer(int x) { m_use_buffer = x; } 00041 inline int getUseBuffer() const { return m_use_buffer; } 00042 inline void setPostTrig(int x) { m_post_trig = x; } 00043 inline int getPostTrig() const { return m_post_trig; } 00044 inline void setFPMode(int x) { m_fp_mode = x; } 00045 inline int getFPMode() const { return m_fp_mode; } 00046 inline void setHalModuleFile(std::string x) { m_hal_mod_file = x; } 00047 inline std::string getHalModuleFile() const { return m_hal_mod_file; } 00048 00049 inline void setHalAddressTableFile(std::string x) { m_hal_add_file = x; } 00050 inline std::string getHalAddressTableFile() const { return m_hal_add_file; } 00051 00052 inline void setHalStaticTableFile(std::string x) { m_hal_tab_file = x; } 00053 inline std::string getHalStaticTableFile() const { return m_hal_tab_file; } 00054 00055 inline void setMatacqSerialNumber(std::string x) { m_serial = x; } 00056 inline std::string getMatacqSerialNumber() const { return m_serial; } 00057 00058 inline void setPedestalRunEventCount(int x) { m_ped_count = x; } 00059 inline int getPedestalRunEventCount() const { return m_ped_count; } 00060 00061 inline void setRawDataMode(int x) { m_raw_mode = x; } 00062 inline int getRawDataMode() const { return m_raw_mode; } 00063 00064 inline void setMatacqAcquisitionMode(std::string x) { m_aqmode = x; } 00065 inline std::string getMatacqAcquisitionMode() const { return m_aqmode; } 00066 00067 inline void setLocalOutputFile(std::string x) { m_mq_file = x; } 00068 inline std::string getLocalOutputFile() const { return m_mq_file; } 00069 00070 // emtc 00071 inline void setEMTCNone(int x) { m_emtc_1 = x; } 00072 inline int getEMTCNone() const { return m_emtc_1; } 00073 inline void setWTE2LaserDelay(int x) { m_emtc_2 = x; } 00074 inline int getWTE2LaserDelay() const { return m_emtc_2; } 00075 inline void setLaserPhase(int x) { m_emtc_3 = x; } 00076 inline int getLaserPhase() const { return m_emtc_3; } 00077 inline void setEMTCTTCIn(int x) { m_emtc_4 = x; } 00078 inline int getEMTCTTCIn() const { return m_emtc_4; } 00079 inline void setEMTCSlotId(int x) { m_emtc_5 = x; } 00080 inline int getEMTCSlotId() const { return m_emtc_5; } 00081 00082 void setParameters(std::map<string,string> my_keys_map); 00083 00084 // laser 00085 00086 inline void setWaveLength(int x) { m_wave = x; } 00087 inline int getWaveLength() const { return m_wave; } 00088 00089 inline void setPower(int x) { m_power = x; } 00090 inline int getPower() const { return m_power; } 00091 00092 inline void setOpticalSwitch(int x) { m_switch = x; } 00093 inline int getOpticalSwitch() const { return m_switch; } 00094 00095 inline void setFilter(int x) { m_filter = x; } 00096 inline int getFilter() const { return m_filter; } 00097 00098 inline void setLaserControlOn(int x) { m_on = x; } 00099 inline int getLaserControlOn() const { return m_on; } 00100 00101 inline void setLaserControlHost(std::string x) { m_laserhost = x; } 00102 inline std::string getLaserControlHost() const { return m_laserhost; } 00103 00104 inline void setLaserControlPort(int x) { m_laserport = x; } 00105 inline int getLaserControlPort() const { return m_laserport; } 00106 00107 00108 00109 inline void setLaserTag(std::string x) { m_laser_tag = x; } 00110 inline std::string getLaserTag() const { return m_laser_tag ; } 00111 00112 int fetchNextId() throw(std::runtime_error); 00113 00114 private: 00115 void prepareWrite() throw(std::runtime_error); 00116 void writeDB() throw(std::runtime_error); 00117 void clear(); 00118 void fetchData(ODLaserConfig * result) throw(std::runtime_error); 00119 int fetchID() throw(std::runtime_error); 00120 00121 00122 // User data 00123 int m_ID; 00124 00125 // mataq 00126 int m_dummy; 00127 int m_debug; 00128 int m_mq_base; 00129 int m_mq_none; 00130 std::string m_mode ; 00131 int m_chan_mask; 00132 std::string m_samples; 00133 int m_mq_fed; 00134 std::string m_ped_file; 00135 int m_use_buffer; 00136 int m_post_trig; 00137 int m_fp_mode; 00138 std::string m_hal_mod_file; 00139 std::string m_hal_add_file; 00140 std::string m_hal_tab_file; 00141 std::string m_serial; 00142 int m_ped_count; 00143 int m_raw_mode; 00144 std::string m_aqmode; 00145 std::string m_mq_file; 00146 00147 // emtc 00148 int m_emtc_1; 00149 int m_emtc_2; 00150 int m_emtc_3; 00151 int m_emtc_4; 00152 int m_emtc_5; 00153 00154 // laser 00155 int m_wave; 00156 int m_power; 00157 int m_switch; 00158 int m_filter; 00159 int m_on; 00160 std::string m_laserhost; 00161 int m_laserport; 00162 00163 std::string m_laser_tag; 00164 00165 }; 00166 00167 #endif