BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Event/RawFile/include/RawFile/RawDataMining.h
Go to the documentation of this file.
1#ifndef _RAWDATAMINING_H_
2#define _RAWDATAMINING_H_
3
4#include "RawFile/RawFileUtil.h"
5#include "RawFile/RawDataCache.h"
6#include "RawFile/raw_ifstream.h"
7
8class RawDataMining final {
9public:
10 RawDataMining() = delete;
11 RawDataMining( const std::string& filename );
13
14 // file structure
15 FileStartRecord& fileStartRecord() { return m_ifstream->fileStartRecord(); }
16 FileNameStrings& fileNameStrings() { return m_ifstream->fileNameStrings(); }
17 RunParametersRecord& runParametersRecord() { return m_ifstream->runParametersRecord(); }
18 FileEndRecord& fileEndRecord() { return m_fileEndRecord; }
19
20 // event data
21 DataSeparatorRecord& dataSeparatorRecord() { return m_dataSeparatorRecord; }
22 uint32_t* nextEvent();
23
24 // ...
25 bool eof() { return m_eof; }
26 void dump();
27
28private:
29 bool m_eof{ false };
30 raw_ifstream* m_ifstream{ nullptr };
31 RawDataCache* m_cache{ nullptr };
32
33 const std::string m_fname;
34 DataSeparatorRecord m_dataSeparatorRecord;
35 FileEndRecord m_fileEndRecord;
36};
37
38#endif
uint32_t * nextEvent()
RawDataMining()=delete