Monarch  v3.8.2
Project 8 Data File Format Library
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
Monarch2 Class Reference

#include <M2Monarch.hh>

Public Member Functions

 ~Monarch2 ()
 
void ReadHeader () const
 
const M2HeaderGetHeader () const
 
void SetInterface (InterfaceModeType aMode) const
 
bool ReadRecord (int anOffset=0) const
 
const M2RecordBytesGetRecordInterleaved () const
 
const M2RecordBytesGetRecordSeparateOne () const
 
const M2RecordBytesGetRecordSeparateTwo () const
 
void Close () const
 
void WriteHeader ()
 
M2HeaderGetHeader ()
 
void SetInterface (InterfaceModeType aMode)
 
bool WriteRecord ()
 
M2RecordBytesGetRecordInterleaved ()
 
M2RecordBytesGetRecordSeparateOne ()
 
M2RecordBytesGetRecordSeparateTwo ()
 
void Close ()
 

Static Public Member Functions

static const Monarch2OpenForReading (const std::string &filename)
 
static Monarch2OpenForWriting (const std::string &filename)
 

Private Types

enum  State { eOpen, eReady, eClosed }
 

Private Member Functions

 Monarch2 ()
 
bool InterleavedFromSingle (int anOffset) const
 
bool InterleavedFromSeparate (int anOffset) const
 
bool InterleavedFromInterleaved (int anOffset) const
 
bool SeparateFromSingle (int anOffset) const
 
bool SeparateFromSeparate (int anOffset) const
 
bool SeparateFromInterleaved (int anOffset) const
 
bool InterleavedToSingle ()
 
bool InterleavedToSeparate ()
 
bool InterleavedToInterleaved ()
 
bool SeparateToSingle ()
 
bool SeparateToSeparate ()
 
bool SeparateToInterleaved ()
 

Static Private Member Functions

static void Zip (const size_t aSize, const size_t aDataTypeSize, const byte_type *aRecordOne, const byte_type *aRecordTwo, byte_type *anInterleavedRecord)
 
static void Unzip (const size_t aSize, const size_t aDataTypeSize, byte_type *aRecordOne, byte_type *aRecordTwo, const byte_type *anInterleavedRecord)
 

Private Attributes

State fState
 
M2IOfIO
 
M2HeaderfHeader
 
size_t fDataTypeSize
 
size_t fDataNBytes
 
size_t fDataSize
 
size_t fInterleavedRecordNBytes
 
M2RecordBytesfRecordInterleaved
 
byte_typefRecordInterleavedBytes
 
size_t fSeparateRecordNBytes
 
M2RecordBytesfRecordSeparateOne
 
byte_typefRecordSeparateOneBytes
 
M2RecordBytesfRecordSeparateTwo
 
byte_typefRecordSeparateTwoBytes
 
bool(Monarch2::* fReadFunction )(int anOffset) const
 
bool(Monarch2::* fWriteFunction )()
 

Detailed Description

Definition at line 13 of file M2Monarch.hh.

Member Enumeration Documentation

◆ State

enum State
private
Enumerator
eOpen 
eReady 
eClosed 

Definition at line 24 of file M2Monarch.hh.

Constructor & Destructor Documentation

◆ Monarch2()

Monarch2 ( )
private

Definition at line 7 of file M2Monarch.cc.

◆ ~Monarch2()

~Monarch2 ( )

Definition at line 26 of file M2Monarch.cc.

Member Function Documentation

◆ Close() [1/2]

void Close ( ) const

Definition at line 665 of file M2Monarch.cc.

◆ Close() [2/2]

void Close ( )

Definition at line 674 of file M2Monarch.cc.

◆ GetHeader() [1/2]

const M2Header * GetHeader ( ) const
inline

Definition at line 182 of file M2Monarch.hh.

◆ GetHeader() [2/2]

M2Header * GetHeader ( )
inline

Definition at line 186 of file M2Monarch.hh.

◆ GetRecordInterleaved() [1/2]

const M2RecordBytes * GetRecordInterleaved ( ) const
inline

Definition at line 209 of file M2Monarch.hh.

◆ GetRecordInterleaved() [2/2]

M2RecordBytes * GetRecordInterleaved ( )
inline

Definition at line 213 of file M2Monarch.hh.

◆ GetRecordSeparateOne() [1/2]

const M2RecordBytes * GetRecordSeparateOne ( ) const
inline

Definition at line 191 of file M2Monarch.hh.

◆ GetRecordSeparateOne() [2/2]

M2RecordBytes * GetRecordSeparateOne ( )
inline

Definition at line 195 of file M2Monarch.hh.

◆ GetRecordSeparateTwo() [1/2]

const M2RecordBytes * GetRecordSeparateTwo ( ) const
inline

Definition at line 200 of file M2Monarch.hh.

◆ GetRecordSeparateTwo() [2/2]

M2RecordBytes * GetRecordSeparateTwo ( )
inline

Definition at line 204 of file M2Monarch.hh.

◆ InterleavedFromInterleaved()

bool InterleavedFromInterleaved ( int  anOffset) const
private

Definition at line 446 of file M2Monarch.cc.

◆ InterleavedFromSeparate()

bool InterleavedFromSeparate ( int  anOffset) const
private

Definition at line 405 of file M2Monarch.cc.

◆ InterleavedFromSingle()

bool InterleavedFromSingle ( int  anOffset) const
private

Definition at line 378 of file M2Monarch.cc.

◆ InterleavedToInterleaved()

bool InterleavedToInterleaved ( )
private

Definition at line 610 of file M2Monarch.cc.

◆ InterleavedToSeparate()

bool InterleavedToSeparate ( )
private

Definition at line 587 of file M2Monarch.cc.

◆ InterleavedToSingle()

bool InterleavedToSingle ( )
private

Definition at line 576 of file M2Monarch.cc.

◆ OpenForReading()

const Monarch2 * OpenForReading ( const std::string &  filename)
static

Definition at line 62 of file M2Monarch.cc.

◆ OpenForWriting()

Monarch2 * OpenForWriting ( const std::string &  filename)
static

Definition at line 82 of file M2Monarch.cc.

◆ ReadHeader()

void ReadHeader ( ) const

Definition at line 102 of file M2Monarch.cc.

◆ ReadRecord()

bool ReadRecord ( int  anOffset = 0) const

Definition at line 373 of file M2Monarch.cc.

◆ SeparateFromInterleaved()

bool SeparateFromInterleaved ( int  anOffset) const
private

Definition at line 536 of file M2Monarch.cc.

◆ SeparateFromSeparate()

bool SeparateFromSeparate ( int  anOffset) const
private

Definition at line 500 of file M2Monarch.cc.

◆ SeparateFromSingle()

bool SeparateFromSingle ( int  anOffset) const
private

Definition at line 473 of file M2Monarch.cc.

◆ SeparateToInterleaved()

bool SeparateToInterleaved ( )
private

Definition at line 649 of file M2Monarch.cc.

◆ SeparateToSeparate()

bool SeparateToSeparate ( )
private

Definition at line 632 of file M2Monarch.cc.

◆ SeparateToSingle()

bool SeparateToSingle ( )
private

Definition at line 621 of file M2Monarch.cc.

◆ SetInterface() [1/2]

void SetInterface ( InterfaceModeType  aMode) const

Definition at line 303 of file M2Monarch.cc.

◆ SetInterface() [2/2]

void SetInterface ( InterfaceModeType  aMode)

Definition at line 338 of file M2Monarch.cc.

◆ Unzip()

void Unzip ( const size_t  aSize,
const size_t  aDataTypeSize,
byte_type aRecordOne,
byte_type aRecordTwo,
const byte_type anInterleavedRecord 
)
inlinestaticprivate

Definition at line 239 of file M2Monarch.hh.

◆ WriteHeader()

void WriteHeader ( )

Definition at line 202 of file M2Monarch.cc.

◆ WriteRecord()

bool WriteRecord ( )

Definition at line 571 of file M2Monarch.cc.

◆ Zip()

void Zip ( const size_t  aSize,
const size_t  aDataTypeSize,
const byte_type aRecordOne,
const byte_type aRecordTwo,
byte_type anInterleavedRecord 
)
inlinestaticprivate

Definition at line 221 of file M2Monarch.hh.

Member Data Documentation

◆ fDataNBytes

size_t fDataNBytes
mutableprivate

Definition at line 124 of file M2Monarch.hh.

◆ fDataSize

size_t fDataSize
mutableprivate

Definition at line 126 of file M2Monarch.hh.

◆ fDataTypeSize

size_t fDataTypeSize
mutableprivate

Definition at line 121 of file M2Monarch.hh.

◆ fHeader

M2Header* fHeader
mutableprivate

Definition at line 118 of file M2Monarch.hh.

◆ fInterleavedRecordNBytes

size_t fInterleavedRecordNBytes
mutableprivate

Definition at line 129 of file M2Monarch.hh.

◆ fIO

M2IO* fIO
private

Definition at line 115 of file M2Monarch.hh.

◆ fReadFunction

bool(Monarch2::* fReadFunction) (int anOffset) const
mutableprivate

Definition at line 150 of file M2Monarch.hh.

◆ fRecordInterleaved

M2RecordBytes* fRecordInterleaved
mutableprivate

Definition at line 132 of file M2Monarch.hh.

◆ fRecordInterleavedBytes

byte_type* fRecordInterleavedBytes
mutableprivate

Definition at line 134 of file M2Monarch.hh.

◆ fRecordSeparateOne

M2RecordBytes* fRecordSeparateOne
mutableprivate

Definition at line 140 of file M2Monarch.hh.

◆ fRecordSeparateOneBytes

byte_type* fRecordSeparateOneBytes
mutableprivate

Definition at line 142 of file M2Monarch.hh.

◆ fRecordSeparateTwo

M2RecordBytes* fRecordSeparateTwo
mutableprivate

Definition at line 145 of file M2Monarch.hh.

◆ fRecordSeparateTwoBytes

byte_type* fRecordSeparateTwoBytes
mutableprivate

Definition at line 147 of file M2Monarch.hh.

◆ fSeparateRecordNBytes

size_t fSeparateRecordNBytes
mutableprivate

Definition at line 137 of file M2Monarch.hh.

◆ fState

State fState
mutableprivate

Definition at line 30 of file M2Monarch.hh.

◆ fWriteFunction

bool(Monarch2::* fWriteFunction) ()
mutableprivate

Definition at line 159 of file M2Monarch.hh.


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