File indexing completed on 2024-04-06 12:02:19
0001 #ifndef CondFormats_L1TObjects_L1GtBoard_h
0002 #define CondFormats_L1TObjects_L1GtBoard_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #include "CondFormats/Serialization/interface/Serializable.h"
0022
0023 #include <string>
0024 #include <vector>
0025 #include <map>
0026
0027
0028 #include "CondFormats/L1TObjects/interface/L1GtFwd.h"
0029 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetupFwd.h"
0030 #include <cstdint>
0031
0032
0033
0034
0035 class L1GtBoard {
0036 public:
0037
0038 L1GtBoard();
0039
0040 L1GtBoard(const L1GtBoardType&);
0041
0042 L1GtBoard(const L1GtBoardType&, const int&);
0043
0044
0045 virtual ~L1GtBoard();
0046
0047
0048 L1GtBoard(const L1GtBoard&);
0049
0050
0051 L1GtBoard& operator=(const L1GtBoard&);
0052
0053
0054 bool operator==(const L1GtBoard&) const;
0055
0056
0057 bool operator!=(const L1GtBoard&) const;
0058
0059
0060 bool operator<(const L1GtBoard&) const;
0061
0062 public:
0063
0064 static const int NumberCablesBoard;
0065
0066 public:
0067
0068 inline const L1GtBoardType gtBoardType() const { return m_gtBoardType; }
0069
0070 void setGtBoardType(const L1GtBoardType&);
0071
0072
0073 inline const int gtBoardIndex() const { return m_gtBoardIndex; }
0074
0075 void setGtBoardIndex(const int&);
0076
0077
0078
0079 inline const int gtPositionDaqRecord() const { return m_gtPositionDaqRecord; }
0080
0081 void setGtPositionDaqRecord(const int&);
0082
0083
0084
0085 inline const int gtPositionEvmRecord() const { return m_gtPositionEvmRecord; }
0086
0087 void setGtPositionEvmRecord(const int&);
0088
0089
0090
0091 inline const int gtBitDaqActiveBoards() const { return m_gtBitDaqActiveBoards; }
0092
0093 void setGtBitDaqActiveBoards(const int&);
0094
0095
0096
0097 inline const int gtBitEvmActiveBoards() const { return m_gtBitEvmActiveBoards; }
0098
0099 void setGtBitEvmActiveBoards(const int&);
0100
0101
0102 inline const int gtBoardSlot() const { return m_gtBoardSlot; }
0103
0104 void setGtBoardSlot(const int&);
0105
0106
0107 inline const int gtBoardHexName() const { return m_gtBoardHexName; }
0108
0109 void setGtBoardHexName(const int&);
0110
0111
0112
0113 const std::vector<L1GtPsbQuad>& gtQuadInPsb() const { return m_gtQuadInPsb; }
0114
0115 void setGtQuadInPsb(const std::vector<L1GtPsbQuad>&);
0116
0117
0118
0119 const std::map<int, std::vector<L1GtObject> >& gtInputPsbChannels() const { return m_gtInputPsbChannels; }
0120
0121 void setGtInputPsbChannels(const std::map<int, std::vector<L1GtObject> >&);
0122
0123
0124 const uint16_t gtBoardId() const;
0125
0126
0127 std::string gtBoardName() const;
0128
0129
0130 void print(std::ostream& myCout) const;
0131
0132
0133 friend std::ostream& operator<<(std::ostream&, const L1GtBoard&);
0134
0135 private:
0136
0137 L1GtBoardType m_gtBoardType;
0138
0139
0140 int m_gtBoardIndex;
0141
0142
0143 int m_gtPositionDaqRecord;
0144
0145
0146 int m_gtPositionEvmRecord;
0147
0148
0149
0150 int m_gtBitDaqActiveBoards;
0151
0152
0153
0154 int m_gtBitEvmActiveBoards;
0155
0156
0157 int m_gtBoardSlot;
0158
0159
0160
0161 int m_gtBoardHexName;
0162
0163
0164
0165 std::vector<L1GtPsbQuad> m_gtQuadInPsb;
0166
0167
0168
0169
0170 std::map<int, std::vector<L1GtObject> > m_gtInputPsbChannels;
0171
0172 COND_SERIALIZABLE;
0173 };
0174
0175 #endif