 |
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 16 of file NSWTriggerSTGL1AElink.cxx.
21 constexpr
static auto START_DATA = std::size_t{2 * 32};
22 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 330 of file NSWTriggerSTGL1AElink.cxx.
333 auto counterChunk = std::size_t{0};
335 for (
const auto& dataWord : dataChunk) {
336 const auto expectedSize =
338 if (
std::size(dataWord) != expectedSize) {
339 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 397 of file NSWTriggerSTGL1AElink.cxx.
398 static constexpr
auto PADDING = 16;
399 if (initial % PADDING) {
400 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 326 of file NSWTriggerSTGL1AElink.cxx.
327 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 146 of file NSWTriggerSTGL1AElink.cxx.
151 auto PADDING_BITS_END = std::size_t{16};
154 while (readPointer < endOfData) {
157 if (readPointer + SIZE_DATA_HEADER > endOfData) {
158 throw std::length_error(
159 Muon::nsw::format(
"Read pointer ({}) would excede memory dedicated to data chunks ({}) while parsing the header (size: {})",
160 readPointer, endOfData, SIZE_DATA_HEADER));
165 throw std::length_error(
Muon::nsw::format(
"STG TP stream size {} larger than expected packet size {}",
166 header_data.total_expected_size,
169 if (header_data.nwords * header_data.data_size + readPointer > endOfData) {
170 throw std::length_error(
Muon::nsw::format(
"Requested to decode {} bits but only {} bits are remaining",
171 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 249 of file NSWTriggerSTGL1AElink.cxx.
269 const auto data_size =
static_cast<std::size_t
>(std::ceil(corrected_current_stream_head_nbits / word_size));
270 const auto total_expected_size = data_size * current_stream_head_nwords;
272 ERS_DEBUG(2,
Muon::nsw::format(
"stream_head_nbits: {}", corrected_current_stream_head_nbits));
273 ERS_DEBUG(2,
Muon::nsw::format(
"stream_head_nwords: {}", current_stream_head_nwords));
274 ERS_DEBUG(2,
Muon::nsw::format(
"stream_head_fifo_size: {}", current_stream_head_fifo_size));
275 ERS_DEBUG(2,
Muon::nsw::format(
"stream_head_streamID: {}", current_stream_head_streamID));
276 ERS_DEBUG(2,
Muon::nsw::format(
"total_expected_size: {}", data_size * current_stream_head_nwords));
278 ceil(readPointer / word_size)));
280 return {corrected_current_stream_head_nbits, current_stream_head_nwords, current_stream_head_fifo_size,
281 current_stream_head_streamID, total_expected_size, data_size};
◆ decode_data_header_v3()
Definition at line 179 of file NSWTriggerSTGL1AElink.cxx.
184 throw std::invalid_argument(
"decode_data_header_v3 version should be exactly 3");
188 auto PADDING_BITS_END = std::size_t{16};
195 size_t current_stream_head_nbits = 0;
196 size_t current_stream_head_nwords = 0;
198 switch (current_stream_head_streamID)
213 if (current_stream_head_nbits == 0 )
215 throw std::runtime_error(
"Corrupted message - sTGC stream has an unrecognized stream header");
218 if (readPointer + total_expected_size > endOfData)
220 throw std::runtime_error(
"Corrupted message - sTGC expected size goes beyond the end of data");
223 current_stream_head_nwords = (
stream_head_nwords == 0) ? 0 : total_expected_size / current_stream_head_nbits;
224 size_t data_size = std::ceil(total_expected_size / felix_word_size);
236 ERS_DEBUG(2,
Muon::nsw::format(
"stream_head_nbits: {}", current_stream_head_nbits));
237 ERS_DEBUG(2,
Muon::nsw::format(
"stream_head_nwords: {}", current_stream_head_nwords));
238 ERS_DEBUG(2,
Muon::nsw::format(
"stream_head_fifo_size: {}", current_stream_head_fifo_size));
239 ERS_DEBUG(2,
Muon::nsw::format(
"stream_head_streamID: {}", current_stream_head_streamID));
242 ceil(readPointer / felix_word_size)));
245 return {current_stream_head_nbits, current_stream_head_nwords, current_stream_head_fifo_size,
246 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 303 of file NSWTriggerSTGL1AElink.cxx.
305 std::vector<std::vector<std::uint32_t>> current_stream_data{};
310 for (std::size_t
i = 0;
i <
header.nwords; ++
i) {
311 std::vector<std::uint32_t>
data{};
312 for (std::size_t j = 0; j <
header.data_size; ++j) {
313 data.push_back(
decode(readPointer, word_size));
315 current_stream_data.push_back(std::move(
data));
317 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 284 of file NSWTriggerSTGL1AElink.cxx.
286 std::vector<std::vector<std::uint32_t>> current_stream_data{};
289 throw std::invalid_argument(
"decode_data_header_v3 version should be at least 3");
293 size_t felix_n_words = (
header.nwords == 0 ) ? 0 : std::ceil(
header.data_size /
header.nwords);
294 for (std::size_t
i = 0;
i <
header.nwords; ++
i) {
295 std::vector<std::uint32_t>
data{};
296 for (std::size_t j = 0; j < felix_n_words; ++j) {
297 data.push_back(
decode(readPointer, word_size));
299 current_stream_data.push_back(std::move(
data));
301 return current_stream_data;
◆ decode_data_v3()
| void Muon::nsw::NSWTriggerSTGL1AElink::decode_data_v3 |
( |
std::size_t & |
readPointer, |
|
|
int |
version |
|
) |
| |
|
private |
Definition at line 116 of file NSWTriggerSTGL1AElink.cxx.
118 auto PADDING_BITS_END = std::size_t{16};
123 while (readPointer < endOfData) {
126 if (readPointer + SIZE_DATA_HEADER > endOfData) {
127 throw std::length_error(
128 Muon::nsw::format(
"Read pointer ({}) would excede memory dedicated to data chunks ({}) while parsing the header (size: {})",
129 readPointer, endOfData, SIZE_DATA_HEADER));
133 throw std::length_error(
Muon::nsw::format(
"STG TP stream size {} larger than expected packet size {}",
134 header_data.total_expected_size,
137 if (header_data.nwords * header_data.data_size + readPointer > endOfData) {
138 throw std::length_error(
Muon::nsw::format(
"Requested to decode {} bits but only {} bits are remaining",
139 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 30 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 321 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 103 of file NSWTriggerSTGL1AElink.cxx.
108 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 |
◆ strip_packet()
◆ 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_strip_packets
◆ 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
constexpr int strip_stream_header
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
std::vector< STGTPStripPacket > m_strip_packets
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