ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
ForwardDetectors
ALFA
ALFA_EventCnv
ALFA_RawDataByteStreamCnv
ALFA_RawDataByteStreamCnv
ALFA_RawDataContainerReadOut.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ALFA_RAWDATACONTAINERREADOUT_H
6
#define ALFA_RAWDATACONTAINERREADOUT_H
7
8
#include "
ALFA_ReadOut.h
"
9
#include "
ALFA_RawDataReadOut_charge.h
"
10
11
#include <stdint.h>
12
#include <vector>
13
14
#include "eformat/SourceIdentifier.h"
15
#include "eformat/Version.h"
16
#include "
ByteStreamData/RawEvent.h
"
17
18
#include "
ALFA_RawEv/ALFA_RawDataContainer.h
"
19
#include "
ALFA_RawEv/ALFA_RawDataCollection.h
"
20
#include "
ALFA_RawEv/ALFA_RawData.h
"
21
22
#include "
ALFA_RawEv/ALFA_RawDataContainer_charge.h
"
23
#include "
ALFA_RawEv/ALFA_RawDataCollection_charge.h
"
24
#include "
ALFA_RawEv/ALFA_RawData_charge.h
"
25
26
27
// Decoding methods for a ROD
28
// S. Diglio
29
30
class
ALFA_RawDataContainerReadOut
:
public
ALFA_ReadOut
31
{
32
33
private
:
34
35
// Raw data word and word header
36
37
uint32_t
m_wordMarker
;
38
39
// Data members
40
uint16_t
m_subdetId
;
// Sub-detector Id
41
uint16_t
m_mrodId
;
// MROD Id
42
uint32_t
m_lvl1Id
;
// Lvl1 Id
43
uint16_t
m_ecrId
;
// ECR Id
44
uint16_t
m_bcId
;
// Bunch crossing Id
45
uint32_t
m_runNum
;
// Run sequence number
46
uint16_t
m_runType
;
// Run Type
47
uint16_t
m_triggerTypeId
;
// Trigger type Id
48
uint32_t
m_DetEventType
;
// Detector Event Type
49
50
51
uint32_t
m_timestamp
;
// timestamp
52
uint32_t
m_BCId
;
// Bunch Crossing Id
53
54
55
// Data words in the ROD header
56
57
// Full Event marker
58
static
constexpr
uint32_t
s_FullEVmarker
= 0xaa1234aa;
59
// ROB marker
60
static
constexpr
uint32_t
s_ROBmarker
= 0xdd1234dd;
61
// ROD marker
62
static
constexpr
uint32_t
s_RODmarker
= 0xee1234ee;
63
64
static
constexpr
uint32_t
s_RODheadersize
= 0x00000009;
65
static
constexpr
uint32_t
s_RODversion
= 0x03010000;
66
67
public
:
68
ALFA_RawDataContainerReadOut
();
69
70
bool
is_FullEVmarker
()
const
{
return
m_wordMarker
==
s_FullEVmarker
;}
71
bool
is_ROBmarker
()
const
{
return
m_wordMarker
==
s_ROBmarker
;}
72
bool
is_RODmarker
()
const
{
return
m_wordMarker
==
s_RODmarker
;}
73
74
75
void
decodeWord
(uint32_t dataWord);
76
void
decodeHeader
(std::vector<uint32_t>& vData);
77
void
decodeHeaderFull
(std::vector<uint32_t>& );
78
79
80
81
// Retrieve decoded results
82
uint16_t
subdetId
()
const
{
return
m_subdetId
;}
83
uint16_t
mrodId
()
const
{
return
m_mrodId
;}
84
uint32_t
runNum
()
const
{
return
m_runNum
;}
85
uint16_t
runType
()
const
{
return
m_runType
;}
86
uint32_t
lvl1Id
()
const
{
return
m_lvl1Id
;}
87
uint16_t
ecrId
()
const
{
return
m_ecrId
;}
88
uint16_t
bcId
()
const
{
return
m_bcId
;}
89
uint16_t
trigtypeId
()
const
{
return
m_triggerTypeId
;}
90
uint32_t
DetEventType
()
const
{
return
m_DetEventType
;}
91
92
uint32_t
TimeStamp
()
const
{
return
m_timestamp
;}
93
uint32_t
BCId
()
const
{
return
m_BCId
;}
94
95
private
:
96
97
// Private functions
98
void
setZero
();
99
void
setZeroFull
();
100
};
// ALFA_RODREADOUT_H
101
102
#endif
ALFA_RawDataCollection.h
ALFA_RawDataCollection_charge.h
ALFA_RawDataContainer.h
ALFA_RawDataContainer_charge.h
ALFA_RawDataReadOut_charge.h
ALFA_RawData.h
ALFA_RawData_charge.h
ALFA_ReadOut.h
RawEvent.h
ALFA_RawDataContainerReadOut::m_lvl1Id
uint32_t m_lvl1Id
Definition
ALFA_RawDataContainerReadOut.h:42
ALFA_RawDataContainerReadOut::m_timestamp
uint32_t m_timestamp
Definition
ALFA_RawDataContainerReadOut.h:51
ALFA_RawDataContainerReadOut::m_ecrId
uint16_t m_ecrId
Definition
ALFA_RawDataContainerReadOut.h:43
ALFA_RawDataContainerReadOut::m_triggerTypeId
uint16_t m_triggerTypeId
Definition
ALFA_RawDataContainerReadOut.h:47
ALFA_RawDataContainerReadOut::m_bcId
uint16_t m_bcId
Definition
ALFA_RawDataContainerReadOut.h:44
ALFA_RawDataContainerReadOut::decodeHeaderFull
void decodeHeaderFull(std::vector< uint32_t > &)
Definition
ALFA_RawDataContainerReadOut.cxx:31
ALFA_RawDataContainerReadOut::m_mrodId
uint16_t m_mrodId
Definition
ALFA_RawDataContainerReadOut.h:41
ALFA_RawDataContainerReadOut::DetEventType
uint32_t DetEventType() const
Definition
ALFA_RawDataContainerReadOut.h:90
ALFA_RawDataContainerReadOut::runNum
uint32_t runNum() const
Definition
ALFA_RawDataContainerReadOut.h:84
ALFA_RawDataContainerReadOut::TimeStamp
uint32_t TimeStamp() const
Definition
ALFA_RawDataContainerReadOut.h:92
ALFA_RawDataContainerReadOut::BCId
uint32_t BCId() const
Definition
ALFA_RawDataContainerReadOut.h:93
ALFA_RawDataContainerReadOut::s_ROBmarker
static constexpr uint32_t s_ROBmarker
Definition
ALFA_RawDataContainerReadOut.h:60
ALFA_RawDataContainerReadOut::m_DetEventType
uint32_t m_DetEventType
Definition
ALFA_RawDataContainerReadOut.h:48
ALFA_RawDataContainerReadOut::is_ROBmarker
bool is_ROBmarker() const
Definition
ALFA_RawDataContainerReadOut.h:71
ALFA_RawDataContainerReadOut::bcId
uint16_t bcId() const
Definition
ALFA_RawDataContainerReadOut.h:88
ALFA_RawDataContainerReadOut::subdetId
uint16_t subdetId() const
Definition
ALFA_RawDataContainerReadOut.h:82
ALFA_RawDataContainerReadOut::setZeroFull
void setZeroFull()
Definition
ALFA_RawDataContainerReadOut.cxx:119
ALFA_RawDataContainerReadOut::mrodId
uint16_t mrodId() const
Definition
ALFA_RawDataContainerReadOut.h:83
ALFA_RawDataContainerReadOut::s_RODmarker
static constexpr uint32_t s_RODmarker
Definition
ALFA_RawDataContainerReadOut.h:62
ALFA_RawDataContainerReadOut::s_RODheadersize
static constexpr uint32_t s_RODheadersize
Definition
ALFA_RawDataContainerReadOut.h:64
ALFA_RawDataContainerReadOut::decodeHeader
void decodeHeader(std::vector< uint32_t > &vData)
Definition
ALFA_RawDataContainerReadOut.cxx:55
ALFA_RawDataContainerReadOut::m_subdetId
uint16_t m_subdetId
Definition
ALFA_RawDataContainerReadOut.h:40
ALFA_RawDataContainerReadOut::is_FullEVmarker
bool is_FullEVmarker() const
Definition
ALFA_RawDataContainerReadOut.h:70
ALFA_RawDataContainerReadOut::runType
uint16_t runType() const
Definition
ALFA_RawDataContainerReadOut.h:85
ALFA_RawDataContainerReadOut::m_runType
uint16_t m_runType
Definition
ALFA_RawDataContainerReadOut.h:46
ALFA_RawDataContainerReadOut::setZero
void setZero()
Definition
ALFA_RawDataContainerReadOut.cxx:106
ALFA_RawDataContainerReadOut::m_runNum
uint32_t m_runNum
Definition
ALFA_RawDataContainerReadOut.h:45
ALFA_RawDataContainerReadOut::decodeWord
void decodeWord(uint32_t dataWord)
Definition
ALFA_RawDataContainerReadOut.cxx:26
ALFA_RawDataContainerReadOut::s_RODversion
static constexpr uint32_t s_RODversion
Definition
ALFA_RawDataContainerReadOut.h:65
ALFA_RawDataContainerReadOut::ALFA_RawDataContainerReadOut
ALFA_RawDataContainerReadOut()
Definition
ALFA_RawDataContainerReadOut.cxx:10
ALFA_RawDataContainerReadOut::lvl1Id
uint32_t lvl1Id() const
Definition
ALFA_RawDataContainerReadOut.h:86
ALFA_RawDataContainerReadOut::m_BCId
uint32_t m_BCId
Definition
ALFA_RawDataContainerReadOut.h:52
ALFA_RawDataContainerReadOut::trigtypeId
uint16_t trigtypeId() const
Definition
ALFA_RawDataContainerReadOut.h:89
ALFA_RawDataContainerReadOut::ecrId
uint16_t ecrId() const
Definition
ALFA_RawDataContainerReadOut.h:87
ALFA_RawDataContainerReadOut::m_wordMarker
uint32_t m_wordMarker
Definition
ALFA_RawDataContainerReadOut.h:37
ALFA_RawDataContainerReadOut::is_RODmarker
bool is_RODmarker() const
Definition
ALFA_RawDataContainerReadOut.h:72
ALFA_RawDataContainerReadOut::s_FullEVmarker
static constexpr uint32_t s_FullEVmarker
Definition
ALFA_RawDataContainerReadOut.h:58
ALFA_ReadOut::ALFA_ReadOut
ALFA_ReadOut()
Definition
ALFA_ReadOut.cxx:10
Generated on
for ATLAS Offline Software by
1.17.0