Main Page
Namespaces
Classes
Package Documentation
src
IOPool
Streamer
src
FRDEventMessage.cc
Go to the documentation of this file.
1
12
#include "
IOPool/Streamer/interface/FRDEventMessage.h
"
13
17
FRDEventMsgView::FRDEventMsgView
(
void
* buf)
18
: buf_((
uint8
*)buf),
19
payload_(
nullptr
),
20
size_(0),
21
version_(0),
22
run_(0),
23
lumi_(0),
24
event_
(0),
25
eventSize_(0),
26
paddingSize_(0),
27
adler32_(0),
28
crc32c_(0) {
29
uint32
* bufPtr =
static_cast<
uint32
*
>
(buf);
30
version_
= *bufPtr;
31
// if the version number is rather large, then we assume that the true
32
// version number is one. (In version one of the format, there was
33
// no version number in the data, and the run number appeared first.)
34
if
(
version_
>= 32) {
35
version_
= 1;
36
}
37
38
size_
= 0;
39
40
// version number
41
if
(
version_
>= 2) {
42
size_
+=
sizeof
(
uint32
);
43
++bufPtr;
44
}
45
46
// run number
47
run_
= *bufPtr;
48
size_
+=
sizeof
(
uint32
);
49
++bufPtr;
50
51
// lumi number
52
if
(
version_
>= 2) {
53
lumi_
= *bufPtr;
54
size_
+=
sizeof
(
uint32
);
55
++bufPtr;
56
}
57
58
// event number
59
if
(
version_
== 4) {
60
uint64
eventLow = *bufPtr;
61
size_
+=
sizeof
(
uint32
);
62
++bufPtr;
63
64
uint64
eventHigh = *bufPtr;
65
size_
+=
sizeof
(
uint32
);
66
++bufPtr;
67
68
event_
= (eventHigh << 32) | eventLow;
69
70
}
else
{
71
event_
= *bufPtr;
72
size_
+=
sizeof
(
uint32
);
73
++bufPtr;
74
}
75
76
if
(
version_
>= 3) {
77
// event size
78
eventSize_
= *bufPtr;
79
size_
+=
sizeof
(
uint32
) +
eventSize_
;
80
++bufPtr;
81
82
if
(
version_
>= 5) {
83
crc32c_
= *bufPtr;
84
size_
+=
sizeof
(
uint32
);
85
++bufPtr;
86
}
else
{
87
// padding size up to V4
88
paddingSize_
= *bufPtr;
89
size_
+=
sizeof
(
uint32
) +
paddingSize_
;
90
++bufPtr;
91
92
adler32_
= *bufPtr;
93
size_
+=
sizeof
(
uint32
);
94
++bufPtr;
95
}
96
}
else
{
97
for
(
int
idx
= 0;
idx
< 1024;
idx
++) {
98
size_
+=
sizeof
(
uint32
);
// FED N size
99
size_
+= *bufPtr;
// FED N data
100
eventSize_
+= *bufPtr;
101
++bufPtr;
102
}
103
}
104
105
payload_
= (
void
*)bufPtr;
106
}
FRDEventMsgView::lumi_
uint32 lumi_
Definition:
FRDEventMessage.h:130
FRDEventMsgView::version_
uint32 version_
Definition:
FRDEventMessage.h:128
FRDEventMsgView::crc32c_
uint32 crc32c_
Definition:
FRDEventMessage.h:135
FRDEventMsgView::adler32_
uint32 adler32_
Definition:
FRDEventMessage.h:134
FRDEventMsgView::FRDEventMsgView
FRDEventMsgView(void *buf)
Definition:
FRDEventMessage.cc:17
nullptr
#define nullptr
Definition:
GCC11Compatibility.h:37
FRDEventMsgView::eventSize_
uint32 eventSize_
Definition:
FRDEventMessage.h:132
FRDEventMsgView::paddingSize_
uint32 paddingSize_
Definition:
FRDEventMessage.h:133
FRDEventMsgView::payload_
void * payload_
Definition:
FRDEventMessage.h:126
uint32
unsigned int uint32
Definition:
MsgTools.h:13
FRDEventMsgView::run_
uint32 run_
Definition:
FRDEventMessage.h:129
FRDEventMsgView::event_
uint64 event_
Definition:
FRDEventMessage.h:131
uint64
unsigned long long uint64
Definition:
MsgTools.h:14
training_settings.idx
idx
Definition:
training_settings.py:16
uint8
unsigned char uint8
Definition:
MsgTools.h:11
event_
void event_()
FRDEventMsgView::size_
uint32 size_
Definition:
FRDEventMessage.h:127
FRDEventMessage.h
Generated for CMSSW Reference Manual by
1.8.11