ATLAS Offline Software
Loading...
Searching...
No Matches
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
};
MdtHistCoder
Definition
MdtHistCoder.h:5
MdtHistCoder::decode
static uint16_t decode(const uint16_t value, const uint16_t field)
Definition
MdtHistCoder.h:29
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
MdtHistCoder::m_bitmask
static constexpr std::array< uint16_t, 5 > m_bitmask
Definition
MdtHistCoder.h:11
MdtHistCoder::crate
@ crate
Definition
MdtHistCoder.h:7
MdtHistCoder::layer
@ layer
Definition
MdtHistCoder.h:7
MdtHistCoder::phi
@ phi
Definition
MdtHistCoder.h:7
MdtHistCoder::crate_region
@ crate_region
Definition
MdtHistCoder.h:7
MdtHistCoder::region
@ region
Definition
MdtHistCoder.h:7
MdtHistCoder::m_bitshift
static constexpr std::array< uint16_t, 5 > m_bitshift
Definition
MdtHistCoder.h:10
result
Generated on
for ATLAS Offline Software by
1.14.0