Monarch  v3.8.2
Project 8 Data File Format Library
Classes | Typedefs | Functions | Variables
monarch3 Namespace Reference

Classes

struct  is_same
 
struct  is_same< T, T >
 
class  M3ChannelHeader
 Single-channel header information. More...
 
class  M3ComplexDataReader
 Interface class for complex data types. More...
 
class  M3ComplexDataWriter
 Interface class for complex data types. More...
 
class  M3DataReader
 Interface class for a variety of data types. More...
 
class  M3DataWriter
 Interface class for a variety of data types. More...
 
class  M3Exception
 Specialized exception class for Monarch3. More...
 
class  M3Header
 Egg file header information. More...
 
class  M3Record
 Contains the information that makes up a record. More...
 
class  M3Stream
 Read/write access for a data stream. More...
 
class  M3StreamHeader
 Single-stream header information. More...
 
class  M3Version
 
struct  MH5Type
 
struct  MH5Type< bool >
 
struct  MH5Type< double >
 
struct  MH5Type< float >
 
struct  MH5Type< int16_t >
 
struct  MH5Type< int32_t >
 
struct  MH5Type< int64_t >
 
struct  MH5Type< int8_t >
 
struct  MH5Type< std::string >
 
struct  MH5Type< uint16_t >
 
struct  MH5Type< uint32_t >
 
struct  MH5Type< uint64_t >
 
struct  MH5Type< uint8_t >
 
class  Monarch3
 Egg file read/write access. More...
 
struct  staticassert
 
struct  staticassert< true >
 

Typedefs

typedef float f4_complex[2]
 Binary-compatible to fftwf_complex. More...
 
typedef double f8_complex[2]
 Binary-compatible to fftw_complex. More...
 
typedef uint8_t byte_type
 
typedef uint64_t AcquisitionIdType
 
typedef uint64_t RecordIdType
 
typedef uint64_t TimeType
 
typedef std::shared_ptr< std::mutex > mutex_ptr
 

Functions

static scarab::logger mlog ("M3Header")
 
static scarab::logger mlog_mheader ("M3Header.hh")
 
void u32toa (uint32_t value, char *buffer)
 Quickly convert a 32-bit unsigned integer to a char array (buffer should already be allocated) More...
 
void i32toa (int32_t value, char *buffer)
 Quickly convert a 32-bit signed integer to a char array (buffer should already be allocated) More...
 
void u64toa (uint64_t value, char *buffer)
 Quickly convert a 64-bit unsigned integer to a char array (buffer should already be allocated) More...
 
void i64toa (int64_t value, char *buffer)
 Quickly convert a 64-bit signed integer to a char array (buffer should already be allocated) More...
 
unsigned CountDecimalDigit32 (uint32_t n)
 
unsigned CountDecimalDigit64 (uint64_t n)
 
static scarab::logger mlog ("MMonarch3")
 
static scarab::logger mlog_mmonarch ("M3Monarch3.h")
 
static scarab::logger mlog ("M3Stream")
 

Variables

static const uint32_t sInvalidFormat = std::numeric_limits< uint32_t >::max()
 
static const uint32_t sDigitizedUS = 0
 
static const uint32_t sDigitizedS = 1
 
static const uint32_t sAnalog = 2
 
static const uint32_t sBitsAlignedLeft = 0
 
static const uint32_t sBitsAlignedRight = 1
 
static const uint32_t sInterleaved = 0
 Specifies whether the data channels are interleaved or separate in a stream. More...
 
static const uint32_t sSeparate = 1
 
const char gDigitsLut [200]
 

Typedef Documentation

◆ AcquisitionIdType

typedef uint64_t AcquisitionIdType

Definition at line 24 of file M3Types.hh.

◆ byte_type

typedef uint8_t byte_type

Definition at line 22 of file M3Types.hh.

◆ f4_complex

typedef float f4_complex[2]

Binary-compatible to fftwf_complex.

Definition at line 19 of file M3DataInterface.hh.

◆ f8_complex

typedef double f8_complex[2]

Binary-compatible to fftw_complex.

Definition at line 21 of file M3DataInterface.hh.

◆ mutex_ptr

typedef std::shared_ptr< std::mutex > mutex_ptr

Definition at line 28 of file M3Types.hh.

◆ RecordIdType

typedef uint64_t RecordIdType

Definition at line 25 of file M3Types.hh.

◆ TimeType

typedef uint64_t TimeType

Definition at line 26 of file M3Types.hh.

Function Documentation

◆ CountDecimalDigit32()

unsigned monarch3::CountDecimalDigit32 ( uint32_t  n)
inline

Definition at line 82 of file M3IToA.hh.

◆ CountDecimalDigit64()

unsigned monarch3::CountDecimalDigit64 ( uint64_t  n)
inline

Definition at line 122 of file M3IToA.hh.

◆ i32toa()

void i32toa ( int32_t  value,
char *  buffer 
)

Quickly convert a 32-bit signed integer to a char array (buffer should already be allocated)

Definition at line 68 of file M3IToA.cc.

◆ i64toa()

void i64toa ( int64_t  value,
char *  buffer 
)

Quickly convert a 64-bit signed integer to a char array (buffer should already be allocated)

Definition at line 130 of file M3IToA.cc.

◆ mlog() [1/3]

static scarab::logger monarch3::mlog ( "MMonarch3"  )
static

◆ mlog() [2/3]

static scarab::logger monarch3::mlog ( "M3Header"  )
static

◆ mlog() [3/3]

static scarab::logger monarch3::mlog ( "M3Stream"  )
static

◆ mlog_mheader()

static scarab::logger monarch3::mlog_mheader ( "M3Header.hh"  )
static

◆ mlog_mmonarch()

static scarab::logger monarch3::mlog_mmonarch ( "M3Monarch3.h"  )
static

◆ u32toa()

void u32toa ( uint32_t  value,
char *  buffer 
)

Quickly convert a 32-bit unsigned integer to a char array (buffer should already be allocated)

Definition at line 42 of file M3IToA.cc.

◆ u64toa()

void u64toa ( uint64_t  value,
char *  buffer 
)

Quickly convert a 64-bit unsigned integer to a char array (buffer should already be allocated)

Definition at line 78 of file M3IToA.cc.

Variable Documentation

◆ gDigitsLut

const char gDigitsLut[200]
Initial value:
= {
'0','0','0','1','0','2','0','3','0','4','0','5','0','6','0','7','0','8','0','9',
'1','0','1','1','1','2','1','3','1','4','1','5','1','6','1','7','1','8','1','9',
'2','0','2','1','2','2','2','3','2','4','2','5','2','6','2','7','2','8','2','9',
'3','0','3','1','3','2','3','3','3','4','3','5','3','6','3','7','3','8','3','9',
'4','0','4','1','4','2','4','3','4','4','4','5','4','6','4','7','4','8','4','9',
'5','0','5','1','5','2','5','3','5','4','5','5','5','6','5','7','5','8','5','9',
'6','0','6','1','6','2','6','3','6','4','6','5','6','6','6','7','6','8','6','9',
'7','0','7','1','7','2','7','3','7','4','7','5','7','6','7','7','7','8','7','9',
'8','0','8','1','8','2','8','3','8','4','8','5','8','6','8','7','8','8','8','9',
'9','0','9','1','9','2','9','3','9','4','9','5','9','6','9','7','9','8','9','9'
}

Definition at line 38 of file M3IToA.hh.

◆ sAnalog

const uint32_t sAnalog = 2
static

Definition at line 40 of file M3Constants.hh.

◆ sBitsAlignedLeft

const uint32_t sBitsAlignedLeft = 0
static

Specifies whether the meaningful bits for each sample are aligned to the left or right in each sample word e.g. For 14-bit digitizer bit depth, represented by a 16-bit sample word, are the 14 bits aligned to the left or right in the 16-bit word?

Definition at line 44 of file M3Constants.hh.

◆ sBitsAlignedRight

const uint32_t sBitsAlignedRight = 1
static

Definition at line 45 of file M3Constants.hh.

◆ sDigitizedS

const uint32_t sDigitizedS = 1
static

Definition at line 39 of file M3Constants.hh.

◆ sDigitizedUS

const uint32_t sDigitizedUS = 0
static

Definition at line 38 of file M3Constants.hh.

◆ sInterleaved

const uint32_t sInterleaved = 0
static

Specifies whether the data channels are interleaved or separate in a stream.

Definition at line 50 of file M3Constants.hh.

◆ sInvalidFormat

const uint32_t sInvalidFormat = std::numeric_limits< uint32_t >::max()
static

Data Format Specifies whether the data is digitized (unsigned or signed) or analog

Definition at line 37 of file M3Constants.hh.

◆ sSeparate

const uint32_t sSeparate = 1
static

Definition at line 51 of file M3Constants.hh.