File indexing completed on 2024-04-06 12:02:22
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 #include "CondFormats/L1TObjects/interface/L1GtPsbConfig.h"
0019
0020
0021 #include <iostream>
0022 #include <iomanip>
0023
0024
0025
0026
0027
0028
0029
0030 L1GtPsbConfig::L1GtPsbConfig() {
0031 m_gtBoardSlot = -1;
0032
0033 m_gtPsbCh0SendLvds = false;
0034 m_gtPsbCh1SendLvds = false;
0035
0036 m_gtPsbEnableRecLvds.reserve(PsbNumberLvdsGroups);
0037 m_gtPsbEnableRecSerLink.reserve(PsbSerLinkNumberChannels);
0038 }
0039
0040
0041 L1GtPsbConfig::L1GtPsbConfig(const int& psbSlot) : m_gtBoardSlot(psbSlot) {
0042 m_gtPsbCh0SendLvds = false;
0043 m_gtPsbCh1SendLvds = false;
0044
0045 m_gtPsbEnableRecLvds.reserve(PsbNumberLvdsGroups);
0046 m_gtPsbEnableRecSerLink.reserve(PsbSerLinkNumberChannels);
0047 }
0048
0049
0050 L1GtPsbConfig::~L1GtPsbConfig() {
0051
0052 }
0053
0054
0055 L1GtPsbConfig::L1GtPsbConfig(const L1GtPsbConfig& gtb) {
0056 m_gtBoardSlot = gtb.m_gtBoardSlot;
0057
0058 m_gtPsbCh0SendLvds = gtb.m_gtPsbCh0SendLvds;
0059 m_gtPsbCh1SendLvds = gtb.m_gtPsbCh1SendLvds;
0060
0061 m_gtPsbEnableRecLvds = gtb.m_gtPsbEnableRecLvds;
0062 m_gtPsbEnableRecSerLink = gtb.m_gtPsbEnableRecSerLink;
0063 }
0064
0065
0066 L1GtPsbConfig& L1GtPsbConfig::operator=(const L1GtPsbConfig& gtb) {
0067 if (this != >b) {
0068 m_gtBoardSlot = gtb.m_gtBoardSlot;
0069
0070 m_gtPsbCh0SendLvds = gtb.m_gtPsbCh0SendLvds;
0071 m_gtPsbCh1SendLvds = gtb.m_gtPsbCh1SendLvds;
0072
0073 m_gtPsbEnableRecLvds = gtb.m_gtPsbEnableRecLvds;
0074 m_gtPsbEnableRecSerLink = gtb.m_gtPsbEnableRecSerLink;
0075 }
0076
0077 return *this;
0078 }
0079
0080
0081 bool L1GtPsbConfig::operator==(const L1GtPsbConfig& gtb) const {
0082 if (m_gtBoardSlot != gtb.m_gtBoardSlot) {
0083 return false;
0084 }
0085
0086 if (m_gtPsbCh0SendLvds != gtb.m_gtPsbCh0SendLvds) {
0087 return false;
0088 }
0089
0090 if (m_gtPsbCh1SendLvds != gtb.m_gtPsbCh1SendLvds) {
0091 return false;
0092 }
0093
0094 if (m_gtPsbEnableRecLvds != gtb.m_gtPsbEnableRecLvds) {
0095 return false;
0096 }
0097
0098 if (m_gtPsbEnableRecSerLink != gtb.m_gtPsbEnableRecSerLink) {
0099 return false;
0100 }
0101
0102
0103 return true;
0104 }
0105
0106
0107 bool L1GtPsbConfig::operator!=(const L1GtPsbConfig& result) const { return !(result == *this); }
0108
0109
0110 bool L1GtPsbConfig::operator<(const L1GtPsbConfig& gtb) const {
0111 if (m_gtBoardSlot < gtb.m_gtBoardSlot) {
0112 return true;
0113 } else {
0114 return false;
0115 }
0116
0117 return false;
0118 }
0119
0120
0121 void L1GtPsbConfig::setGtBoardSlot(const int& gtBoardSlotValue) { m_gtBoardSlot = gtBoardSlotValue; }
0122
0123
0124 void L1GtPsbConfig::setGtPsbCh0SendLvds(const bool& gtPsbCh0SendLvdsValue) {
0125 m_gtPsbCh0SendLvds = gtPsbCh0SendLvdsValue;
0126 }
0127
0128
0129 void L1GtPsbConfig::setGtPsbCh1SendLvds(const bool& gtPsbCh1SendLvdsValue) {
0130 m_gtPsbCh1SendLvds = gtPsbCh1SendLvdsValue;
0131 }
0132
0133
0134 void L1GtPsbConfig::setGtPsbEnableRecLvds(const std::vector<bool>& gtPsbEnableRecLvdsValue) {
0135 m_gtPsbEnableRecLvds = gtPsbEnableRecLvdsValue;
0136 }
0137
0138
0139 void L1GtPsbConfig::setGtPsbEnableRecSerLink(const std::vector<bool>& gtPsbEnableRecSerLinkValue) {
0140 m_gtPsbEnableRecSerLink = gtPsbEnableRecSerLinkValue;
0141 }
0142
0143
0144 void L1GtPsbConfig::print(std::ostream& myCout) const {
0145 myCout << "PSB Board slot " << m_gtBoardSlot << " ( 0x" << std::hex << m_gtBoardSlot << std::dec
0146 << " ):" << std::endl;
0147
0148 myCout << " CH0_SEND_LVDS_NOT_DS92LV16 = " << (m_gtPsbCh0SendLvds ? "True" : "False") << std::endl;
0149 myCout << " CH1_SEND_LVDS_NOT_DS92LV16 = " << (m_gtPsbCh1SendLvds ? "True" : "False") << std::endl;
0150 myCout << std::endl;
0151
0152 int iLvds = -1;
0153 for (std::vector<bool>::const_iterator cIt = m_gtPsbEnableRecLvds.begin(); cIt != m_gtPsbEnableRecLvds.end(); ++cIt) {
0154 iLvds++;
0155 myCout << "\n Enable_Rec_LVDS [" << iLvds << "] = " << ((*cIt) ? "True" : "False");
0156 }
0157 myCout << std::endl;
0158
0159 int iCh = -1;
0160 for (std::vector<bool>::const_iterator cIt = m_gtPsbEnableRecSerLink.begin(); cIt != m_gtPsbEnableRecSerLink.end();
0161 ++cIt) {
0162 iCh++;
0163 myCout << "\n SerLink_Ch" << iCh << "_Rec_Enable = " << ((*cIt) ? "True" : "False");
0164 }
0165 myCout << std::endl;
0166 }
0167
0168
0169 std::ostream& operator<<(std::ostream& os, const L1GtPsbConfig& result) {
0170 result.print(os);
0171 return os;
0172 }
0173
0174
0175 const int L1GtPsbConfig::PsbNumberLvdsGroups = 16;
0176
0177
0178 const int L1GtPsbConfig::PsbSerLinkNumberChannels = 8;