LDMX Software
Packing
src
Packing
RogueFrameHeader.cxx
1
#include "Packing/RogueFrameHeader.h"
2
3
namespace
packing {
4
5
utility::Reader
&
RogueFrameHeader::read
(
utility::Reader
& r) {
6
if
(!(r >>
size_
>>
flags_
>>
error_
>>
channel_
)) {
7
return
r;
8
}
9
10
// subtract 4 from size since 4 bytes after
11
// the bytes holding size have been read
12
size_
-= 4;
13
14
int
frame_start = r.
tell
();
15
r.
seek
(frame_start +
size_
- 1);
16
r >>
trailer_
;
17
// reset back to beginning of frame
18
r.
seek
(frame_start);
19
20
return
r;
21
}
22
23
}
// namespace packing
packing::RogueFrameHeader::size_
uint32_t size_
size of frame written by StreamWriter
Definition
RogueFrameHeader.h:42
packing::RogueFrameHeader::flags_
uint16_t flags_
extra flags written by StreamWriter
Definition
RogueFrameHeader.h:44
packing::RogueFrameHeader::channel_
uint8_t channel_
StreamWriter channel.
Definition
RogueFrameHeader.h:48
packing::RogueFrameHeader::error_
uint8_t error_
error flags written by StreamWriter
Definition
RogueFrameHeader.h:46
packing::RogueFrameHeader::trailer_
uint8_t trailer_
last byte stored in frame
Definition
RogueFrameHeader.h:58
packing::RogueFrameHeader::read
utility::Reader & read(utility::Reader &r)
read the next rogue frame header into memory
Definition
RogueFrameHeader.cxx:5
packing::utility::Reader
Reading a raw data file.
Definition
Reader.h:20
packing::utility::Reader::tell
int tell()
Tell us where the reader is.
Definition
Reader.h:88
packing::utility::Reader::seek
void seek(int off, std::ios_base::seekdir dir=std::ios::beg)
Go ("seek") a specific position in the file.
Definition
Reader.h:62
Generated by
1.12.0