ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
ForwardDetectors
ALFA
ALFA_EventCnv
ALFA_RawDataByteStreamCnv
ALFA_RawDataByteStreamCnv
ALFA_RawDataCollectionReadOut.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef RAWDATACOLLECTIONREADOUT_H
6
#define RAWDATACOLLECTIONREADOUT_H
7
8
#include "
ALFA_ReadOut.h
"
9
#include "
ALFA_RawDataReadOut.h
"
10
#include "
ALFA_RawDataReadOut_charge.h
"
11
#include <stdint.h>
12
13
#include "
AthenaBaseComps/AthAlgTool.h
"
14
15
#include "eformat/SourceIdentifier.h"
16
#include "eformat/Version.h"
17
#include "
ByteStreamData/RawEvent.h
"
18
19
#include "
ALFA_RawEv/ALFA_RawDataContainer.h
"
20
#include "
ALFA_RawEv/ALFA_RawDataCollection.h
"
21
#include "
ALFA_RawEv/ALFA_RawData.h
"
22
23
#include "
ALFA_RawEv/ALFA_RawDataContainer_charge.h
"
24
#include "
ALFA_RawEv/ALFA_RawDataCollection_charge.h
"
25
#include "
ALFA_RawEv/ALFA_RawData_charge.h
"
26
27
// Decoding methods for a block
28
// S. Diglio
29
30
31
class
ALFA_RawDataCollectionReadOut
:
public
ALFA_ReadOut
32
{
33
34
private
:
35
36
// Raw data word and word header
37
uint32_t
m_dataWord
;
38
uint16_t
m_wordHeader
;
39
uint16_t
m_wordHeader2
;
40
41
42
// Decoded data
43
uint32_t
m_lvl1Id
;
// Lvl1 Id bit 23-0 BOB
44
uint32_t
m_clwc
;
// MB word count bit 15-0 LWC: 2*18+3*22+LWC+BOL+TLP+TWC=0x6a
45
uint16_t
m_ftyp
;
// flag type
46
47
uint16_t
m_ecnt_LWC
;
// Event counter bit 19-16 LWC
48
uint16_t
m_ecnt_TWC
;
// Event counter bit 23-12 TWC
49
uint16_t
m_ecnt_EOB
;
// Event counter bit 15-0 EOB
50
51
uint16_t
m_ctwc
;
// Trailer word count bit 11-0 EOT
52
53
uint16_t
m_BOLflag
;
// Bol flags bit 23-16 BOL
54
55
uint16_t
m_MrodNum
;
// MROD number bit 15-4 BOL
56
uint16_t
m_RODinput
;
// ROD input bit 3-0 BOL
57
uint32_t
m_KaptId
;
// Kapton number bit 19-0 TLP
58
59
// Word header Position and values
60
// The word header occupies the 8 highest bits of each word
61
static
constexpr
uint16_t
s_headerPos
= 24;
62
static
constexpr
uint16_t
s_headerBits
= 0xff;
63
64
// Word header Position and values
65
// The word header occupies the 12 highest bits of each word
66
static
constexpr
uint16_t
s_headerPos2
= 20;
67
static
constexpr
uint16_t
s_headerBits2
= 0xfff;
68
69
// Beginning of buffer
70
static
constexpr
uint16_t
s_BOBvalue
= 0x80;
71
// Link Word Count: first word of a link block
72
static
constexpr
uint16_t
s_LWCvalue
= 0x810;
73
// Beginning of Link: signals which link is giving its data
74
static
constexpr
uint16_t
s_BOLvalue
= 0x18;
75
// TDC Link Present
76
static
constexpr
uint16_t
s_TLPvalue
= 0x890;
77
// Trailer Word Count: last word of a link block
78
static
constexpr
uint16_t
s_TWCvalue
= 0x8a;
79
// End of Block (end of data from the s)
80
static
constexpr
uint16_t
s_EOBvalue
= 0xf0;
81
82
public
:
83
ALFA_RawDataCollectionReadOut
();
84
85
void
decodeWord
(uint32_t dataWord);
86
87
bool
is_BOB
()
const
{
return
m_wordHeader
==
s_BOBvalue
;};
88
bool
is_LWC
()
const
{
return
m_wordHeader2
==
s_LWCvalue
;};
89
bool
is_BOL
()
const
{
return
m_wordHeader
==
s_BOLvalue
;};
90
bool
is_TLP
()
const
{
return
m_wordHeader2
==
s_TLPvalue
;};
91
bool
is_TWC
()
const
{
return
m_wordHeader
==
s_TWCvalue
;};
92
bool
is_EOB
()
const
{
return
m_wordHeader
==
s_EOBvalue
;};
93
94
// Methods to access the decoded information
95
uint32_t
lvl1Id
()
const
{
return
m_lvl1Id
;}
96
uint32_t
clwc
()
const
{
return
m_clwc
;}
97
uint16_t
BOLflag
()
const
{
return
m_BOLflag
;}
98
uint16_t
ftyp
()
const
{
return
m_ftyp
;}
99
100
uint16_t
ecnt_LWC
()
const
{
return
m_ecnt_LWC
;}
101
uint16_t
ecnt_TWC
()
const
{
return
m_ecnt_TWC
;}
102
uint16_t
ecnt_EOB
()
const
{
return
m_ecnt_EOB
;}
103
uint16_t
ctwc
()
const
{
return
m_ctwc
;}
104
uint16_t
MrodNum
()
const
{
return
m_MrodNum
;}
105
uint16_t
RODinput
()
const
{
return
m_RODinput
;}
106
uint16_t
KaptId
()
const
{
return
m_KaptId
;}
107
108
private
:
109
110
// Private methods
111
void
setZero
();
112
113
// Methods for the decoding
114
//ALFA_RawDataCollectionReadOut * m_ALFA_RawDataCollectionReadOut;
115
//ALFA_RawDataReadOut * m_ALFA_RawDataReadOut;
116
117
};
118
119
#endif
// RAWDATACOLLECTIONREADOUT_H
120
121
122
123
ALFA_RawDataCollection.h
ALFA_RawDataCollection_charge.h
ALFA_RawDataContainer.h
ALFA_RawDataContainer_charge.h
ALFA_RawDataReadOut.h
ALFA_RawDataReadOut_charge.h
ALFA_RawData.h
ALFA_RawData_charge.h
ALFA_ReadOut.h
AthAlgTool.h
RawEvent.h
ALFA_RawDataCollectionReadOut::s_headerPos
static constexpr uint16_t s_headerPos
Definition
ALFA_RawDataCollectionReadOut.h:61
ALFA_RawDataCollectionReadOut::s_LWCvalue
static constexpr uint16_t s_LWCvalue
Definition
ALFA_RawDataCollectionReadOut.h:72
ALFA_RawDataCollectionReadOut::RODinput
uint16_t RODinput() const
Definition
ALFA_RawDataCollectionReadOut.h:105
ALFA_RawDataCollectionReadOut::ecnt_LWC
uint16_t ecnt_LWC() const
Definition
ALFA_RawDataCollectionReadOut.h:100
ALFA_RawDataCollectionReadOut::m_MrodNum
uint16_t m_MrodNum
Definition
ALFA_RawDataCollectionReadOut.h:55
ALFA_RawDataCollectionReadOut::BOLflag
uint16_t BOLflag() const
Definition
ALFA_RawDataCollectionReadOut.h:97
ALFA_RawDataCollectionReadOut::m_wordHeader2
uint16_t m_wordHeader2
Definition
ALFA_RawDataCollectionReadOut.h:39
ALFA_RawDataCollectionReadOut::m_BOLflag
uint16_t m_BOLflag
Definition
ALFA_RawDataCollectionReadOut.h:53
ALFA_RawDataCollectionReadOut::m_ctwc
uint16_t m_ctwc
Definition
ALFA_RawDataCollectionReadOut.h:51
ALFA_RawDataCollectionReadOut::ctwc
uint16_t ctwc() const
Definition
ALFA_RawDataCollectionReadOut.h:103
ALFA_RawDataCollectionReadOut::m_lvl1Id
uint32_t m_lvl1Id
Definition
ALFA_RawDataCollectionReadOut.h:43
ALFA_RawDataCollectionReadOut::m_wordHeader
uint16_t m_wordHeader
Definition
ALFA_RawDataCollectionReadOut.h:38
ALFA_RawDataCollectionReadOut::m_ftyp
uint16_t m_ftyp
Definition
ALFA_RawDataCollectionReadOut.h:45
ALFA_RawDataCollectionReadOut::MrodNum
uint16_t MrodNum() const
Definition
ALFA_RawDataCollectionReadOut.h:104
ALFA_RawDataCollectionReadOut::clwc
uint32_t clwc() const
Definition
ALFA_RawDataCollectionReadOut.h:96
ALFA_RawDataCollectionReadOut::is_BOL
bool is_BOL() const
Definition
ALFA_RawDataCollectionReadOut.h:89
ALFA_RawDataCollectionReadOut::s_TLPvalue
static constexpr uint16_t s_TLPvalue
Definition
ALFA_RawDataCollectionReadOut.h:76
ALFA_RawDataCollectionReadOut::s_EOBvalue
static constexpr uint16_t s_EOBvalue
Definition
ALFA_RawDataCollectionReadOut.h:80
ALFA_RawDataCollectionReadOut::s_headerBits2
static constexpr uint16_t s_headerBits2
Definition
ALFA_RawDataCollectionReadOut.h:67
ALFA_RawDataCollectionReadOut::setZero
void setZero()
Definition
ALFA_RawDataCollectionReadOut.cxx:70
ALFA_RawDataCollectionReadOut::is_TWC
bool is_TWC() const
Definition
ALFA_RawDataCollectionReadOut.h:91
ALFA_RawDataCollectionReadOut::is_LWC
bool is_LWC() const
Definition
ALFA_RawDataCollectionReadOut.h:88
ALFA_RawDataCollectionReadOut::KaptId
uint16_t KaptId() const
Definition
ALFA_RawDataCollectionReadOut.h:106
ALFA_RawDataCollectionReadOut::m_ecnt_TWC
uint16_t m_ecnt_TWC
Definition
ALFA_RawDataCollectionReadOut.h:48
ALFA_RawDataCollectionReadOut::s_BOLvalue
static constexpr uint16_t s_BOLvalue
Definition
ALFA_RawDataCollectionReadOut.h:74
ALFA_RawDataCollectionReadOut::m_dataWord
uint32_t m_dataWord
Definition
ALFA_RawDataCollectionReadOut.h:37
ALFA_RawDataCollectionReadOut::ecnt_EOB
uint16_t ecnt_EOB() const
Definition
ALFA_RawDataCollectionReadOut.h:102
ALFA_RawDataCollectionReadOut::m_ecnt_EOB
uint16_t m_ecnt_EOB
Definition
ALFA_RawDataCollectionReadOut.h:49
ALFA_RawDataCollectionReadOut::ecnt_TWC
uint16_t ecnt_TWC() const
Definition
ALFA_RawDataCollectionReadOut.h:101
ALFA_RawDataCollectionReadOut::s_TWCvalue
static constexpr uint16_t s_TWCvalue
Definition
ALFA_RawDataCollectionReadOut.h:78
ALFA_RawDataCollectionReadOut::ftyp
uint16_t ftyp() const
Definition
ALFA_RawDataCollectionReadOut.h:98
ALFA_RawDataCollectionReadOut::lvl1Id
uint32_t lvl1Id() const
Definition
ALFA_RawDataCollectionReadOut.h:95
ALFA_RawDataCollectionReadOut::decodeWord
void decodeWord(uint32_t dataWord)
Definition
ALFA_RawDataCollectionReadOut.cxx:27
ALFA_RawDataCollectionReadOut::is_BOB
bool is_BOB() const
Definition
ALFA_RawDataCollectionReadOut.h:87
ALFA_RawDataCollectionReadOut::m_ecnt_LWC
uint16_t m_ecnt_LWC
Definition
ALFA_RawDataCollectionReadOut.h:47
ALFA_RawDataCollectionReadOut::s_BOBvalue
static constexpr uint16_t s_BOBvalue
Definition
ALFA_RawDataCollectionReadOut.h:70
ALFA_RawDataCollectionReadOut::is_EOB
bool is_EOB() const
Definition
ALFA_RawDataCollectionReadOut.h:92
ALFA_RawDataCollectionReadOut::s_headerBits
static constexpr uint16_t s_headerBits
Definition
ALFA_RawDataCollectionReadOut.h:62
ALFA_RawDataCollectionReadOut::ALFA_RawDataCollectionReadOut
ALFA_RawDataCollectionReadOut()
Definition
ALFA_RawDataCollectionReadOut.cxx:8
ALFA_RawDataCollectionReadOut::m_RODinput
uint16_t m_RODinput
Definition
ALFA_RawDataCollectionReadOut.h:56
ALFA_RawDataCollectionReadOut::m_KaptId
uint32_t m_KaptId
Definition
ALFA_RawDataCollectionReadOut.h:57
ALFA_RawDataCollectionReadOut::s_headerPos2
static constexpr uint16_t s_headerPos2
Definition
ALFA_RawDataCollectionReadOut.h:66
ALFA_RawDataCollectionReadOut::m_clwc
uint32_t m_clwc
Definition
ALFA_RawDataCollectionReadOut.h:44
ALFA_RawDataCollectionReadOut::is_TLP
bool is_TLP() const
Definition
ALFA_RawDataCollectionReadOut.h:90
ALFA_ReadOut::ALFA_ReadOut
ALFA_ReadOut()
Definition
ALFA_ReadOut.cxx:10
Generated on
for ATLAS Offline Software by
1.17.0