ATLAS Offline Software
MuonSpectrometer
MuonValidation
MuonDQA
MuonRawDataMonitoring
MdtRawDataMonitoring
src
MdtHistCoder.h
Go to the documentation of this file.
1
#include <stdint.h>
2
3
#include <array>
4
5
class
MdtHistCoder
{
6
public
:
7
enum
{
region
= 0,
layer
= 1,
crate_region
= 2,
crate
= 3,
phi
= 4 };
// bitshifts
8
9
private
:
10
static
constexpr std::array<uint16_t, 5>
m_bitshift
{{0, 2, 4, 6, 8}};
// region, layer, crate_region, crate, phi
11
static
constexpr std::array<uint16_t, 5>
m_bitmask
{{0x3, 0x3, 0x3, 0x3, 0xF}};
12
// region (on two bits)
13
// layer (on two bits)
14
// crate_region (on two bits)
15
// crate (on two bits)
16
// phi (on four bits)
17
18
public
:
19
static
uint16_t
encode
(
const
uint16_t
regionIn,
const
uint16_t
layerIn,
const
uint16_t
phiIn,
const
uint16_t
crate_regionIn,
20
const
uint16_t
crateIn) {
21
uint16_t
result
= (regionIn &
m_bitmask
[
region
]) <<
m_bitshift
[
region
] | (layerIn &
m_bitmask
[
layer
]) <<
m_bitshift
[
layer
] |
22
(phiIn &
m_bitmask
[
phi
]) <<
m_bitshift
[
phi
] |
23
(crate_regionIn &
m_bitmask
[
crate_region
]) <<
m_bitshift
[
crate_region
] |
24
(crateIn &
m_bitmask
[
crate
]) <<
m_bitshift
[
crate
];
25
26
return
result
;
27
}
28
29
static
uint16_t
decode
(
const
uint16_t
value
,
const
uint16_t
field
) {
return
(
value
>>
m_bitshift
[
field
]) &
m_bitmask
[
field
]; }
30
};
get_generator_info.result
result
Definition:
get_generator_info.py:21
MdtHistCoder::encode
static uint16_t encode(const uint16_t regionIn, const uint16_t layerIn, const uint16_t phiIn, const uint16_t crate_regionIn, const uint16_t crateIn)
Definition:
MdtHistCoder.h:19
athena.value
value
Definition:
athena.py:122
ReadOfcFromCool.field
field
Definition:
ReadOfcFromCool.py:48
MdtHistCoder::region
@ region
Definition:
MdtHistCoder.h:7
MdtHistCoder::crate
@ crate
Definition:
MdtHistCoder.h:7
MdtHistCoder::phi
@ phi
Definition:
MdtHistCoder.h:7
MdtHistCoder
Definition:
MdtHistCoder.h:5
xAOD::uint16_t
setWord1 uint16_t
Definition:
eFexEMRoI_v1.cxx:88
MdtHistCoder::m_bitshift
static constexpr std::array< uint16_t, 5 > m_bitshift
Definition:
MdtHistCoder.h:10
MdtHistCoder::crate_region
@ crate_region
Definition:
MdtHistCoder.h:7
MdtHistCoder::m_bitmask
static constexpr std::array< uint16_t, 5 > m_bitmask
Definition:
MdtHistCoder.h:11
MdtHistCoder::layer
@ layer
Definition:
MdtHistCoder.h:7
MdtHistCoder::decode
static uint16_t decode(const uint16_t value, const uint16_t field)
Definition:
MdtHistCoder.h:29
Generated on Thu Jul 4 2024 21:21:25 for ATLAS Offline Software by
1.8.18