BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
SimpleRawReader Class Reference

#include <SimpleRawReader.h>

Public Member Functions

 SimpleRawReader (const std::string &fname)
virtual ~SimpleRawReader ()
const uint32_t * nextEvent ()
raw_ifstreamraw_stream ()
 SimpleRawReader (const std::string &fname)
virtual ~SimpleRawReader ()
const uint32_t * nextEvent ()
raw_ifstreamraw_stream ()
 SimpleRawReader (const std::string &fname)
virtual ~SimpleRawReader ()
const uint32_t * nextEvent ()
raw_ifstreamraw_stream ()

Detailed Description

Constructor & Destructor Documentation

◆ SimpleRawReader() [1/3]

SimpleRawReader::SimpleRawReader ( const std::string & fname)

Definition at line 9 of file SimpleRawReader.cxx.

10 : m_bufferSize( DefaultEventBufferSize )
11 , m_buffer( new uint32_t[DefaultEventBufferSize] ) {
12 m_rfs = new raw_ifstream( std::vector<std::string>( 1, fname ) );
13}
#define DefaultEventBufferSize

◆ ~SimpleRawReader() [1/3]

SimpleRawReader::~SimpleRawReader ( )
virtual

Definition at line 15 of file SimpleRawReader.cxx.

15 {
16 delete[] m_buffer;
17 m_rfs->close();
18 delete m_rfs;
19}

◆ SimpleRawReader() [2/3]

SimpleRawReader::SimpleRawReader ( const std::string & fname)

◆ ~SimpleRawReader() [2/3]

virtual SimpleRawReader::~SimpleRawReader ( )
virtual

◆ SimpleRawReader() [3/3]

SimpleRawReader::SimpleRawReader ( const std::string & fname)

◆ ~SimpleRawReader() [3/3]

virtual SimpleRawReader::~SimpleRawReader ( )
virtual

Member Function Documentation

◆ nextEvent() [1/3]

const uint32_t * SimpleRawReader::nextEvent ( )

Definition at line 21 of file SimpleRawReader.cxx.

21 {
22 ( *m_rfs ) >> _dataSeparatorRecord;
23
24 uint32_t size = _dataSeparatorRecord.getRecord().data_block_size;
25 if ( size > m_bufferSize * 4 )
26 {
27 while ( size > m_bufferSize * 4 ) { m_bufferSize *= 2; }
28 delete[] m_buffer;
29 m_buffer = new uint32_t[m_bufferSize];
30 }
31
32 m_rfs->read( (char*)m_buffer, size );
33 if ( !m_rfs->good() )
34 {
35 // std::cerr << "[RawFile] Failed to read FullEventFragment to buffer" << std::endl;
36 throw BadInputStream( "event_data_block" );
37 }
38
39 return m_buffer;
40}
const data_separator_record & getRecord() const

◆ nextEvent() [2/3]

const uint32_t * SimpleRawReader::nextEvent ( )

◆ nextEvent() [3/3]

const uint32_t * SimpleRawReader::nextEvent ( )

◆ raw_stream() [1/3]

raw_ifstream * SimpleRawReader::raw_stream ( )
inline

Definition at line 14 of file Event/RawFile/include/RawFile/SimpleRawReader.h.

14{ return m_rfs; }

◆ raw_stream() [2/3]

raw_ifstream * SimpleRawReader::raw_stream ( )
inline

Definition at line 14 of file InstallArea/x86_64-el9-gcc13-dbg/include/RawFile/SimpleRawReader.h.

14{ return m_rfs; }

◆ raw_stream() [3/3]

raw_ifstream * SimpleRawReader::raw_stream ( )
inline

Definition at line 14 of file InstallArea/x86_64-el9-gcc13-opt/include/RawFile/SimpleRawReader.h.

14{ return m_rfs; }

The documentation for this class was generated from the following files: