File indexing completed on 2024-04-06 12:01:59
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #ifndef CSCDQM_DCSDATA_H
0020 #define CSCDQM_DCSDATA_H
0021
0022 #include "CondFormats/Serialization/interface/Serializable.h"
0023
0024 #include <vector>
0025
0026 #include "CondFormats/CSCObjects/interface/CSCDQM_DCSBase.h"
0027
0028 namespace cscdqm {
0029
0030
0031
0032
0033 struct TempMeasType {
0034 DCSAddressType adr;
0035 DCSBoardType board;
0036 unsigned short boardId;
0037 int value;
0038
0039 friend std::ostream& operator<<(std::ostream& out, const TempMeasType& m) {
0040 std::ostringstream os;
0041 os << m.adr << " ";
0042 os << DCSBoardUtility(m.board);
0043 if (m.board == CFEB) {
0044 os << m.boardId;
0045 }
0046 os << " temp = " << m.value << "oC";
0047 return out << os.str();
0048 }
0049
0050 COND_SERIALIZABLE;
0051 };
0052
0053
0054
0055
0056 struct HVVMeasType {
0057 DCSAddressType adr;
0058 unsigned int position;
0059 int value;
0060
0061 friend std::ostream& operator<<(std::ostream& out, const HVVMeasType& m) {
0062 std::ostringstream os;
0063 os << m.adr << " ";
0064 os << "position:" << m.position;
0065 os << " V = " << m.value << "V";
0066 return out << os.str();
0067 }
0068
0069 COND_SERIALIZABLE;
0070 };
0071
0072
0073
0074
0075 struct LVVMeasType {
0076 DCSAddressType adr;
0077 DCSBoardType board;
0078 unsigned int boardId;
0079 float nominal_v;
0080
0081 friend std::ostream& operator<<(std::ostream& out, const LVVMeasType& m) {
0082 std::ostringstream os;
0083 os << m.adr << " ";
0084 os << DCSBoardUtility(m.board);
0085 if (m.board == CFEB) {
0086 os << m.boardId;
0087 }
0088 os << " " << m.nominal_v << "V";
0089 return out << os.str();
0090 }
0091
0092 COND_SERIALIZABLE;
0093 };
0094
0095
0096
0097
0098 struct LVIMeasType {
0099 DCSAddressType adr;
0100 DCSBoardType board;
0101 unsigned int boardId;
0102 float nominal_v;
0103 float value;
0104
0105 friend std::ostream& operator<<(std::ostream& out, const LVIMeasType& m) {
0106 std::ostringstream os;
0107 os << m.adr << " ";
0108 os << DCSBoardUtility(m.board);
0109 if (m.board == CFEB) {
0110 os << m.boardId;
0111 }
0112 os << " " << m.nominal_v << "V";
0113 os << " " << m.value << "A";
0114 return out << os.str();
0115 }
0116
0117 COND_SERIALIZABLE;
0118 };
0119
0120
0121
0122
0123
0124 class DCSData {
0125 public:
0126 DCSData();
0127 virtual ~DCSData();
0128
0129
0130 std::vector<TempMeasType> temp_meas;
0131
0132
0133 std::vector<HVVMeasType> hvv_meas;
0134
0135
0136 std::vector<LVVMeasType> lvv_meas;
0137
0138
0139 std::vector<LVIMeasType> lvi_meas;
0140
0141
0142 int temp_mode;
0143
0144
0145 int hvv_mode;
0146
0147
0148 bool lvv_mode;
0149
0150
0151 float lvi_mode;
0152
0153
0154 TimeType iov;
0155
0156
0157 TimeType last_change;
0158
0159 DCSData& operator=(const DCSData& m) {
0160 iov = m.iov;
0161 last_change = m.last_change;
0162 temp_meas = m.temp_meas;
0163 hvv_meas = m.hvv_meas;
0164 lvv_meas = m.lvv_meas;
0165 lvi_meas = m.lvi_meas;
0166 temp_mode = m.temp_mode;
0167 hvv_mode = m.hvv_mode;
0168 lvv_mode = m.lvv_mode;
0169 lvi_mode = m.lvi_mode;
0170 return *this;
0171 }
0172
0173 COND_SERIALIZABLE;
0174 };
0175
0176 }
0177
0178 #endif