32 mFile.open(inFilename, std::ios::binary);
33 if (!mFile.is_open()) {
34 std::cerr <<
"Cannot open the " << inFilename <<
" file !";
38 mReadContinuous = readContinuous;
42void RawFileReader::read(
size_t nBytes)
45 size_t currentIndex = mBytes.size();
46 mBytes.resize(currentIndex + nBytes);
47 mFile.read(
reinterpret_cast<char*
>(&(mBytes[currentIndex])), nBytes);
62 rdh.
word1 |= offsetToNext;
63 rdh.
word1 |= (memorySize << 16);
67bool RawFileReader::replaceRDH(
size_t headerIndex)
72 if (o2::raw::RDHUtils::getOffsetToNext(mCustomRDH) > 0) {
86 bool isHBClosed =
false;
89 size_t headerIndex = mBytes.size();
99 mBytes.resize(headerIndex);
100 if (mReadContinuous) {
102 mFile.seekg(0, std::ios::beg);
109 replaceRDH(headerIndex);
112 auto lastIt = parser.
begin();
113 for (
auto it = parser.
begin(),
end = parser.
end(); it !=
end; ++it) {
117 isHBClosed = o2::raw::RDHUtils::getStop(rdhPtr);
118 auto offsetNext = o2::raw::RDHUtils::getOffsetToNext(rdhPtr);
119 if (offsetNext > sHeaderSize) {
120 read(offsetNext - sHeaderSize);
122 if (!sendCompleteHBs) {
Generic parser for consecutive raw pages.
const_iterator begin() const
const_iterator end() const
void setCustomPayloadSize(uint16_t memorySize=0x2000, uint16_t offsetToNext=0x2000)
bool readHB(bool sendCompleteHBs=false)
void setCustomRDH(const header::RAWDataHeader &rdh)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...