ATLAS Offline Software
ForwardDetectors
ZDC
ZdcCnv
ZdcByteStream
ZdcByteStream
ZdcUserHeader.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 ZDCUSERHEADER_H
6
#define ZDCUSERHEADER_H
7
8
#include <stdint.h>
9
24
class
ZdcUserHeader
{
25
26
public
:
27
29
ZdcUserHeader
(
uint32_t
header
= 0xf0000001);
30
32
uint32_t
header
()
const
;
33
35
int
words
()
const
;
36
37
// Return triggered slice offsets
38
int
ppmLut
()
const
;
39
int
ppmFadc
()
const
;
40
42
int
lowerBound
()
const
;
43
44
// Set triggered slice offsets
45
void
setPpmLut
(
int
offset
);
46
void
setPpmFadc
(
int
offset
);
47
49
void
setLowerBound
(
int
bound);
50
52
void
setVersion
(
int
minorVersion);
53
55
static
bool
isValid
(
uint32_t
word);
56
57
private
:
58
// Packed word bit positions version 1
59
static
const
int
s_wordIdBit
= 28;
60
static
const
int
s_ppmLutBit
= 8;
61
static
const
int
s_ppmFadcBit
= 4;
62
// Packed word bit positions version 2 (no cmms)
63
static
const
int
s_lowerBoundBit
= 20;
64
static
const
int
s_ppmLutBitV2
= 9;
65
static
const
int
s_ppmFadcBitV2
= 4;
67
static
const
uint32_t
s_mask
= 0xf;
68
// Version 2 masks
69
static
const
uint32_t
s_lowerBoundMask
= 0xff;
70
static
const
uint32_t
s_ppmLutMaskV2
= 0x7;
71
static
const
uint32_t
s_ppmFadcMaskV2
= 0x1f;
73
static
const
int
s_version1
= 0x1001;
75
uint32_t
m_header
;
77
bool
m_version2
;
78
79
};
80
81
inline
uint32_t
ZdcUserHeader::header
()
const
82
{
83
return
m_header
;
84
}
85
86
inline
int
ZdcUserHeader::words
()
const
87
{
88
return
m_header
&
s_mask
;
89
}
90
91
92
inline
int
ZdcUserHeader::ppmLut
()
const
93
{
94
return
(
m_version2
) ? (
m_header
>>
s_ppmLutBitV2
) &
s_ppmLutMaskV2
95
: (
m_header
>>
s_ppmLutBit
) &
s_mask
;
96
}
97
98
inline
int
ZdcUserHeader::ppmFadc
()
const
99
{
100
return
(
m_version2
) ? (
m_header
>>
s_ppmFadcBitV2
) &
s_ppmFadcMaskV2
101
: (
m_header
>>
s_ppmFadcBit
) &
s_mask
;
102
}
103
104
inline
int
ZdcUserHeader::lowerBound
()
const
105
{
106
return
(
m_version2
) ? (
m_header
>>
s_lowerBoundBit
) &
s_lowerBoundMask
107
: 0;
108
}
109
110
inline
void
ZdcUserHeader::setPpmLut
(
const
int
offset
)
111
{
112
m_header
|= (
m_version2
) ? (
s_ppmLutMaskV2
&
offset
) <<
s_ppmLutBitV2
113
: (
s_mask
&
offset
) <<
s_ppmLutBit
;
114
}
115
116
inline
void
ZdcUserHeader::setPpmFadc
(
const
int
offset
)
117
{
118
m_header
|= (
m_version2
) ? (
s_ppmFadcMaskV2
&
offset
) <<
s_ppmFadcBitV2
119
: (
s_mask
&
offset
) <<
s_ppmFadcBit
;
120
}
121
122
inline
void
ZdcUserHeader::setLowerBound
(
const
int
bound)
123
{
124
if
(
m_version2
)
m_header
|= (
s_lowerBoundMask
& bound) <<
s_lowerBoundBit
;
125
}
126
127
inline
void
ZdcUserHeader::setVersion
(
const
int
minorVersion)
128
{
129
m_version2
= (minorVersion >
s_version1
);
130
}
131
132
#endif
ZdcUserHeader::s_version1
static const int s_version1
Version 1 minor format version number.
Definition:
ZdcUserHeader.h:73
ZdcUserHeader::s_lowerBoundMask
static const uint32_t s_lowerBoundMask
Definition:
ZdcUserHeader.h:69
header
Definition:
hcg.cxx:526
ZdcUserHeader::setVersion
void setVersion(int minorVersion)
Set version flag.
Definition:
ZdcUserHeader.h:127
ZdcUserHeader::s_ppmFadcMaskV2
static const uint32_t s_ppmFadcMaskV2
Definition:
ZdcUserHeader.h:71
ZdcUserHeader::lowerBound
int lowerBound() const
Return FADC lower bound.
Definition:
ZdcUserHeader.h:104
xAOD::uint32_t
setEventNumber uint32_t
Definition:
EventInfo_v1.cxx:127
ZdcUserHeader::s_mask
static const uint32_t s_mask
Field mask.
Definition:
ZdcUserHeader.h:67
ZdcUserHeader::setPpmFadc
void setPpmFadc(int offset)
Definition:
ZdcUserHeader.h:116
ZdcUserHeader::ppmFadc
int ppmFadc() const
Definition:
ZdcUserHeader.h:98
ZdcUserHeader::header
uint32_t header() const
Return packed header.
Definition:
ZdcUserHeader.h:81
ZdcUserHeader::s_ppmFadcBit
static const int s_ppmFadcBit
Definition:
ZdcUserHeader.h:61
ZdcUserHeader::s_ppmFadcBitV2
static const int s_ppmFadcBitV2
Definition:
ZdcUserHeader.h:65
ZdcUserHeader::m_version2
bool m_version2
Version flag.
Definition:
ZdcUserHeader.h:77
ZdcUserHeader::setLowerBound
void setLowerBound(int bound)
Set FADC lower bound.
Definition:
ZdcUserHeader.h:122
ZdcUserHeader::s_ppmLutBit
static const int s_ppmLutBit
ZdcUserHeader.
Definition:
ZdcUserHeader.h:60
ZdcUserHeader::s_wordIdBit
static const int s_wordIdBit
Definition:
ZdcUserHeader.h:59
ZdcUserHeader::ppmLut
int ppmLut() const
Definition:
ZdcUserHeader.h:92
ZdcUserHeader::m_header
uint32_t m_header
Packed Header.
Definition:
ZdcUserHeader.h:75
ZdcUserHeader::isValid
static bool isValid(uint32_t word)
Test for valid header word.
Definition:
ZdcUserHeader.cxx:43
ZdcUserHeader::s_lowerBoundBit
static const int s_lowerBoundBit
Definition:
ZdcUserHeader.h:63
ZdcUserHeader
L1Calo User Header class.
Definition:
ZdcUserHeader.h:24
convertTimingResiduals.offset
offset
Definition:
convertTimingResiduals.py:71
ZdcUserHeader::s_ppmLutBitV2
static const int s_ppmLutBitV2
Definition:
ZdcUserHeader.h:64
ZdcUserHeader::setPpmLut
void setPpmLut(int offset)
Definition:
ZdcUserHeader.h:110
ZdcUserHeader::words
int words() const
Return number of header words (should be one)
Definition:
ZdcUserHeader.h:86
ZdcUserHeader::ZdcUserHeader
ZdcUserHeader(uint32_t header=0xf0000001)
Constructor - default just sets word ID and number of header words.
Definition:
ZdcUserHeader.cxx:36
ZdcUserHeader::s_ppmLutMaskV2
static const uint32_t s_ppmLutMaskV2
Definition:
ZdcUserHeader.h:70
Generated on Thu Nov 7 2024 21:32:24 for ATLAS Offline Software by
1.8.18