ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCnv
MuonNSWCommonDecode
MuonNSWCommonDecode
NSWTriggerMML1AElink.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef _MUON_NSW_TRIGGER_MML1A_ELINK_H_
5
#define _MUON_NSW_TRIGGER_MML1A_ELINK_H_
6
7
#include "
MuonNSWCommonDecode/NSWTriggerElink.h
"
8
#include <stdint.h>
9
#include <vector>
10
#include <memory>
11
12
namespace
Muon
13
{
14
namespace
nsw
15
{
16
class
NSWResourceId
;
17
18
class
NSWTriggerElinkException;
19
20
class
MMARTPacket
;
21
22
class
MMTrigPacket
;
23
24
class
NSWTriggerMML1AElink
:
public
NSWTriggerElink
25
{
26
public
:
27
28
NSWTriggerMML1AElink
(
const
uint32_t *bs, uint32_t remaining);
29
virtual
~NSWTriggerMML1AElink
() =
default
;
30
31
32
uint32_t
head_fragID
()
const
{
return
m_head_fragID
;};
33
uint32_t
head_sectID
()
const
{
return
m_head_sectID
;};
34
uint32_t
head_EC
()
const
{
return
m_head_EC
;};
35
uint32_t
head_flags
()
const
{
return
m_head_flags
;};
36
uint32_t
head_BCID
()
const
{
return
m_head_BCID
;};
37
uint32_t
head_orbit
()
const
{
return
m_head_orbit
;};
38
uint32_t
head_spare
()
const
{
return
m_head_spare
;};
39
uint32_t
L1ID
()
const
{
return
m_L1ID
;};
40
41
uint32_t
l1a_versionID
()
const
{
return
m_l1a_versionID
;};
42
uint32_t
l1a_local_req_BCID
()
const
{
return
m_l1a_local_req_BCID
;};
43
uint32_t
l1a_local_rel_BCID
()
const
{
return
m_l1a_local_rel_BCID
;};
44
uint32_t
l1a_open_BCID
()
const
{
return
m_l1a_open_BCID
;};
45
uint32_t
l1a_req_BCID
()
const
{
return
m_l1a_req_BCID
;};
46
uint32_t
l1a_close_BCID
()
const
{
return
m_l1a_close_BCID
;};
47
uint32_t
l1a_timeout
()
const
{
return
m_l1a_timeout
;};
48
uint32_t
l1a_open_BCID_offset
()
const
{
return
m_l1a_open_BCID_offset
;};
49
uint32_t
l1a_req_BCID_offset
()
const
{
return
m_l1a_req_BCID_offset
;};
50
uint32_t
l1a_close_BCID_offset
()
const
{
return
m_l1a_close_BCID_offset
;};
51
uint32_t
l1a_timeout_config
()
const
{
return
m_l1a_timeout_config
;};
52
uint32_t
l1a_busy_thr
()
const
{
return
m_l1a_busy_thr
;};
53
uint32_t
l1a_engine_snapshot
()
const
{
return
m_l1a_engine_snapshot
;};
54
uint32_t
l1a_link_const
()
const
{
return
m_l1a_link_const
;};
55
uint32_t
l1a_padding
()
const
{
return
m_l1a_padding
;};
56
57
const
std::vector<uint32_t>&
stream_head_nbits
()
const
{
return
m_stream_head_nbits
;};
58
const
std::vector<uint32_t>&
stream_head_nwords
()
const
{
return
m_stream_head_nwords
;};
59
const
std::vector<uint32_t>&
stream_head_fifo_size
()
const
{
return
m_stream_head_fifo_size
;};
60
const
std::vector<uint32_t>&
stream_head_streamID
()
const
{
return
m_stream_head_streamID
;};
61
const
std::vector<std::vector<std::vector<uint32_t>>>&
stream_data
()
const
{
return
m_stream_data
;};
62
63
uint32_t
trailer_CRC
()
const
{
return
m_trailer_CRC
;};
64
65
uint32_t
trailer_CRC_calc
()
const
{
return
m_trailer_CRC_calc
;};
66
bool
is_crc_ok
()
const
{
return
m_trailer_CRC
==
m_trailer_CRC_calc
;};
67
68
const
std::vector<std::shared_ptr<Muon::nsw::MMARTPacket>>&
art_packets
()
const
{
return
m_art_packets
;};
69
const
std::vector<std::shared_ptr<Muon::nsw::MMTrigPacket>>&
trig_packets
()
const
{
return
m_trig_packets
;};
70
71
private
:
72
73
uint32_t
m_head_fragID
;
74
uint32_t
m_head_sectID
;
75
uint32_t
m_head_EC
;
76
uint32_t
m_head_flags
;
77
uint32_t
m_head_BCID
;
78
uint32_t
m_head_orbit
;
79
uint32_t
m_head_spare
;
80
uint32_t
m_L1ID
;
81
82
uint32_t
m_l1a_versionID
;
83
uint32_t
m_l1a_local_req_BCID
;
84
uint32_t
m_l1a_local_rel_BCID
;
85
uint32_t
m_l1a_open_BCID
;
86
uint32_t
m_l1a_req_BCID
;
87
uint32_t
m_l1a_close_BCID
;
88
uint32_t
m_l1a_timeout
;
89
uint32_t
m_l1a_open_BCID_offset
;
90
uint32_t
m_l1a_req_BCID_offset
;
91
uint32_t
m_l1a_close_BCID_offset
;
92
uint32_t
m_l1a_timeout_config
;
93
uint32_t
m_l1a_busy_thr
;
94
uint32_t
m_l1a_engine_snapshot
;
95
uint32_t
m_l1a_link_const
;
96
uint32_t
m_l1a_padding
;
97
98
std::vector<uint32_t>
m_stream_head_nbits
;
99
std::vector<uint32_t>
m_stream_head_nwords
;
100
std::vector<uint32_t>
m_stream_head_fifo_size
;
101
std::vector<uint32_t>
m_stream_head_streamID
;
102
std::vector<std::vector<std::vector<uint32_t>>>
m_stream_data
;
//size is potentially not known a priori...
103
//first vector had stream index
104
//second vector contains stream data words - length defined by m_stream_head_nwords
105
//third vector used because stream data size (m_stream_head_nwords) can exceed maximum compiler size (uint64_t)
106
//CRC are actually 16b for now but keeping 32b for future proofing
107
uint32_t
m_trailer_CRC
;
108
uint32_t
m_trailer_CRC_calc
;
//calculated CRC
109
110
std::vector<std::shared_ptr<Muon::nsw::MMARTPacket>>
m_art_packets
;
111
std::vector<std::shared_ptr<Muon::nsw::MMTrigPacket>>
m_trig_packets
;
112
113
};
114
}
115
}
116
117
118
#endif
// _MUON_NSW_TRIGGER_MML1A_ELINK_H_
NSWTriggerElink.h
Muon::nsw::MMARTPacket
Definition
MMARTPacket.h:17
Muon::nsw::MMTrigPacket
Definition
MMTrigPacket.h:16
Muon::nsw::NSWResourceId
Definition
NSWResourceId.h:42
Muon::nsw::NSWTriggerElink::NSWTriggerElink
NSWTriggerElink(const uint32_t *bs, uint32_t remaining)
Definition
NSWTriggerElink.cxx:12
Muon::nsw::NSWTriggerMML1AElink::m_l1a_engine_snapshot
uint32_t m_l1a_engine_snapshot
Definition
NSWTriggerMML1AElink.h:94
Muon::nsw::NSWTriggerMML1AElink::m_l1a_padding
uint32_t m_l1a_padding
Definition
NSWTriggerMML1AElink.h:96
Muon::nsw::NSWTriggerMML1AElink::l1a_busy_thr
uint32_t l1a_busy_thr() const
Definition
NSWTriggerMML1AElink.h:52
Muon::nsw::NSWTriggerMML1AElink::m_l1a_open_BCID
uint32_t m_l1a_open_BCID
Definition
NSWTriggerMML1AElink.h:85
Muon::nsw::NSWTriggerMML1AElink::l1a_open_BCID
uint32_t l1a_open_BCID() const
Definition
NSWTriggerMML1AElink.h:44
Muon::nsw::NSWTriggerMML1AElink::NSWTriggerMML1AElink
NSWTriggerMML1AElink(const uint32_t *bs, uint32_t remaining)
Definition
NSWTriggerMML1AElink.cxx:16
Muon::nsw::NSWTriggerMML1AElink::m_l1a_timeout_config
uint32_t m_l1a_timeout_config
Definition
NSWTriggerMML1AElink.h:92
Muon::nsw::NSWTriggerMML1AElink::head_flags
uint32_t head_flags() const
Definition
NSWTriggerMML1AElink.h:35
Muon::nsw::NSWTriggerMML1AElink::m_l1a_local_req_BCID
uint32_t m_l1a_local_req_BCID
Definition
NSWTriggerMML1AElink.h:83
Muon::nsw::NSWTriggerMML1AElink::is_crc_ok
bool is_crc_ok() const
Definition
NSWTriggerMML1AElink.h:66
Muon::nsw::NSWTriggerMML1AElink::~NSWTriggerMML1AElink
virtual ~NSWTriggerMML1AElink()=default
Muon::nsw::NSWTriggerMML1AElink::m_head_BCID
uint32_t m_head_BCID
Definition
NSWTriggerMML1AElink.h:77
Muon::nsw::NSWTriggerMML1AElink::m_l1a_link_const
uint32_t m_l1a_link_const
Definition
NSWTriggerMML1AElink.h:95
Muon::nsw::NSWTriggerMML1AElink::m_stream_data
std::vector< std::vector< std::vector< uint32_t > > > m_stream_data
Definition
NSWTriggerMML1AElink.h:102
Muon::nsw::NSWTriggerMML1AElink::m_l1a_busy_thr
uint32_t m_l1a_busy_thr
Definition
NSWTriggerMML1AElink.h:93
Muon::nsw::NSWTriggerMML1AElink::l1a_req_BCID
uint32_t l1a_req_BCID() const
Definition
NSWTriggerMML1AElink.h:45
Muon::nsw::NSWTriggerMML1AElink::trailer_CRC
uint32_t trailer_CRC() const
Definition
NSWTriggerMML1AElink.h:63
Muon::nsw::NSWTriggerMML1AElink::stream_data
const std::vector< std::vector< std::vector< uint32_t > > > & stream_data() const
Definition
NSWTriggerMML1AElink.h:61
Muon::nsw::NSWTriggerMML1AElink::m_l1a_timeout
uint32_t m_l1a_timeout
Definition
NSWTriggerMML1AElink.h:88
Muon::nsw::NSWTriggerMML1AElink::trailer_CRC_calc
uint32_t trailer_CRC_calc() const
Definition
NSWTriggerMML1AElink.h:65
Muon::nsw::NSWTriggerMML1AElink::l1a_local_rel_BCID
uint32_t l1a_local_rel_BCID() const
Definition
NSWTriggerMML1AElink.h:43
Muon::nsw::NSWTriggerMML1AElink::head_sectID
uint32_t head_sectID() const
Definition
NSWTriggerMML1AElink.h:33
Muon::nsw::NSWTriggerMML1AElink::m_stream_head_nwords
std::vector< uint32_t > m_stream_head_nwords
Definition
NSWTriggerMML1AElink.h:99
Muon::nsw::NSWTriggerMML1AElink::m_stream_head_nbits
std::vector< uint32_t > m_stream_head_nbits
Definition
NSWTriggerMML1AElink.h:98
Muon::nsw::NSWTriggerMML1AElink::m_head_flags
uint32_t m_head_flags
Definition
NSWTriggerMML1AElink.h:76
Muon::nsw::NSWTriggerMML1AElink::head_spare
uint32_t head_spare() const
Definition
NSWTriggerMML1AElink.h:38
Muon::nsw::NSWTriggerMML1AElink::m_l1a_local_rel_BCID
uint32_t m_l1a_local_rel_BCID
Definition
NSWTriggerMML1AElink.h:84
Muon::nsw::NSWTriggerMML1AElink::m_head_orbit
uint32_t m_head_orbit
Definition
NSWTriggerMML1AElink.h:78
Muon::nsw::NSWTriggerMML1AElink::m_head_sectID
uint32_t m_head_sectID
Definition
NSWTriggerMML1AElink.h:74
Muon::nsw::NSWTriggerMML1AElink::l1a_local_req_BCID
uint32_t l1a_local_req_BCID() const
Definition
NSWTriggerMML1AElink.h:42
Muon::nsw::NSWTriggerMML1AElink::l1a_timeout
uint32_t l1a_timeout() const
Definition
NSWTriggerMML1AElink.h:47
Muon::nsw::NSWTriggerMML1AElink::trig_packets
const std::vector< std::shared_ptr< Muon::nsw::MMTrigPacket > > & trig_packets() const
Definition
NSWTriggerMML1AElink.h:69
Muon::nsw::NSWTriggerMML1AElink::art_packets
const std::vector< std::shared_ptr< Muon::nsw::MMARTPacket > > & art_packets() const
Definition
NSWTriggerMML1AElink.h:68
Muon::nsw::NSWTriggerMML1AElink::stream_head_streamID
const std::vector< uint32_t > & stream_head_streamID() const
Definition
NSWTriggerMML1AElink.h:60
Muon::nsw::NSWTriggerMML1AElink::head_orbit
uint32_t head_orbit() const
Definition
NSWTriggerMML1AElink.h:37
Muon::nsw::NSWTriggerMML1AElink::m_head_fragID
uint32_t m_head_fragID
Definition
NSWTriggerMML1AElink.h:73
Muon::nsw::NSWTriggerMML1AElink::stream_head_fifo_size
const std::vector< uint32_t > & stream_head_fifo_size() const
Definition
NSWTriggerMML1AElink.h:59
Muon::nsw::NSWTriggerMML1AElink::m_l1a_versionID
uint32_t m_l1a_versionID
Definition
NSWTriggerMML1AElink.h:82
Muon::nsw::NSWTriggerMML1AElink::stream_head_nbits
const std::vector< uint32_t > & stream_head_nbits() const
Definition
NSWTriggerMML1AElink.h:57
Muon::nsw::NSWTriggerMML1AElink::L1ID
uint32_t L1ID() const
Definition
NSWTriggerMML1AElink.h:39
Muon::nsw::NSWTriggerMML1AElink::l1a_timeout_config
uint32_t l1a_timeout_config() const
Definition
NSWTriggerMML1AElink.h:51
Muon::nsw::NSWTriggerMML1AElink::l1a_versionID
uint32_t l1a_versionID() const
Definition
NSWTriggerMML1AElink.h:41
Muon::nsw::NSWTriggerMML1AElink::m_l1a_req_BCID_offset
uint32_t m_l1a_req_BCID_offset
Definition
NSWTriggerMML1AElink.h:90
Muon::nsw::NSWTriggerMML1AElink::m_trailer_CRC_calc
uint32_t m_trailer_CRC_calc
Definition
NSWTriggerMML1AElink.h:108
Muon::nsw::NSWTriggerMML1AElink::head_BCID
uint32_t head_BCID() const
Definition
NSWTriggerMML1AElink.h:36
Muon::nsw::NSWTriggerMML1AElink::m_l1a_open_BCID_offset
uint32_t m_l1a_open_BCID_offset
Definition
NSWTriggerMML1AElink.h:89
Muon::nsw::NSWTriggerMML1AElink::head_fragID
uint32_t head_fragID() const
Definition
NSWTriggerMML1AElink.h:32
Muon::nsw::NSWTriggerMML1AElink::m_l1a_close_BCID
uint32_t m_l1a_close_BCID
Definition
NSWTriggerMML1AElink.h:87
Muon::nsw::NSWTriggerMML1AElink::m_trailer_CRC
uint32_t m_trailer_CRC
Definition
NSWTriggerMML1AElink.h:107
Muon::nsw::NSWTriggerMML1AElink::l1a_link_const
uint32_t l1a_link_const() const
Definition
NSWTriggerMML1AElink.h:54
Muon::nsw::NSWTriggerMML1AElink::m_L1ID
uint32_t m_L1ID
Definition
NSWTriggerMML1AElink.h:80
Muon::nsw::NSWTriggerMML1AElink::m_art_packets
std::vector< std::shared_ptr< Muon::nsw::MMARTPacket > > m_art_packets
Definition
NSWTriggerMML1AElink.h:110
Muon::nsw::NSWTriggerMML1AElink::m_trig_packets
std::vector< std::shared_ptr< Muon::nsw::MMTrigPacket > > m_trig_packets
Definition
NSWTriggerMML1AElink.h:111
Muon::nsw::NSWTriggerMML1AElink::l1a_req_BCID_offset
uint32_t l1a_req_BCID_offset() const
Definition
NSWTriggerMML1AElink.h:49
Muon::nsw::NSWTriggerMML1AElink::head_EC
uint32_t head_EC() const
Definition
NSWTriggerMML1AElink.h:34
Muon::nsw::NSWTriggerMML1AElink::l1a_close_BCID_offset
uint32_t l1a_close_BCID_offset() const
Definition
NSWTriggerMML1AElink.h:50
Muon::nsw::NSWTriggerMML1AElink::l1a_engine_snapshot
uint32_t l1a_engine_snapshot() const
Definition
NSWTriggerMML1AElink.h:53
Muon::nsw::NSWTriggerMML1AElink::m_stream_head_fifo_size
std::vector< uint32_t > m_stream_head_fifo_size
Definition
NSWTriggerMML1AElink.h:100
Muon::nsw::NSWTriggerMML1AElink::l1a_close_BCID
uint32_t l1a_close_BCID() const
Definition
NSWTriggerMML1AElink.h:46
Muon::nsw::NSWTriggerMML1AElink::m_l1a_close_BCID_offset
uint32_t m_l1a_close_BCID_offset
Definition
NSWTriggerMML1AElink.h:91
Muon::nsw::NSWTriggerMML1AElink::m_head_spare
uint32_t m_head_spare
Definition
NSWTriggerMML1AElink.h:79
Muon::nsw::NSWTriggerMML1AElink::stream_head_nwords
const std::vector< uint32_t > & stream_head_nwords() const
Definition
NSWTriggerMML1AElink.h:58
Muon::nsw::NSWTriggerMML1AElink::l1a_padding
uint32_t l1a_padding() const
Definition
NSWTriggerMML1AElink.h:55
Muon::nsw::NSWTriggerMML1AElink::l1a_open_BCID_offset
uint32_t l1a_open_BCID_offset() const
Definition
NSWTriggerMML1AElink.h:48
Muon::nsw::NSWTriggerMML1AElink::m_head_EC
uint32_t m_head_EC
Definition
NSWTriggerMML1AElink.h:75
Muon::nsw::NSWTriggerMML1AElink::m_l1a_req_BCID
uint32_t m_l1a_req_BCID
Definition
NSWTriggerMML1AElink.h:86
Muon::nsw::NSWTriggerMML1AElink::m_stream_head_streamID
std::vector< uint32_t > m_stream_head_streamID
Definition
NSWTriggerMML1AElink.h:101
Muon::nsw
Definition
MapperMMG.h:13
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition
TrackSystemController.h:46
Generated on
for ATLAS Offline Software by
1.17.0