Midas C++ API - midasio (reading and writing midas files)
This page contains the full API reference for midasio (midasio/midasio.h), the C++ library for reading and writing midas data files, including compressed files.
For how events and banks are laid out, see Event data format.
For writing midas files during a run, see Data logging: midas files.
midasio/midasio.h
Classes
TMBank
Defined in midasio/midasio.h:43
Attributes
data_offset
size_t data_offset = 0
offset of data for this bank in the event data[] container
Defined in midasio/midasio.h:49
data_size
uint32_t data_size = 0
size of bank data in bytes
Defined in midasio/midasio.h:48
name
std::string name
bank name, 4 characters max
Defined in midasio/midasio.h:46
type
uint32_t type = 0
type of bank data, enum of TID_xxx
Defined in midasio/midasio.h:47
TMEvent
Defined in midasio/midasio.h:52
Methods
AddBank
void AddBank(const char* bank_name, int tid, const char* buf, size_t size)
add new MIDAS bank
Declared in midasio/midasio.h:91, defined in midasio/midasio.cxx:853
BankListToString
const
std::string BankListToString() const
print the list of MIDAS banks
Declared in midasio/midasio.h:99, defined in midasio/midasio.cxx:693
BankToString
const
std::string BankToString(const TMBank*b) const
print definition of one MIDAS bank
Declared in midasio/midasio.h:100, defined in midasio/midasio.cxx:704
DumpHeader
const
void DumpHeader() const
Declared in midasio/midasio.h:104, defined in midasio/midasio.cxx:1185
FindAllBanks
void FindAllBanks()
scan the MIDAS event, find all data banks
Declared in midasio/midasio.h:83, defined in midasio/midasio.cxx:1133
FindBank
TMBank*FindBank(const char* bank_name)
scan the MIDAS event
Declared in midasio/midasio.h:84, defined in midasio/midasio.cxx:1092
GetBankData
Note: this method has 2 different signatures.
GetBankData
char*GetBankData(const TMBank* b)
get pointer to MIDAS data bank
Declared in midasio/midasio.h:87, defined in midasio/midasio.cxx:1066
GetBankData
const
const char*GetBankData(const TMBank* b) const
get pointer to MIDAS data bank
Declared in midasio/midasio.h:88, defined in midasio/midasio.cxx:1079
GetEventData
Note: this method has 2 different signatures.
GetEventData
char*GetEventData()
get pointer to MIDAS event data
Declared in midasio/midasio.h:85, defined in midasio/midasio.cxx:1040
GetEventData
const
const char*GetEventData() const
get pointer to MIDAS event data
Declared in midasio/midasio.h:86, defined in midasio/midasio.cxx:1053
HeaderToString
const
std::string HeaderToString() const
print the MIDAS event header
Declared in midasio/midasio.h:98, defined in midasio/midasio.cxx:686
Init
void Init(uint16_t event_id, uint16_t trigger_mask = 0, uint32_t serial_number = 0, uint32_t time_stamp = 0, size_t capacity = 0)
Declared in midasio/midasio.h:80, defined in midasio/midasio.cxx:808
ParseEvent
void ParseEvent()
parse event data
Declared in midasio/midasio.h:78, defined in midasio/midasio.cxx:736
ParseHeader
void ParseHeader(const void* buf, size_t buf_size)
parse event header
Declared in midasio/midasio.h:79, defined in midasio/midasio.cxx:746
PrintBanks
void PrintBanks(int level = 0)
Declared in midasio/midasio.h:103, defined in midasio/midasio.cxx:1156
PrintHeader
const
void PrintHeader() const
Declared in midasio/midasio.h:102, defined in midasio/midasio.cxx:1143
Reset
void Reset()
reset everything
Declared in midasio/midasio.h:77, defined in midasio/midasio.cxx:716
TMEvent
Note: this method has 2 different signatures.
TMEvent
TMEvent()
ctor
Declared in midasio/midasio.h:75, defined in midasio/midasio.cxx:711
TMEvent
TMEvent(const void* buf, size_t buf_size)
Declared in midasio/midasio.h:76, defined in midasio/midasio.cxx:772
Attributes
bank_header_flags
uint32_t bank_header_flags
flags from the MIDAS event bank header
Defined in midasio/midasio.h:64
bank_scan_position
size_t bank_scan_position
location where scan for MIDAS banks was last stopped
Defined in midasio/midasio.h:72
banks
std::vector<TMBank> banks
list of MIDAS banks, fill using FindAllBanks()
Defined in midasio/midasio.h:66
data
std::vector<char> data
MIDAS event bytes
Defined in midasio/midasio.h:67
data_size
uint32_t data_size
MIDAS event data size
Defined in midasio/midasio.h:61
error
bool error
event has an error - incomplete, truncated, inconsistent or corrupted
Defined in midasio/midasio.h:55
event_header_size
size_t event_header_size
size of MIDAS event header
Defined in midasio/midasio.h:63
event_id
uint16_t event_id
MIDAS event ID
Defined in midasio/midasio.h:57
found_all_banks
bool found_all_banks
all the banks in the event data have been discovered
Defined in midasio/midasio.h:71
serial_number
uint32_t serial_number
MIDAS event serial number
Defined in midasio/midasio.h:59
time_stamp
uint32_t time_stamp
MIDAS event time stamp (unix time in sec)
Defined in midasio/midasio.h:60
trigger_mask
uint16_t trigger_mask
MIDAS trigger mask
Defined in midasio/midasio.h:58
TMReaderInterface
Defined in midasio/midasio.h:107
Methods
Close
virtualpure virtual
virtual int Close() = 0
Defined in midasio/midasio.h:112
Read
virtualpure virtual
virtual int Read(void* buf, int count) = 0
Defined in midasio/midasio.h:111
TMReaderInterface
TMReaderInterface()
ctor
Declared in midasio/midasio.h:110, defined in midasio/midasio.cxx:20
~TMReaderInterface
virtual
virtual ~TMReaderInterface()
Defined in midasio/midasio.h:113
Attributes
fError
bool fError
Defined in midasio/midasio.h:115
fErrorString
std::string fErrorString
Defined in midasio/midasio.h:116
fgTrace
static
static bool fgTrace = false
Defined in midasio/midasio.h:117
TMWriterInterface
Defined in midasio/midasio.h:120
Methods
Close
virtualpure virtual
virtual int Close() = 0
Defined in midasio/midasio.h:124
Write
virtualpure virtual
virtual int Write(const void* buf, int count) = 0
Defined in midasio/midasio.h:123
~TMWriterInterface
virtual
virtual ~TMWriterInterface()
Defined in midasio/midasio.h:125
Attributes
fgTrace
static
static bool fgTrace = false
Defined in midasio/midasio.h:127
Functions
TMNewReader
TMReaderInterface*TMNewReader(const char* source)
Declared in midasio/midasio.h:130, defined in midasio/midasio.cxx:469
TMNewWriter
TMWriterInterface*TMNewWriter(const char* destination)
Declared in midasio/midasio.h:131, defined in midasio/midasio.cxx:565
TMReadEvent
TMEvent*TMReadEvent(TMReaderInterface* reader)
returns NULL if there is no more data to read, and there will be no more data to read. can be an end of file or a read error or a broken pipe.
Declared in midasio/midasio.h:133, defined in midasio/midasio.cxx:611
TMWriteEvent
void TMWriteEvent(TMWriterInterface* writer, const TMEvent* event)
Declared in midasio/midasio.h:134, defined in midasio/midasio.cxx:681
Macros
MIDAS Data Type Definitions
TID_ARRAY
#define TID_ARRAY 13
array with unknown contents
Defined in midasio/midasio.h:33
TID_BITFIELD
#define TID_BITFIELD 11
32 Bits Bitfield 0 111... (32)
Defined in midasio/midasio.h:31
TID_BOOL
#define TID_BOOL 8
four bytes bool 0 1
Defined in midasio/midasio.h:26
TID_BYTE
TID_CHAR
#define TID_CHAR 3
single character 0 255
Defined in midasio/midasio.h:17
TID_DOUBLE
#define TID_DOUBLE 10
8 Byte float format
Defined in midasio/midasio.h:29
TID_DWORD
TID_FLOAT
#define TID_FLOAT 9
4 Byte float format
Defined in midasio/midasio.h:27
TID_FLOAT32
#define TID_FLOAT32 9
4 Byte float format
Defined in midasio/midasio.h:28
TID_FLOAT64
#define TID_FLOAT64 10
8 Byte float format
Defined in midasio/midasio.h:30
TID_INT
TID_INT16
#define TID_INT16 5
signed word -32768 32767
Defined in midasio/midasio.h:21
TID_INT32
#define TID_INT32 7
signed dword -2^31 2^31-1
Defined in midasio/midasio.h:25
TID_INT64
#define TID_INT64 17
8 bytes int -2^63 2^63-1
Defined in midasio/midasio.h:37
TID_INT8
#define TID_INT8 2
signed byte -128 127
Defined in midasio/midasio.h:16
TID_KEY
#define TID_KEY 15
key in online database
Defined in midasio/midasio.h:35
TID_LAST
#define TID_LAST 19
end of TID list indicator
Defined in midasio/midasio.h:40
TID_LINK
#define TID_LINK 16
link in online database
Defined in midasio/midasio.h:36
TID_QWORD
#define TID_QWORD 18
8 bytes unsigned int 0 2^64-1
Defined in midasio/midasio.h:39
TID_SBYTE
TID_SHORT
TID_STRING
#define TID_STRING 12
zero terminated string
Defined in midasio/midasio.h:32
TID_STRUCT
#define TID_STRUCT 14
structure with fixed length
Defined in midasio/midasio.h:34
TID_UINT16
#define TID_UINT16 4
two bytes 0 65535
Defined in midasio/midasio.h:19
TID_UINT32
#define TID_UINT32 6
four bytes 0 2^32-1
Defined in midasio/midasio.h:23
TID_UINT64
#define TID_UINT64 18
8 bytes unsigned int 0 2^64-1
Defined in midasio/midasio.h:38
TID_UINT8
#define TID_UINT8 1
unsigned byte 0 255
Defined in midasio/midasio.h:14
TID_WORD
Variables
TMTraceCtorDtor
extern
bool TMTraceCtorDtor
Defined in midasio/midasio.h:136