|
ATLAS Offline Software
|
#include <NSWTriggerSTGL1AElink.h>
|
struct | DataHeader |
| Helper struct to hold information of the header for each data chunk. More...
|
|
|
int | parse_version_workaround (std::size_t &readPointer) |
| parse version workaround More...
|
|
void | decode_header (std::size_t &readPointer, int &version) |
| Decode the header. More...
|
|
void | decode_header_v3 (std::size_t &readPointer, int &version) |
|
void | decode_data (std::size_t &readPointer, int version) |
| Decode the pad and segment data. More...
|
|
void | decode_data_v3 (std::size_t &readPointer, int version) |
|
DataHeader | decode_data_header (std::size_t &readPointer, int version) |
| Decode the header of each data segment. More...
|
|
DataHeader | decode_data_header_v3 (std::size_t &readPointer, int version) |
|
std::vector< std::vector< std::uint32_t > > | decode_data_payload (std::size_t &readPointer, const DataHeader &header, int version) const |
| Decode the payload of each data segment. More...
|
|
std::vector< std::vector< std::uint32_t > > | decode_data_payload_v3 (std::size_t &readPointer, const DataHeader &header, int version) const |
|
void | analyze_data (int version) |
| Analyze data chunks and create decoded objects. More...
|
|
void | analyze_data_v3 (int version) |
|
void | decode_trailer (std::size_t &readPointer) |
| Decode the trailer. More...
|
|
std::uint64_t | decode (std::size_t &readPointer, std::size_t size) const |
| Decode a value. More...
|
|
std::uint64_t | decode_v3 (std::size_t &readPointer, std::size_t size) const |
|
Definition at line 14 of file NSWTriggerSTGL1AElink.h.
◆ NSWTriggerSTGL1AElink()
Muon::nsw::NSWTriggerSTGL1AElink::NSWTriggerSTGL1AElink |
( |
const std::uint32_t * |
bs, |
|
|
std::uint32_t |
remaining |
|
) |
| |
Definition at line 19 of file NSWTriggerSTGL1AElink.cxx.
24 constexpr
static auto START_DATA = std::size_t{2 * 32};
25 auto readPointer = std::size_t{START_DATA};
◆ ~NSWTriggerSTGL1AElink()
virtual Muon::nsw::NSWTriggerSTGL1AElink::~NSWTriggerSTGL1AElink |
( |
| ) |
|
|
virtualdefault |
◆ analyze_data()
void Muon::nsw::NSWTriggerSTGL1AElink::analyze_data |
( |
int |
version | ) |
|
|
private |
Analyze data chunks and create decoded objects.
Definition at line 364 of file NSWTriggerSTGL1AElink.cxx.
370 auto counterChunk = std::size_t{0};
372 for (
const auto& dataWord : dataChunk) {
373 const auto expectedSize =
375 if (
std::size(dataWord) != expectedSize) {
376 throw std::length_error(
Muon::nsw::format(
"Stream data size {} does not match expected number of messages {}",
◆ analyze_data_v3()
void Muon::nsw::NSWTriggerSTGL1AElink::analyze_data_v3 |
( |
int |
version | ) |
|
|
private |
Definition at line 333 of file NSWTriggerSTGL1AElink.cxx.
336 auto counterChunk = std::size_t{0};
338 for (
const auto& dataWord : dataChunk) {
339 const auto expectedSize =
341 if (
std::size(dataWord) != expectedSize) {
342 throw std::length_error(
Muon::nsw::format(
"Stream data size {} does not match expected number of messages {}",
◆ correct_size_for_padding()
std::uint64_t Muon::nsw::NSWTriggerSTGL1AElink::correct_size_for_padding |
( |
std::uint64_t |
initial | ) |
|
|
staticprivate |
Definition at line 394 of file NSWTriggerSTGL1AElink.cxx.
395 static constexpr
auto PADDING = 16;
396 if (initial % PADDING) {
397 return ((initial + PADDING - 1) / PADDING) * PADDING;
◆ decode()
std::uint64_t Muon::nsw::NSWTriggerSTGL1AElink::decode |
( |
std::size_t & |
readPointer, |
|
|
std::size_t |
size |
|
) |
| const |
|
private |
Decode a value.
- Parameters
-
readPointer | Current read pointer position (updated by function) |
size | Size of the value to be decoded |
- Returns
- std::uint64_t Decoded value
Definition at line 329 of file NSWTriggerSTGL1AElink.cxx.
330 return Muon::nsw::decode_and_advance<std::uint64_t, std::uint32_t>(
m_data, readPointer,
size);
◆ decode_data()
void Muon::nsw::NSWTriggerSTGL1AElink::decode_data |
( |
std::size_t & |
readPointer, |
|
|
int |
version |
|
) |
| |
|
private |
Decode the pad and segment data.
- Parameters
-
readPointer | Current read pointer position (updated by function) |
Definition at line 149 of file NSWTriggerSTGL1AElink.cxx.
154 auto PADDING_BITS_END = std::size_t{16};
157 while (readPointer < endOfData) {
160 if (readPointer + SIZE_DATA_HEADER > endOfData) {
161 throw std::length_error(
162 Muon::nsw::format(
"Read pointer ({}) would excede memory dedicated to data chunks ({}) while parsing the header (size: {})",
163 readPointer, endOfData, SIZE_DATA_HEADER));
168 throw std::length_error(
Muon::nsw::format(
"STG TP stream size {} larger than expected packet size {}",
169 header_data.total_expected_size,
172 if (header_data.nwords * header_data.data_size + readPointer > endOfData) {
173 throw std::length_error(
Muon::nsw::format(
"Requested to decode {} bits but only {} bits are remaining",
174 header_data.nwords * header_data.data_size, endOfData - readPointer));
◆ decode_data_header()
Decode the header of each data segment.
Contains information about type, number of words and bits per word
- Parameters
-
readPointer | Current read pointer position (updated by function) |
- Returns
- DataHeader Information from header
Definition at line 252 of file NSWTriggerSTGL1AElink.cxx.
272 const auto data_size =
static_cast<std::size_t
>(std::ceil(corrected_current_stream_head_nbits / word_size));
273 const auto total_expected_size = data_size * current_stream_head_nwords;
275 ERS_DEBUG(2,
Muon::nsw::format(
"stream_head_nbits: {}", corrected_current_stream_head_nbits));
276 ERS_DEBUG(2,
Muon::nsw::format(
"stream_head_nwords: {}", current_stream_head_nwords));
277 ERS_DEBUG(2,
Muon::nsw::format(
"stream_head_fifo_size: {}", current_stream_head_fifo_size));
278 ERS_DEBUG(2,
Muon::nsw::format(
"stream_head_streamID: {}", current_stream_head_streamID));
279 ERS_DEBUG(2,
Muon::nsw::format(
"total_expected_size: {}", data_size * current_stream_head_nwords));
281 ceil(readPointer / word_size)));
283 return {corrected_current_stream_head_nbits, current_stream_head_nwords, current_stream_head_fifo_size,
284 current_stream_head_streamID, total_expected_size, data_size};
◆ decode_data_header_v3()
Definition at line 182 of file NSWTriggerSTGL1AElink.cxx.
187 throw std::invalid_argument(
"decode_data_header_v3 version should be exactly 3");
191 auto PADDING_BITS_END = std::size_t{16};
198 size_t current_stream_head_nbits = 0;
199 size_t current_stream_head_nwords = 0;
201 switch (current_stream_head_streamID)
216 if (current_stream_head_nbits == 0 )
218 throw std::runtime_error(
"Corrupted message - sTGC stream has an unrecognized stream header");
221 if (readPointer + total_expected_size > endOfData)
223 throw std::runtime_error(
"Corrupted message - sTGC expected size goes beyond the end of data");
226 current_stream_head_nwords = (
stream_head_nwords == 0) ? 0 : total_expected_size / current_stream_head_nbits;
227 size_t data_size = std::ceil(total_expected_size / felix_word_size);
239 ERS_DEBUG(2,
Muon::nsw::format(
"stream_head_nbits: {}", current_stream_head_nbits));
240 ERS_DEBUG(2,
Muon::nsw::format(
"stream_head_nwords: {}", current_stream_head_nwords));
241 ERS_DEBUG(2,
Muon::nsw::format(
"stream_head_fifo_size: {}", current_stream_head_fifo_size));
242 ERS_DEBUG(2,
Muon::nsw::format(
"stream_head_streamID: {}", current_stream_head_streamID));
245 ceil(readPointer / felix_word_size)));
248 return {current_stream_head_nbits, current_stream_head_nwords, current_stream_head_fifo_size,
249 current_stream_head_streamID, total_expected_size, data_size};
◆ decode_data_payload()
std::vector< std::vector< std::uint32_t > > Muon::nsw::NSWTriggerSTGL1AElink::decode_data_payload |
( |
std::size_t & |
readPointer, |
|
|
const DataHeader & |
header, |
|
|
int |
version |
|
) |
| const |
|
private |
Decode the payload of each data segment.
Contains actual data from pad or segments
- Parameters
-
readPointer | Current read pointer position (updated by function) |
header | Information from data header |
- Returns
- DataHeader Information from header
Definition at line 306 of file NSWTriggerSTGL1AElink.cxx.
308 std::vector<std::vector<std::uint32_t>> current_stream_data{};
313 for (std::size_t
i = 0;
i <
header.nwords; ++
i) {
314 std::vector<std::uint32_t>
data{};
315 for (std::size_t j = 0; j <
header.data_size; ++j) {
316 data.push_back(
decode(readPointer, word_size));
318 current_stream_data.push_back(
data);
320 return current_stream_data;
◆ decode_data_payload_v3()
std::vector< std::vector< std::uint32_t > > Muon::nsw::NSWTriggerSTGL1AElink::decode_data_payload_v3 |
( |
std::size_t & |
readPointer, |
|
|
const DataHeader & |
header, |
|
|
int |
version |
|
) |
| const |
|
private |
Definition at line 287 of file NSWTriggerSTGL1AElink.cxx.
289 std::vector<std::vector<std::uint32_t>> current_stream_data{};
292 throw std::invalid_argument(
"decode_data_header_v3 version should be at least 3");
296 size_t felix_n_words = (
header.nwords == 0 ) ? 0 : std::ceil(
header.data_size /
header.nwords);
297 for (std::size_t
i = 0;
i <
header.nwords; ++
i) {
298 std::vector<std::uint32_t>
data{};
299 for (std::size_t j = 0; j < felix_n_words; ++j) {
300 data.push_back(
decode(readPointer, word_size));
302 current_stream_data.push_back(
data);
304 return current_stream_data;
◆ decode_data_v3()
void Muon::nsw::NSWTriggerSTGL1AElink::decode_data_v3 |
( |
std::size_t & |
readPointer, |
|
|
int |
version |
|
) |
| |
|
private |
Definition at line 119 of file NSWTriggerSTGL1AElink.cxx.
121 auto PADDING_BITS_END = std::size_t{16};
126 while (readPointer < endOfData) {
129 if (readPointer + SIZE_DATA_HEADER > endOfData) {
130 throw std::length_error(
131 Muon::nsw::format(
"Read pointer ({}) would excede memory dedicated to data chunks ({}) while parsing the header (size: {})",
132 readPointer, endOfData, SIZE_DATA_HEADER));
136 throw std::length_error(
Muon::nsw::format(
"STG TP stream size {} larger than expected packet size {}",
137 header_data.total_expected_size,
140 if (header_data.nwords * header_data.data_size + readPointer > endOfData) {
141 throw std::length_error(
Muon::nsw::format(
"Requested to decode {} bits but only {} bits are remaining",
142 header_data.nwords * header_data.data_size, endOfData - readPointer));
◆ decode_header()
void Muon::nsw::NSWTriggerSTGL1AElink::decode_header |
( |
std::size_t & |
readPointer, |
|
|
int & |
version |
|
) |
| |
|
private |
Decode the header.
- Parameters
-
readPointer | Current read pointer position (updated by function) |
Definition at line 33 of file NSWTriggerSTGL1AElink.cxx.
◆ decode_header_v3()
void Muon::nsw::NSWTriggerSTGL1AElink::decode_header_v3 |
( |
std::size_t & |
readPointer, |
|
|
int & |
version |
|
) |
| |
|
private |
◆ decode_trailer()
void Muon::nsw::NSWTriggerSTGL1AElink::decode_trailer |
( |
std::size_t & |
readPointer | ) |
|
|
private |
Decode the trailer.
- Parameters
-
readPointer | Current read pointer position (updated by function) |
Definition at line 324 of file NSWTriggerSTGL1AElink.cxx.
◆ decode_v3()
std::uint64_t Muon::nsw::NSWTriggerSTGL1AElink::decode_v3 |
( |
std::size_t & |
readPointer, |
|
|
std::size_t |
size |
|
) |
| const |
|
private |
◆ elinkId()
◆ elinkWord()
uint32_t Muon::nsw::NSWTriggerElink::elinkWord |
( |
| ) |
const |
|
inlineinherited |
◆ head_BCID()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::head_BCID |
( |
| ) |
const |
|
inline |
◆ head_EC()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::head_EC |
( |
| ) |
const |
|
inline |
◆ head_flags()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::head_flags |
( |
| ) |
const |
|
inline |
◆ head_fragID()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::head_fragID |
( |
| ) |
const |
|
inline |
◆ head_orbit()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::head_orbit |
( |
| ) |
const |
|
inline |
◆ head_overflowCount()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::head_overflowCount |
( |
| ) |
const |
|
inline |
◆ head_sectID()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::head_sectID |
( |
| ) |
const |
|
inline |
◆ head_spare()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::head_spare |
( |
| ) |
const |
|
inline |
◆ head_wdw_matching_engines_usage()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::head_wdw_matching_engines_usage |
( |
| ) |
const |
|
inline |
◆ l1a_busy_thr()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::l1a_busy_thr |
( |
| ) |
const |
|
inline |
◆ l1a_close_BCID()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::l1a_close_BCID |
( |
| ) |
const |
|
inline |
◆ l1a_close_BCID_offset()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::l1a_close_BCID_offset |
( |
| ) |
const |
|
inline |
◆ l1a_engine_snapshot()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::l1a_engine_snapshot |
( |
| ) |
const |
|
inline |
◆ l1a_link_const()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::l1a_link_const |
( |
| ) |
const |
|
inline |
◆ l1a_local_rel_BCID()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::l1a_local_rel_BCID |
( |
| ) |
const |
|
inline |
◆ l1a_local_req_BCID()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::l1a_local_req_BCID |
( |
| ) |
const |
|
inline |
◆ l1a_open_BCID()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::l1a_open_BCID |
( |
| ) |
const |
|
inline |
◆ l1a_open_BCID_offset()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::l1a_open_BCID_offset |
( |
| ) |
const |
|
inline |
◆ l1a_padding()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::l1a_padding |
( |
| ) |
const |
|
inline |
◆ l1a_req_BCID()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::l1a_req_BCID |
( |
| ) |
const |
|
inline |
◆ l1a_req_BCID_offset()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::l1a_req_BCID_offset |
( |
| ) |
const |
|
inline |
◆ l1a_timeout()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::l1a_timeout |
( |
| ) |
const |
|
inline |
◆ l1a_timeout_config()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::l1a_timeout_config |
( |
| ) |
const |
|
inline |
◆ l1a_versionID()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::l1a_versionID |
( |
| ) |
const |
|
inline |
◆ L1ID()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::L1ID |
( |
| ) |
const |
|
inline |
◆ mm_packet()
◆ nwords()
unsigned int Muon::nsw::NSWTriggerElink::nwords |
( |
| ) |
const |
|
inlineinherited |
◆ nwordsFlx()
unsigned int Muon::nsw::NSWTriggerElink::nwordsFlx |
( |
| ) |
const |
|
inlineinherited |
◆ pad_packets()
◆ parse_version_workaround()
int Muon::nsw::NSWTriggerSTGL1AElink::parse_version_workaround |
( |
std::size_t & |
readPointer | ) |
|
|
private |
parse version workaround
- Parameters
-
- Returns
- version
Definition at line 106 of file NSWTriggerSTGL1AElink.cxx.
111 if (anchor == anchor_value)
◆ segment_packet()
◆ status()
unsigned int Muon::nsw::NSWTriggerElink::status |
( |
| ) |
const |
|
inlineinherited |
◆ stream_data()
const std::vector<std::vector<std::vector<std::uint32_t> > >& Muon::nsw::NSWTriggerSTGL1AElink::stream_data |
( |
| ) |
const |
|
inline |
◆ stream_head_fifo_size()
const std::vector<std::uint32_t>& Muon::nsw::NSWTriggerSTGL1AElink::stream_head_fifo_size |
( |
| ) |
const |
|
inline |
◆ stream_head_nbits()
const std::vector<std::uint32_t>& Muon::nsw::NSWTriggerSTGL1AElink::stream_head_nbits |
( |
| ) |
const |
|
inline |
◆ stream_head_nwords()
const std::vector<std::uint32_t>& Muon::nsw::NSWTriggerSTGL1AElink::stream_head_nwords |
( |
| ) |
const |
|
inline |
◆ stream_head_streamID()
const std::vector<std::uint32_t>& Muon::nsw::NSWTriggerSTGL1AElink::stream_head_streamID |
( |
| ) |
const |
|
inline |
◆ suspect()
bool Muon::nsw::NSWTriggerElink::suspect |
( |
| ) |
const |
|
inlineinherited |
◆ trailer_CRC()
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::trailer_CRC |
( |
| ) |
const |
|
inline |
◆ m_data
std::span<const std::uint32_t> Muon::nsw::NSWTriggerSTGL1AElink::m_data |
|
private |
◆ m_elinkId
◆ m_elinkWord
uint32_t Muon::nsw::NSWTriggerElink::m_elinkWord {} |
|
protectedinherited |
◆ m_head_BCID
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_head_BCID {} |
|
private |
◆ m_head_EC
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_head_EC {} |
|
private |
◆ m_head_flags
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_head_flags {} |
|
private |
◆ m_head_fragID
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_head_fragID {} |
|
private |
◆ m_head_orbit
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_head_orbit {} |
|
private |
◆ m_head_sectID
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_head_sectID {} |
|
private |
◆ m_head_spare
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_head_spare {} |
|
private |
◆ m_l1a_busy_thr
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_l1a_busy_thr {} |
|
private |
◆ m_l1a_close_BCID
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_l1a_close_BCID {} |
|
private |
◆ m_l1a_close_BCID_offset
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_l1a_close_BCID_offset {} |
|
private |
◆ m_l1a_engine_snapshot
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_l1a_engine_snapshot {} |
|
private |
◆ m_l1a_link_const
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_l1a_link_const {} |
|
private |
◆ m_l1a_local_rel_BCID
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_l1a_local_rel_BCID {} |
|
private |
◆ m_l1a_local_req_BCID
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_l1a_local_req_BCID {} |
|
private |
◆ m_l1a_open_BCID
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_l1a_open_BCID {} |
|
private |
◆ m_l1a_open_BCID_offset
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_l1a_open_BCID_offset {} |
|
private |
◆ m_l1a_padding
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_l1a_padding {} |
|
private |
◆ m_l1a_req_BCID
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_l1a_req_BCID {} |
|
private |
◆ m_l1a_req_BCID_offset
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_l1a_req_BCID_offset {} |
|
private |
◆ m_l1a_timeout
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_l1a_timeout {} |
|
private |
◆ m_l1a_timeout_config
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_l1a_timeout_config {} |
|
private |
◆ m_l1a_versionID
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_l1a_versionID {} |
|
private |
◆ m_l1a_wdw_matching_engines_usage
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_l1a_wdw_matching_engines_usage {} |
|
private |
◆ m_L1ID
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_L1ID {} |
|
private |
◆ m_mm_packets
std::vector<STGTPMMPacket> Muon::nsw::NSWTriggerSTGL1AElink::m_mm_packets |
|
private |
◆ m_packet_status
unsigned int Muon::nsw::NSWTriggerElink::m_packet_status {} |
|
protectedinherited |
◆ m_packet_sus
bool Muon::nsw::NSWTriggerElink::m_packet_sus {} |
|
protectedinherited |
◆ m_packet_version
int Muon::nsw::NSWTriggerSTGL1AElink::m_packet_version |
|
private |
◆ m_pad_packets
std::vector<STGTPPadPacket> Muon::nsw::NSWTriggerSTGL1AElink::m_pad_packets |
|
private |
◆ m_segment_packets
◆ m_stream_data
std::vector<std::vector<std::vector<std::uint32_t> > > Muon::nsw::NSWTriggerSTGL1AElink::m_stream_data |
|
private |
◆ m_stream_head_fifo_size
std::vector<std::uint32_t> Muon::nsw::NSWTriggerSTGL1AElink::m_stream_head_fifo_size |
|
private |
◆ m_stream_head_nbits
std::vector<std::uint32_t> Muon::nsw::NSWTriggerSTGL1AElink::m_stream_head_nbits |
|
private |
◆ m_stream_head_nwords
std::vector<std::uint32_t> Muon::nsw::NSWTriggerSTGL1AElink::m_stream_head_nwords |
|
private |
◆ m_stream_head_streamID
std::vector<std::uint32_t> Muon::nsw::NSWTriggerSTGL1AElink::m_stream_head_streamID |
|
private |
◆ m_trailer_CRC
std::uint32_t Muon::nsw::NSWTriggerSTGL1AElink::m_trailer_CRC {} |
|
private |
◆ m_wordCount
unsigned int Muon::nsw::NSWTriggerElink::m_wordCount {} |
|
protectedinherited |
◆ m_wordCountFlx
unsigned int Muon::nsw::NSWTriggerElink::m_wordCountFlx {} |
|
protectedinherited |
◆ WORD_SIZE
constexpr auto Muon::nsw::NSWTriggerSTGL1AElink::WORD_SIZE = sizeof(decltype(m_data)::element_type) * 8 |
|
staticconstexprprivate |
◆ WORD_SIZE_DOUBLE
constexpr auto Muon::nsw::NSWTriggerSTGL1AElink::WORD_SIZE_DOUBLE = static_cast<double>(WORD_SIZE) |
|
staticconstexprprivate |
The documentation for this class was generated from the following files:
constexpr int size_l1a_wdw_matching_engines_usage
std::uint32_t m_l1a_close_BCID_offset
char data[hepevt_bytes_allocation_ATLAS]
std::shared_ptr< Muon::nsw::NSWResourceId > m_elinkId
std::uint32_t m_l1a_open_BCID
constexpr int size_head_EC
std::uint32_t m_head_fragID
void decode_header(std::size_t &readPointer, int &version)
Decode the header.
constexpr uint32_t version1_anchor_value
constexpr int size_stream_head_nbits
constexpr std::size_t size_v3
std::vector< std::vector< std::uint32_t > > decode_data_payload_v3(std::size_t &readPointer, const DataHeader &header, int version) const
constexpr int size_head_BCID
unsigned int m_packet_status
std::vector< STGTPPadPacket > m_pad_packets
std::uint32_t m_l1a_req_BCID_offset
constexpr int mm_stream_header
const std::vector< std::uint32_t > & stream_head_nbits() const
constexpr int size_l1a_busy_thr
std::uint32_t m_l1a_close_BCID
static std::uint64_t correct_size_for_padding(std::uint64_t initial)
static constexpr auto WORD_SIZE
constexpr int size_l1a_timeout_config
std::uint32_t m_l1a_padding
constexpr int size_l1a_local_req_BCID
constexpr int size_l1a_padding
constexpr int size_stream_head_streamID
constexpr int size_l1a_close_BCID_offset
int parse_version_workaround(std::size_t &readPointer)
parse version workaround
constexpr int size_head_flags
std::uint32_t m_l1a_versionID
constexpr int size_l1a_versionID
constexpr int size_l1a_req_BCID_offset
std::uint32_t m_l1a_open_BCID_offset
constexpr int size_l1a_req_BCID
std::uint32_t m_l1a_link_const
constexpr int size_trailer_CRC
std::vector< std::vector< std::uint32_t > > decode_data_payload(std::size_t &readPointer, const DataHeader &header, int version) const
Decode the payload of each data segment.
std::uint32_t m_head_BCID
constexpr int merge_stream_header
std::uint32_t m_head_flags
std::uint32_t m_l1a_timeout_config
constexpr int size_head_spare
constexpr int size_stream_head_fifo_size
std::vector< std::uint32_t > m_stream_head_streamID
NSWTriggerElink(const uint32_t *bs, uint32_t remaining)
std::uint32_t m_l1a_local_rel_BCID
constexpr int size_l1a_link_const
@ initial
this is just the initial step we do, nothing really happens here
std::uint32_t m_l1a_engine_snapshot
std::span< const std::uint32_t > m_data
unsigned int m_wordCountFlx
std::uint32_t m_l1a_req_BCID
constexpr int size_stream_head_nwords
std::uint32_t m_head_sectID
std::vector< STGTPSegmentPacket > m_segment_packets
constexpr int loc_version1_anchor
std::string format(const std::string &str, const T &arg)
void decode_trailer(std::size_t &readPointer)
Decode the trailer.
void decode_data(std::size_t &readPointer, int version)
Decode the pad and segment data.
void decode_data_v3(std::size_t &readPointer, int version)
constexpr std::size_t size_v3
constexpr int size_l1a_timeout
constexpr int size_l1a_open_BCID_offset
std::uint64_t decode(std::size_t &readPointer, std::size_t size) const
Decode a value.
std::vector< std::uint32_t > m_stream_head_nbits
constexpr int size_head_fragID
std::uint32_t m_l1a_local_req_BCID
constexpr int size_l1a_open_BCID
DataHeader decode_data_header_v3(std::size_t &readPointer, int version)
constexpr int size_head_sectID
std::uint32_t m_l1a_wdw_matching_engines_usage
void analyze_data(int version)
Analyze data chunks and create decoded objects.
std::uint32_t m_l1a_timeout
const std::vector< std::uint32_t > & stream_head_nwords() const
std::uint32_t m_head_spare
DataHeader decode_data_header(std::size_t &readPointer, int version)
Decode the header of each data segment.
static constexpr auto WORD_SIZE_DOUBLE
constexpr std::size_t pad_stream_header
void analyze_data_v3(int version)
constexpr int size_l1a_engine_snapshot
std::uint32_t m_l1a_busy_thr
constexpr std::size_t size_v3
std::uint32_t m_head_orbit
std::vector< std::vector< std::vector< std::uint32_t > > > m_stream_data
std::vector< STGTPMMPacket > m_mm_packets
std::uint32_t m_trailer_CRC
std::vector< std::uint32_t > m_stream_head_fifo_size
constexpr int size_head_orbit
constexpr int size_l1a_local_rel_BCID
constexpr int size_l1a_close_BCID
std::vector< std::uint32_t > m_stream_head_nwords