ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCnv
MuonMDT_CnvTools
src
MdtCsmReadOut.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef MUONBYTESTREAM_MDTCSMREADOUT_H
6
#define MUONBYTESTREAM_MDTCSMREADOUT_H
7
8
#include <stdint.h>
9
10
#include "
MdtReadOut.h
"
11
12
// Decoding methods for an MDT Csm block
13
// S. Rosati Feb 2003
14
15
class
MdtCsmReadOut
:
public
MdtReadOut
{
16
private
:
17
// Raw data word and word header
18
uint32_t
m_dataWord
;
19
uint16_t
m_wordHeader
;
20
21
// Decoded data
22
uint32_t
m_lvl1Id
;
// Lvl1 Id
23
uint32_t
m_clwc
;
// Link word count
24
uint16_t
m_ftyp
;
// flag type
25
uint32_t
m_flags
;
// flags
26
27
uint16_t
m_ecnt
;
// Event counter
28
uint16_t
m_ctwc
;
// Trailer word count
29
30
uint16_t
m_mrodId
;
// MROD number
31
uint16_t
m_csmId
;
// CSM Link number
32
bool
m_error
;
// Error flag
33
bool
m_zeroSupp
;
// TDC zero-suppressed flag
34
35
// Word header Position and values
36
// The word header occupies the 8 highest bits of each CSM word
37
static
constexpr
uint16_t
s_headerPos
= 24;
38
static
constexpr
uint16_t
s_headerBits
= 0xff;
39
40
// Beginning of buffer
41
static
constexpr
uint16_t
s_BOBvalue
= 0x80;
42
// Link Word Count: first word of a CSM link block
43
static
constexpr
uint16_t
s_LWCvalue
= 0x81;
44
// Beginning of Link: signals which CSM link is giving its data
45
static
constexpr
uint16_t
s_BOLvalue
= 0x18;
46
// TDC Link Present
47
static
constexpr
uint16_t
s_TLPvalue
= 0x89;
48
// Trailer Word Count: last word of a CSM link block
49
static
constexpr
uint16_t
s_TWCvalue
= 0x8a;
50
// End of Block (end of data from the CSMs)
51
static
constexpr
uint16_t
s_EOBvalue
= 0xf0;
52
53
public
:
54
MdtCsmReadOut
();
55
~MdtCsmReadOut
() =
default
;
56
57
void
decodeWord
(uint32_t dataWord);
58
59
bool
is_BOB
()
const
{
return
m_wordHeader
==
s_BOBvalue
; };
60
bool
is_LWC
()
const
{
return
m_wordHeader
==
s_LWCvalue
; };
61
bool
is_BOL
()
const
{
return
m_wordHeader
==
s_BOLvalue
; };
62
bool
is_TLP
()
const
{
return
m_wordHeader
==
s_TLPvalue
; };
63
bool
is_TWC
()
const
{
return
m_wordHeader
==
s_TWCvalue
; };
64
bool
is_EOB
()
const
{
return
m_wordHeader
==
s_EOBvalue
; };
65
66
// Methods to access the decoded information
67
uint32_t
lvl1Id
()
const
{
return
m_lvl1Id
; }
68
uint32_t
clwc
()
const
{
return
m_clwc
; }
69
uint16_t
ftyp
()
const
{
return
m_ftyp
; }
70
uint32_t
flags
()
const
{
return
m_flags
; }
71
uint16_t
ecnt
()
const
{
return
m_ecnt
; }
72
uint16_t
ctwc
()
const
{
return
m_ctwc
; }
73
uint16_t
mrodId
()
const
{
return
m_mrodId
; }
74
uint16_t
csmId
()
const
{
return
m_csmId
; }
75
76
// Word encoders
77
uint32_t
makeBOB
(uint32_t
lvl1Id
);
78
uint32_t
makeLWC
(uint32_t
clwc
);
79
uint32_t
makeBOL
(uint16_t
mrodId
, uint16_t
csmId
);
80
uint32_t
makeTLP
(uint32_t
flags
);
81
uint32_t
makeTWC
(uint16_t
ecnt
, uint16_t
ctwc
);
82
uint32_t
makeEOB
(uint32_t wcnt);
83
84
private
:
85
// Private methods
86
void
setZero
();
87
};
88
89
#endif
// MUONBYTESTREAM_MDTCSMREADOUT_H
MdtReadOut.h
MdtCsmReadOut::m_clwc
uint32_t m_clwc
Definition
MdtCsmReadOut.h:23
MdtCsmReadOut::s_BOLvalue
static constexpr uint16_t s_BOLvalue
Definition
MdtCsmReadOut.h:45
MdtCsmReadOut::makeEOB
uint32_t makeEOB(uint32_t wcnt)
Definition
MdtCsmReadOut.cxx:93
MdtCsmReadOut::s_TWCvalue
static constexpr uint16_t s_TWCvalue
Definition
MdtCsmReadOut.h:49
MdtCsmReadOut::is_TWC
bool is_TWC() const
Definition
MdtCsmReadOut.h:63
MdtCsmReadOut::setZero
void setZero()
Definition
MdtCsmReadOut.cxx:101
MdtCsmReadOut::s_EOBvalue
static constexpr uint16_t s_EOBvalue
Definition
MdtCsmReadOut.h:51
MdtCsmReadOut::ftyp
uint16_t ftyp() const
Definition
MdtCsmReadOut.h:69
MdtCsmReadOut::m_ftyp
uint16_t m_ftyp
Definition
MdtCsmReadOut.h:24
MdtCsmReadOut::ctwc
uint16_t ctwc() const
Definition
MdtCsmReadOut.h:72
MdtCsmReadOut::is_BOB
bool is_BOB() const
Definition
MdtCsmReadOut.h:59
MdtCsmReadOut::m_error
bool m_error
Definition
MdtCsmReadOut.h:32
MdtCsmReadOut::flags
uint32_t flags() const
Definition
MdtCsmReadOut.h:70
MdtCsmReadOut::s_TLPvalue
static constexpr uint16_t s_TLPvalue
Definition
MdtCsmReadOut.h:47
MdtCsmReadOut::makeBOB
uint32_t makeBOB(uint32_t lvl1Id)
Definition
MdtCsmReadOut.cxx:51
MdtCsmReadOut::makeTLP
uint32_t makeTLP(uint32_t flags)
Definition
MdtCsmReadOut.cxx:77
MdtCsmReadOut::is_EOB
bool is_EOB() const
Definition
MdtCsmReadOut.h:64
MdtCsmReadOut::~MdtCsmReadOut
~MdtCsmReadOut()=default
MdtCsmReadOut::m_csmId
uint16_t m_csmId
Definition
MdtCsmReadOut.h:31
MdtCsmReadOut::s_headerPos
static constexpr uint16_t s_headerPos
Definition
MdtCsmReadOut.h:37
MdtCsmReadOut::csmId
uint16_t csmId() const
Definition
MdtCsmReadOut.h:74
MdtCsmReadOut::m_mrodId
uint16_t m_mrodId
Definition
MdtCsmReadOut.h:30
MdtCsmReadOut::s_LWCvalue
static constexpr uint16_t s_LWCvalue
Definition
MdtCsmReadOut.h:43
MdtCsmReadOut::is_TLP
bool is_TLP() const
Definition
MdtCsmReadOut.h:62
MdtCsmReadOut::MdtCsmReadOut
MdtCsmReadOut()
Definition
MdtCsmReadOut.cxx:12
MdtCsmReadOut::decodeWord
void decodeWord(uint32_t dataWord)
Definition
MdtCsmReadOut.cxx:26
MdtCsmReadOut::m_ctwc
uint16_t m_ctwc
Definition
MdtCsmReadOut.h:28
MdtCsmReadOut::ecnt
uint16_t ecnt() const
Definition
MdtCsmReadOut.h:71
MdtCsmReadOut::s_BOBvalue
static constexpr uint16_t s_BOBvalue
Definition
MdtCsmReadOut.h:41
MdtCsmReadOut::m_zeroSupp
bool m_zeroSupp
Definition
MdtCsmReadOut.h:33
MdtCsmReadOut::is_BOL
bool is_BOL() const
Definition
MdtCsmReadOut.h:61
MdtCsmReadOut::m_dataWord
uint32_t m_dataWord
Definition
MdtCsmReadOut.h:18
MdtCsmReadOut::is_LWC
bool is_LWC() const
Definition
MdtCsmReadOut.h:60
MdtCsmReadOut::makeLWC
uint32_t makeLWC(uint32_t clwc)
Definition
MdtCsmReadOut.cxx:59
MdtCsmReadOut::m_wordHeader
uint16_t m_wordHeader
Definition
MdtCsmReadOut.h:19
MdtCsmReadOut::makeBOL
uint32_t makeBOL(uint16_t mrodId, uint16_t csmId)
Definition
MdtCsmReadOut.cxx:67
MdtCsmReadOut::s_headerBits
static constexpr uint16_t s_headerBits
Definition
MdtCsmReadOut.h:38
MdtCsmReadOut::mrodId
uint16_t mrodId() const
Definition
MdtCsmReadOut.h:73
MdtCsmReadOut::clwc
uint32_t clwc() const
Definition
MdtCsmReadOut.h:68
MdtCsmReadOut::lvl1Id
uint32_t lvl1Id() const
Definition
MdtCsmReadOut.h:67
MdtCsmReadOut::makeTWC
uint32_t makeTWC(uint16_t ecnt, uint16_t ctwc)
Definition
MdtCsmReadOut.cxx:85
MdtCsmReadOut::m_flags
uint32_t m_flags
Definition
MdtCsmReadOut.h:25
MdtCsmReadOut::m_ecnt
uint16_t m_ecnt
Definition
MdtCsmReadOut.h:27
MdtCsmReadOut::m_lvl1Id
uint32_t m_lvl1Id
Definition
MdtCsmReadOut.h:22
MdtReadOut::MdtReadOut
MdtReadOut()
Definition
MdtReadOut.cxx:11
Generated on
for ATLAS Offline Software by
1.17.0