LDMX Software
RogueFrameHeader.cxx
1#include "Packing/RogueFrameHeader.h"
2
3namespace packing {
4
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
uint32_t size_
size of frame written by StreamWriter
uint16_t flags_
extra flags written by StreamWriter
uint8_t channel_
StreamWriter channel.
uint8_t error_
error flags written by StreamWriter
uint8_t trailer_
last byte stored in frame
utility::Reader & read(utility::Reader &r)
read the next rogue frame header into memory
Reading a raw data file.
Definition Reader.h:20
int tell()
Tell us where the reader is.
Definition Reader.h:88
void seek(int off, std::ios_base::seekdir dir=std::ios::beg)
Go ("seek") a specific position in the file.
Definition Reader.h:62