#include <MapperSTG.h>
|
| | MapperSTG () |
| virtual | ~MapperSTG () |
| uint16_t | nchannels (uint8_t channel_type, uint8_t sector_type, uint8_t feb_radius, uint8_t layer) const |
| uint16_t | channel_number (uint8_t channel_type, uint8_t sector_type, uint8_t feb_radius, uint8_t layer, uint16_t vmm, uint16_t vmm_chan) const |
| bool | vmm_info (uint8_t channel_type, uint8_t sector_type, uint8_t mod_radius, uint8_t layer, uint16_t channel_number, uint16_t &vmm, uint16_t &vmm_chan) const |
| bool | elink_info (uint8_t channel_type, uint8_t sector_type, uint8_t mod_radius, uint8_t layer, uint16_t channel_number, uint &elink) const |
| uint16_t | geoVmmToRocVmm (uint16_t geoVMM) const |
| uint16_t | AB_to_Athena_channel_number (uint8_t channel_type, uint8_t sector_type, uint8_t feb_radius, uint8_t layer, uint16_t channel_number) const |
| uint16_t | Athena_to_AB_channel_number (uint8_t channel_type, uint8_t sector_type, uint8_t feb_radius, uint8_t layer, uint16_t channel_number) const |
| uint16_t | NSWID_to_Athena_channel_number (uint8_t channel_type, uint8_t sector_type, uint8_t feb_radius, uint8_t layer, uint16_t channel_number, bool sideA) const |
| uint16_t | Athena_to_NSWID_channel_number (uint8_t channel_type, uint8_t sector_type, uint8_t feb_radius, uint8_t layer, uint16_t channel_number, bool sideA) const |
Definition at line 17 of file MapperSTG.h.
◆ MapperSTG()
| Muon::nsw::MapperSTG::MapperSTG |
( |
| ) |
|
|
inline |
◆ ~MapperSTG()
| virtual Muon::nsw::MapperSTG::~MapperSTG |
( |
| ) |
|
|
inlinevirtual |
◆ AB_to_Athena_channel_number()
| uint16_t Muon::nsw::MapperSTG::AB_to_Athena_channel_number |
( |
uint8_t | channel_type, |
|
|
uint8_t | sector_type, |
|
|
uint8_t | feb_radius, |
|
|
uint8_t | layer, |
|
|
uint16_t | channel_number ) const |
Definition at line 119 of file MapperSTG.cxx.
120{
121
122
124
126
127
128
129 bool isPivot = (sector_type == 0)^(layer < 4);
131
133
134
135
138
141 uint16_t padRow_ATH = pad_grid.first - padRow_AB + 1;
142 uint16_t padCol_ATH = (
layer%2==0) ? pad_grid.second - padCol_AB + 1 : padCol_AB;
143
144
146 }
147
149}
uint16_t nchannels(uint8_t channel_type, uint8_t sector_type, uint8_t feb_radius, uint8_t layer) const
static uint16_t private_id(uint8_t channel_type, uint8_t sector_type, uint8_t feb_radius, uint8_t layer)
uint16_t channel_number(uint8_t channel_type, uint8_t sector_type, uint8_t feb_radius, uint8_t layer, uint16_t vmm, uint16_t vmm_chan) const
static const std::map< uint16_t, std::pair< uint16_t, uint16_t > > s_stgc_pad_grid
@ OFFLINE_CHANNEL_TYPE_PAD
@ OFFLINE_CHANNEL_TYPE_WIRE
◆ Athena_to_AB_channel_number()
| uint16_t Muon::nsw::MapperSTG::Athena_to_AB_channel_number |
( |
uint8_t | channel_type, |
|
|
uint8_t | sector_type, |
|
|
uint8_t | feb_radius, |
|
|
uint8_t | layer, |
|
|
uint16_t | channel_number ) const |
Definition at line 153 of file MapperSTG.cxx.
154{
155
156
157
159
161
162
163
164 bool isPivot = (sector_type == 0)^(layer < 4);
166
168
169
170
173
174
177 uint16_t padRow_AB = pad_grid.first - padRow_ATH + 1;
178 uint16_t padCol_AB = (
layer%2==0) ? pad_grid.second - padCol_ATH + 1 : padCol_ATH;
179
181 }
182
184}
◆ Athena_to_NSWID_channel_number()
| uint16_t Muon::nsw::MapperSTG::Athena_to_NSWID_channel_number |
( |
uint8_t | channel_type, |
|
|
uint8_t | sector_type, |
|
|
uint8_t | feb_radius, |
|
|
uint8_t | layer, |
|
|
uint16_t | channel_number, |
|
|
bool | sideA ) const |
Definition at line 222 of file MapperSTG.cxx.
223{
224
225
226
228
229
231
232
233
235
237
238
239
242
243
246 uint16_t padCol_NSW = (
sideA) ? pad_grid.second - padCol_ATH + 1 : padCol_ATH;
248 }
249
251}
unsigned int constexpr sideA
◆ channel_number()
| uint16_t Muon::nsw::MapperSTG::channel_number |
( |
uint8_t | channel_type, |
|
|
uint8_t | sector_type, |
|
|
uint8_t | feb_radius, |
|
|
uint8_t | layer, |
|
|
uint16_t | vmm, |
|
|
uint16_t | vmm_chan ) const |
Definition at line 9 of file MapperSTG.cxx.
10{
11
12
16
17 for (const auto& range : ranges) {
20 int increment = chanLast >= chanFirst ? 1 : -1;
21
22 if ( (chan - chanFirst)*(chan - chanLast) <= 0 ) {
25 }
26
27 counter += increment*(chanLast - chanFirst) + 1;
28 }
29
30 return 0;
31}
uint16_t AB_to_Athena_channel_number(uint8_t channel_type, uint8_t sector_type, uint8_t feb_radius, uint8_t layer, uint16_t channel_number) const
static const std::map< uint16_t, std::vector< std::vector< uint8_t > > > s_stgc_channel_map
◆ elink_info()
| bool Muon::nsw::MapperSTG::elink_info |
( |
uint8_t | channel_type, |
|
|
uint8_t | sector_type, |
|
|
uint8_t | mod_radius, |
|
|
uint8_t | layer, |
|
|
uint16_t | channel_number, |
|
|
uint & | elink ) const |
Definition at line 83 of file MapperSTG.cxx.
84{
85 if(mod_radius>0) {elink = 0; return true;}
90 elink=0;
91 return true;
92 } else{
93 elink=2;
94 return true;
95 }
98 elink=0;
99 return true;
100 } else{
101 elink=2;
102 return true;
103 }
104 }
105 elink = 0;
106 return false;
107}
bool vmm_info(uint8_t channel_type, uint8_t sector_type, uint8_t mod_radius, uint8_t layer, uint16_t channel_number, uint16_t &vmm, uint16_t &vmm_chan) const
uint16_t geoVmmToRocVmm(uint16_t geoVMM) const
@ OFFLINE_CHANNEL_TYPE_STRIP
◆ geoVmmToRocVmm()
| uint16_t Muon::nsw::MapperSTG::geoVmmToRocVmm |
( |
uint16_t | geoVMM | ) |
const |
Definition at line 112 of file MapperSTG.cxx.
112 {
113 constexpr uint16_t vmmRemap[8] = { 2, 3, 0, 1, 5, 4, 6, 7 };
114 return vmmRemap[VMM];
115 }
◆ nchannels()
| uint16_t Muon::nsw::MapperSTG::nchannels |
( |
uint8_t | channel_type, |
|
|
uint8_t | sector_type, |
|
|
uint8_t | feb_radius, |
|
|
uint8_t | layer ) const |
Definition at line 35 of file MapperSTG.cxx.
36{
39
41 for (const auto& range : ranges) {
44 int increment = chanLast >= chanFirst ? 1 : -1;
45 counter += increment*(chanLast - chanFirst) + 1;
46 }
47
49}
◆ NSWID_to_Athena_channel_number()
| uint16_t Muon::nsw::MapperSTG::NSWID_to_Athena_channel_number |
( |
uint8_t | channel_type, |
|
|
uint8_t | sector_type, |
|
|
uint8_t | feb_radius, |
|
|
uint8_t | layer, |
|
|
uint16_t | channel_number, |
|
|
bool | sideA ) const |
Definition at line 188 of file MapperSTG.cxx.
189{
190
191
192
194
195
197
198
199
201
203
204
205
208
211 uint16_t padCol_ATH = (
sideA) ? pad_grid.second - padCol_NSW + 1 : padCol_NSW;
212
213
215 }
216
218}
◆ private_id()
| uint16_t Muon::nsw::MapperSTG::private_id |
( |
uint8_t | channel_type, |
|
|
uint8_t | sector_type, |
|
|
uint8_t | feb_radius, |
|
|
uint8_t | layer ) |
|
inlinestatic |
Definition at line 263 of file MapperSTG.h.
264{
265
266 return (
channel_type & 0xf) << 12 | (sector_type & 0xf) << 8 | (feb_radius & 0xf) << 4 | (
layer & 0xf);
267}
◆ vmm_info()
| bool Muon::nsw::MapperSTG::vmm_info |
( |
uint8_t | channel_type, |
|
|
uint8_t | sector_type, |
|
|
uint8_t | mod_radius, |
|
|
uint8_t | layer, |
|
|
uint16_t | channel_number, |
|
|
uint16_t & | vmm, |
|
|
uint16_t & | vmm_chan ) const |
Definition at line 53 of file MapperSTG.cxx.
54{
55
56
58
61
63 for (const auto& range : ranges) {
66 int increment = chanLast >= chanFirst ? 1 : -1;
67 int nchan = increment*(chanLast - chanFirst) + 1;
68
69 if (AB_channel < counter + nchan) {
70 int chan = chanFirst + increment*(AB_channel -
counter);
73 return true;
74 }
75
77 }
78
79 return false;
80}
uint16_t Athena_to_AB_channel_number(uint8_t channel_type, uint8_t sector_type, uint8_t feb_radius, uint8_t layer, uint16_t channel_number) const
The documentation for this class was generated from the following files: