#include <Block.h>
|
int | count (unsigned int pattern, unsigned int length) const |
|
bool | valid (unsigned int pattern) const |
|
Definition at line 113 of file Block.h.
◆ MTF7Payload()
l1t::MTF7Payload::MTF7Payload |
( |
const uint32_t * |
data, |
|
|
const uint32_t * |
end |
|
) |
| |
Definition at line 113 of file Block.cc.
114 const uint16_t* data16 = reinterpret_cast<const uint16_t*>(
data);
115 const uint16_t* end16 = reinterpret_cast<const uint16_t*>(
end);
118 edm::LogError(
"L1T") <<
"MTF7 payload smaller than allowed!";
121 ((data16[0] >> 12) != 0x9) || ((data16[1] >> 12) != 0x9) || ((data16[2] >> 12) != 0x9) ||
122 ((data16[3] >> 12) != 0x9) || ((data16[4] >> 12) != 0xA) || ((data16[5] >> 12) != 0xA) ||
123 ((data16[6] >> 12) != 0xA) || ((data16[7] >> 12) != 0xA) || ((data16[8] >> 15) != 0
x1) ||
124 ((data16[9] >> 15) != 0x0) || ((data16[10] >> 15) != 0x0) || ((data16[11] >> 15) != 0x0)) {
128 ((data16[12] >> 15) != 0) || ((data16[13] >> 15) != 1) || ((data16[14] >> 15) != 0) ||
129 ((data16[15] >> 15) != 0)) {
130 edm::LogError(
"L1T") <<
"MTF7 payload has invalid counter block!";
136 for (
int i = 4;
i < 1590;
i++) {
137 if (((data16[4 *
i + 0] >> 12) == 0xF) && ((data16[4 *
i + 1] >> 12) == 0xF) &&
138 ((data16[4 *
i + 2] >> 12) == 0xF) && ((data16[4 *
i + 3] >> 12) == 0xF) &&
139 ((data16[4 *
i + 4] >> 12) == 0xE) && ((data16[4 *
i + 5] >> 12) == 0xE) &&
140 ((data16[4 *
i + 6] >> 12) == 0xE) &&
141 ((data16[4 *
i + 7] >> 12) == 0xE)) {
142 algo_ = (((data16[4 *
i + 2] >> 4) & 0x3F) << 9);
143 algo_ |= (((data16[4 *
i + 2] >> 0) & 0x0F) << 5);
144 algo_ |= (((data16[4 *
i + 4] >> 0) & 0x1F) << 0);
149 edm::LogError(
"L1T") <<
"MTF7 payload has no valid EMTF firmware version!";
References l1t::Payload::algo_, counter_size, data, l1t::Payload::data_, end, l1t::Payload::end_, header_size, mps_fire::i, trailer_size, and testProducerWithPsetDescEmpty_cfi::x1.
◆ count()
int l1t::MTF7Payload::count |
( |
unsigned int |
pattern, |
|
|
unsigned int |
length |
|
) |
| const |
|
private |
◆ getBlock()
std::unique_ptr< Block > l1t::MTF7Payload::getBlock |
( |
| ) |
|
|
overridevirtual |
Reimplemented from l1t::Payload.
Definition at line 173 of file Block.cc.
175 return std::unique_ptr<Block>();
177 const uint16_t* data16 = reinterpret_cast<const uint16_t*>(
data_);
178 const uint16_t* end16 = reinterpret_cast<const uint16_t*>(
end_);
186 for (
int j = 0;
j < 4; ++
j) {
198 return std::unique_ptr<Block>();
References count(), l1t::Payload::data_, l1t::Payload::end_, mps_fire::i, dqmiolumiharvest::j, max_block_length_, l1t::MTF7, dqmiodumpmetadata::n, topSingleLeptonDQM_PU_cfi::pattern, jets_cff::payload, and valid().
◆ getHeader()
◆ getHeaderSize()
unsigned l1t::MTF7Payload::getHeaderSize |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ valid()
bool l1t::MTF7Payload::valid |
( |
unsigned int |
pattern | ) |
const |
|
private |
◆ block_patterns_
const std::vector< unsigned int > l1t::MTF7Payload::block_patterns_ |
|
staticprivate |
Initial value:= {
0b000111111111,
0b0010,
0b0011,
0b0100,
0b01100101,
0b11111111
}
Definition at line 130 of file Block.h.
Referenced by count(), and valid().
◆ counter_size
constexpr unsigned l1t::MTF7Payload::counter_size = 4 |
|
staticconstexprprivate |
◆ header_size
constexpr unsigned l1t::MTF7Payload::header_size = 12 |
|
staticconstexprprivate |
◆ max_block_length_
constexpr unsigned l1t::MTF7Payload::max_block_length_ = 3 |
|
staticconstexprprivate |
◆ trailer_size
constexpr unsigned l1t::MTF7Payload::trailer_size = 8 |
|
staticconstexprprivate |