ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
ForwardDetectors
LUCID
LUCID_RawEvent
LUCID_RawEvent
LUCID_RawData.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
7
// Coding of the RDO
9
// word0: LUCID-A - PMTs
10
// bits 0- 7: Connector A EPMC1 bits 0-7 (ordered)
11
// bits 8-15: Connector B EPMC1 bits 0-7 (ordered)
12
// bits 16-23: Connector C EPMC1 bits 0-7 (not used, always 0)
13
// bits 24-32: numer of bits set to 1: Counting of fired PMT side A
14
// word1: LUCID-C - PMTs
15
// bits 0- 7: Connector D EPMC1 bits 0-7 (ordered)
16
// bits 8-15: Connector E EPMC1 bits 0-7 (ordered)
17
// bits 16-23: Connector F EPMC1 bits 0-7 (not used, always 0)
18
// bits 24-32: numer of bits set to 1: Counting of fired PMT side C
19
// word2: LUCID-A - FIBERs
20
// bits 0- 7: Connector A EPMC1 bits 0-7 (ordered)
21
// bits 8-15: Connector B EPMC1 bits 0-7 (not used, always 0)
22
// bits 16-23: Connector C EPMC1 bits 0-7 (not used, always 0)
23
// bits 24-32: numer of bits set to 1: Counting of fired FIBERS side A
24
// word3: LUCID-C - FIBERs
25
// bits 0- 7: Connector D EPMC1 bits 0-7 (ordered)
26
// bits 8-15: Connector E EPMC1 bits 0-7 (not used, always 0)
27
// bits 16-23: Connector F EPMC1 bits 0-7 (not used, always 0)
28
// bits 24-32: numer of bits set to 1: Counting of fired FIBERS side C
30
31
#ifndef LUCID_RAWDATA_H
32
#define LUCID_RAWDATA_H
33
34
#include <vector>
35
#include <iostream>
36
#include <iomanip>
37
#include <stdint.h>
38
#include <sstream>
39
40
class
LUCID_RawData
{
41
42
public
:
43
44
LUCID_RawData
();
45
LUCID_RawData
(
const
unsigned
int
word0,
46
const
unsigned
int
word1,
47
const
unsigned
int
word2,
48
const
unsigned
int
word3,
49
const
unsigned
int
word0p,
50
const
unsigned
int
word1p,
51
const
unsigned
int
word2p,
52
const
unsigned
int
word3p,
53
const
unsigned
int
word0n,
54
const
unsigned
int
word1n,
55
const
unsigned
int
word2n,
56
const
unsigned
int
word3n,
57
const
unsigned
int
status);
58
59
LUCID_RawData
(std::vector<uint32_t>& data_block);
60
61
virtual
~LUCID_RawData
();
62
63
inline
int
getWord0
()
const
{
return
m_word0
; }
64
inline
int
getWord1
()
const
{
return
m_word1
; }
65
inline
int
getWord2
()
const
{
return
m_word2
; }
66
inline
int
getWord3
()
const
{
return
m_word3
; }
67
68
inline
int
getWord0p
()
const
{
return
m_word0p
; }
69
inline
int
getWord1p
()
const
{
return
m_word1p
; }
70
inline
int
getWord2p
()
const
{
return
m_word2p
; }
71
inline
int
getWord3p
()
const
{
return
m_word3p
; }
72
73
inline
int
getWord0n
()
const
{
return
m_word0n
; }
74
inline
int
getWord1n
()
const
{
return
m_word1n
; }
75
inline
int
getWord2n
()
const
{
return
m_word2n
; }
76
inline
int
getWord3n
()
const
{
return
m_word3n
; }
77
78
inline
int
getStatus
()
const
{
return
m_status
; }
79
80
inline
void
setWord0
(uint32_t word) {
m_word0
= word; }
81
inline
void
setWord1
(uint32_t word) {
m_word1
= word; }
82
inline
void
setWord2
(uint32_t word) {
m_word2
= word; }
83
inline
void
setWord3
(uint32_t word) {
m_word3
= word; }
84
85
inline
void
setWord0p
(uint32_t word) {
m_word0p
= word; }
86
inline
void
setWord1p
(uint32_t word) {
m_word1p
= word; }
87
inline
void
setWord2p
(uint32_t word) {
m_word2p
= word; }
88
inline
void
setWord3p
(uint32_t word) {
m_word3p
= word; }
89
90
inline
void
setWord0n
(uint32_t word) {
m_word0n
= word; }
91
inline
void
setWord1n
(uint32_t word) {
m_word1n
= word; }
92
inline
void
setWord2n
(uint32_t word) {
m_word2n
= word; }
93
inline
void
setWord3n
(uint32_t word) {
m_word3n
= word; }
94
95
inline
void
setStatus
(uint32_t status) {
m_status
= status; }
96
97
inline
std::vector<uint32_t>
getDataBlock
()
const
{
98
99
std::vector<uint32_t> returnDB;
100
101
returnDB.push_back(
m_word0
);
102
returnDB.push_back(
m_word1
);
103
returnDB.push_back(
m_word2
);
104
returnDB.push_back(
m_word3
);
105
106
return
returnDB;
107
}
108
109
void
encodeLumatMapping
(
void
);
110
void
decodeLumatMapping
(
void
);
111
static
int
getLumatBitPosition
(
unsigned
int
tubeNumber) ;
112
bool
isTubeFired
(
unsigned
int
tubeNumber,
unsigned
int
bxID)
const
;
113
114
inline
int
getNhitsPMTsideA
()
const
{
return
(
m_word0
>>24); }
115
inline
int
getNhitsPMTsideC
()
const
{
return
(
m_word1
>>24); }
116
inline
int
getNhitsFIBsideA
()
const
{
return
(
m_word2
>>24); }
117
inline
int
getNhitsFIBsideC
()
const
{
return
(
m_word3
>>24); }
118
119
inline
int
getNhitsPMTsideAprevBX
()
const
{
return
(
m_word0p
>>24); }
120
inline
int
getNhitsPMTsideCprevBX
()
const
{
return
(
m_word1p
>>24); }
121
inline
int
getNhitsFIBsideAprevBX
()
const
{
return
(
m_word2p
>>24); }
122
inline
int
getNhitsFIBsideCprevBX
()
const
{
return
(
m_word3p
>>24); }
123
124
inline
int
getNhitsPMTsideAnextBX
()
const
{
return
(
m_word0n
>>24); }
125
inline
int
getNhitsPMTsideCnextBX
()
const
{
return
(
m_word1n
>>24); }
126
inline
int
getNhitsFIBsideAnextBX
()
const
{
return
(
m_word2n
>>24); }
127
inline
int
getNhitsFIBsideCnextBX
()
const
{
return
(
m_word3n
>>24); }
128
129
std::string
str
()
const
{
130
131
std::ostringstream ost;
132
133
ost << std::endl
134
<< std::hex
135
<<
" word0 : "
<<
m_word0
<< std::endl
136
<<
" word1 : "
<<
m_word1
<< std::endl
137
<<
" word2 : "
<<
m_word2
<< std::endl
138
<<
" word3 : "
<<
m_word3
<< std::endl
139
<<
" word0p: "
<<
m_word0p
<< std::endl
140
<<
" word1p: "
<<
m_word1p
<< std::endl
141
<<
" word2p: "
<<
m_word2p
<< std::endl
142
<<
" word3p: "
<<
m_word3p
<< std::endl
143
<<
" word0n: "
<<
m_word0n
<< std::endl
144
<<
" word1n: "
<<
m_word1n
<< std::endl
145
<<
" word2n: "
<<
m_word2n
<< std::endl
146
<<
" word3n: "
<<
m_word3n
<< std::endl
147
<<
" status: "
<<
m_status
<< std::endl
148
<< std::dec
149
<<
" hitsPMTsideA: "
<<
getNhitsPMTsideA
() << std::endl
150
<<
" hitsPMTsideC: "
<<
getNhitsPMTsideC
() << std::endl
151
<<
" hitsFIBsideA: "
<<
getNhitsFIBsideA
() << std::endl
152
<<
" hitsFIBsideC: "
<<
getNhitsFIBsideC
() << std::endl
153
<<
" hitsPMTsideAprevBX: "
<<
getNhitsPMTsideAprevBX
() << std::endl
154
<<
" hitsPMTsideCprevBX: "
<<
getNhitsPMTsideCprevBX
() << std::endl
155
<<
" hitsFIBsideAprevBX: "
<<
getNhitsFIBsideAprevBX
() << std::endl
156
<<
" hitsFIBsideCprevBX: "
<<
getNhitsFIBsideCprevBX
() << std::endl
157
<<
" hitsPMTsideAnextBX: "
<<
getNhitsPMTsideAnextBX
() << std::endl
158
<<
" hitsPMTsideCnextBX: "
<<
getNhitsPMTsideCnextBX
() << std::endl
159
<<
" hitsFIBsideAnextBX: "
<<
getNhitsFIBsideAnextBX
() << std::endl
160
<<
" hitsFIBsideCnextBX: "
<<
getNhitsFIBsideCnextBX
() << std::endl;
161
162
return
ost.str();
163
}
164
165
std::ostream&
operator<<
(std::ostream& os) { os <<
str
();
return
os; }
166
167
private
:
168
169
unsigned
int
m_word0
;
// central BX
170
unsigned
int
m_word1
;
// central BX
171
unsigned
int
m_word2
;
// central BX
172
unsigned
int
m_word3
;
// central BX
173
174
unsigned
int
m_word0p
;
// prevoius BX
175
unsigned
int
m_word1p
;
// prevoius BX
176
unsigned
int
m_word2p
;
// prevoius BX
177
unsigned
int
m_word3p
;
// prevoius BX
178
179
unsigned
int
m_word0n
;
// next BX
180
unsigned
int
m_word1n
;
// next BX
181
unsigned
int
m_word2n
;
// next BX
182
unsigned
int
m_word3n
;
// next BX
183
184
unsigned
int
m_status
;
185
};
186
187
#endif
// LUCID_RAWDATA_H
LUCID_RawData::getWord2n
int getWord2n() const
Definition
LUCID_RawData.h:75
LUCID_RawData::getWord1p
int getWord1p() const
Definition
LUCID_RawData.h:69
LUCID_RawData::getLumatBitPosition
static int getLumatBitPosition(unsigned int tubeNumber)
Definition
LUCID_RawData.cxx:160
LUCID_RawData::setWord3p
void setWord3p(uint32_t word)
Definition
LUCID_RawData.h:88
LUCID_RawData::setWord1n
void setWord1n(uint32_t word)
Definition
LUCID_RawData.h:91
LUCID_RawData::m_word2p
unsigned int m_word2p
Definition
LUCID_RawData.h:176
LUCID_RawData::getWord2p
int getWord2p() const
Definition
LUCID_RawData.h:70
LUCID_RawData::getNhitsFIBsideCprevBX
int getNhitsFIBsideCprevBX() const
Definition
LUCID_RawData.h:122
LUCID_RawData::m_word2n
unsigned int m_word2n
Definition
LUCID_RawData.h:181
LUCID_RawData::getWord1
int getWord1() const
Definition
LUCID_RawData.h:64
LUCID_RawData::getWord2
int getWord2() const
Definition
LUCID_RawData.h:65
LUCID_RawData::m_word3n
unsigned int m_word3n
Definition
LUCID_RawData.h:182
LUCID_RawData::LUCID_RawData
LUCID_RawData()
Definition
LUCID_RawData.cxx:7
LUCID_RawData::encodeLumatMapping
void encodeLumatMapping(void)
Definition
LUCID_RawData.cxx:281
LUCID_RawData::setWord0p
void setWord0p(uint32_t word)
Definition
LUCID_RawData.h:85
LUCID_RawData::getNhitsPMTsideAnextBX
int getNhitsPMTsideAnextBX() const
Definition
LUCID_RawData.h:124
LUCID_RawData::getWord3n
int getWord3n() const
Definition
LUCID_RawData.h:76
LUCID_RawData::setWord2
void setWord2(uint32_t word)
Definition
LUCID_RawData.h:82
LUCID_RawData::setWord3n
void setWord3n(uint32_t word)
Definition
LUCID_RawData.h:93
LUCID_RawData::getNhitsFIBsideA
int getNhitsFIBsideA() const
Definition
LUCID_RawData.h:116
LUCID_RawData::getNhitsFIBsideAprevBX
int getNhitsFIBsideAprevBX() const
Definition
LUCID_RawData.h:121
LUCID_RawData::getNhitsFIBsideC
int getNhitsFIBsideC() const
Definition
LUCID_RawData.h:117
LUCID_RawData::m_word0p
unsigned int m_word0p
Definition
LUCID_RawData.h:174
LUCID_RawData::m_word1p
unsigned int m_word1p
Definition
LUCID_RawData.h:175
LUCID_RawData::getStatus
int getStatus() const
Definition
LUCID_RawData.h:78
LUCID_RawData::setWord0
void setWord0(uint32_t word)
Definition
LUCID_RawData.h:80
LUCID_RawData::m_word3
unsigned int m_word3
Definition
LUCID_RawData.h:172
LUCID_RawData::setWord2p
void setWord2p(uint32_t word)
Definition
LUCID_RawData.h:87
LUCID_RawData::getWord0n
int getWord0n() const
Definition
LUCID_RawData.h:73
LUCID_RawData::getDataBlock
std::vector< uint32_t > getDataBlock() const
Definition
LUCID_RawData.h:97
LUCID_RawData::getWord3p
int getWord3p() const
Definition
LUCID_RawData.h:71
LUCID_RawData::operator<<
std::ostream & operator<<(std::ostream &os)
Definition
LUCID_RawData.h:165
LUCID_RawData::getNhitsPMTsideA
int getNhitsPMTsideA() const
Definition
LUCID_RawData.h:114
LUCID_RawData::setStatus
void setStatus(uint32_t status)
Definition
LUCID_RawData.h:95
LUCID_RawData::m_word3p
unsigned int m_word3p
Definition
LUCID_RawData.h:177
LUCID_RawData::~LUCID_RawData
virtual ~LUCID_RawData()
Definition
LUCID_RawData.cxx:113
LUCID_RawData::isTubeFired
bool isTubeFired(unsigned int tubeNumber, unsigned int bxID) const
Definition
LUCID_RawData.cxx:115
LUCID_RawData::m_word0n
unsigned int m_word0n
Definition
LUCID_RawData.h:179
LUCID_RawData::setWord1
void setWord1(uint32_t word)
Definition
LUCID_RawData.h:81
LUCID_RawData::getNhitsPMTsideCprevBX
int getNhitsPMTsideCprevBX() const
Definition
LUCID_RawData.h:120
LUCID_RawData::getWord1n
int getWord1n() const
Definition
LUCID_RawData.h:74
LUCID_RawData::m_word2
unsigned int m_word2
Definition
LUCID_RawData.h:171
LUCID_RawData::m_word0
unsigned int m_word0
Definition
LUCID_RawData.h:169
LUCID_RawData::m_status
unsigned int m_status
Definition
LUCID_RawData.h:184
LUCID_RawData::m_word1
unsigned int m_word1
Definition
LUCID_RawData.h:170
LUCID_RawData::getNhitsFIBsideCnextBX
int getNhitsFIBsideCnextBX() const
Definition
LUCID_RawData.h:127
LUCID_RawData::getWord0
int getWord0() const
Definition
LUCID_RawData.h:63
LUCID_RawData::setWord0n
void setWord0n(uint32_t word)
Definition
LUCID_RawData.h:90
LUCID_RawData::setWord2n
void setWord2n(uint32_t word)
Definition
LUCID_RawData.h:92
LUCID_RawData::getNhitsPMTsideCnextBX
int getNhitsPMTsideCnextBX() const
Definition
LUCID_RawData.h:125
LUCID_RawData::getWord3
int getWord3() const
Definition
LUCID_RawData.h:66
LUCID_RawData::getNhitsFIBsideAnextBX
int getNhitsFIBsideAnextBX() const
Definition
LUCID_RawData.h:126
LUCID_RawData::getWord0p
int getWord0p() const
Definition
LUCID_RawData.h:68
LUCID_RawData::setWord1p
void setWord1p(uint32_t word)
Definition
LUCID_RawData.h:86
LUCID_RawData::m_word1n
unsigned int m_word1n
Definition
LUCID_RawData.h:180
LUCID_RawData::setWord3
void setWord3(uint32_t word)
Definition
LUCID_RawData.h:83
LUCID_RawData::decodeLumatMapping
void decodeLumatMapping(void)
Definition
LUCID_RawData.cxx:205
LUCID_RawData::str
std::string str() const
Definition
LUCID_RawData.h:129
LUCID_RawData::getNhitsPMTsideAprevBX
int getNhitsPMTsideAprevBX() const
Definition
LUCID_RawData.h:119
LUCID_RawData::getNhitsPMTsideC
int getNhitsPMTsideC() const
Definition
LUCID_RawData.h:115
Generated on
for ATLAS Offline Software by
1.17.0