44 std::string
fread_data(FILE* fptr,
const int& nbytes);
56 int fread_int(FILE* fptr,
const int& nbytes);
61 void fread_zero(FILE* fptr,
const int& nbytes);
73 const std::string& type,
76 const std::string& type,
79 const std::string& name =
"");
81 const std::string& name,
84 const std::string& name,
87 const std::string& name,
88 const std::string& key);
125 void read(FILE* fptr);
139 const uint64_t& address,
140 const uint64_t& offset,
141 const std::string& heap,
145 const uint64_t& address,
146 const uint64_t& offset,
147 const std::string& heap,
151 const uint64_t& address_btree,
152 const uint64_t& address_heap,
156 const uint64_t& address,
157 const int& dimensions,
160 const uint64_t& address,
189 const uint64_t& address,
191 const uint32_t& length);
194 void debug_msg(
const std::string& msg,
const int& indent);
195 std::string
hexaddress(
const uint64_t& address);
196 std::string
extract(
const std::string&
string,
const int& pos);
323 element =
xml_msg_type(header,
"DataStorageFilterPipeline", 0);
Definition of interface for all GammaLib classes.
Filename class interface definition.
XML class interface definition.
Interface class for all GammaLib classes.
COSI instrument response function class.
GHdf5 * clone(void) const
Clone instance.
GHdf5 & operator=(const GHdf5 &file)
Assignment operator.
void read_group(FILE *fptr, const uint64_t &address_btree, const uint64_t &address_heap, GXmlElement *group, const int &indent)
Read and handle HDF5 group.
void read_object_header_v2(FILE *fptr, GXmlElement *header, const int &indent)
Read object header version 2.
void read_object_header_message(FILE *fptr, const int &type, GXmlElement *message, const int &indent)
Read one object header message.
const GXml & xml(void) const
Return HDF5 metadata as XML object.
std::string print(const GChatter &chatter=NORMAL) const
Print HDF5 file.
std::string global_heap_string(FILE *fptr, const uint64_t &address, const int &id, const uint32_t &length)
Get string from global heap.
void debug_msg(const std::string &msg, const int &indent)
Show debug message.
const GXmlElement * xml_hdf5_entry(const std::string &name) const
Return XML element to entry tag.
void read_message_attribute(FILE *fptr, GXmlElement *message, std::string &msg)
Read Attribute message.
void read_symbol_table_node(FILE *fptr, const uint64_t &address, const uint64_t &offset, const std::string &heap, GXmlElement *table, const int &indent)
Read HDF5 symbol table node.
GHdf5(void)
Void constructor.
void read_symbol_table_entry(FILE *fptr, const uint64_t &address, const uint64_t &offset, const std::string &heap, GXmlElement *entry, const int &indent)
Read and handle HDF5 symbol table entry.
void read_message_datatype(FILE *fptr, GXmlElement *message, std::string &msg)
Read datatype message.
std::string extract(const std::string &string, const int &pos)
Extract string from position until next null termination.
void read_message_layout(FILE *fptr, GXmlElement *message, std::string &msg)
Read Data Storage - Layout message.
int pad2eight(const int &nbytes)
Pad number of Bytes to 8 Bytes.
void load(const GFilename &filename)
Load data from HDF5 file into instance.
void read_message_filter(FILE *fptr, GXmlElement *message, std::string &msg)
Read Data Storage - Filter pipeline message.
void read_object_header_v1(FILE *fptr, GXmlElement *header, const int &indent)
Read object header version 1.
void copy_members(const GHdf5 &file)
Copy class members.
void clear(void)
Clear instance.
void read(FILE *fptr)
Read data from HDF5 file into instance.
void read_object_header(FILE *fptr, const uint64_t &address, GXmlElement *header, const int &indent)
Read object header.
void read_btree_chunked(FILE *fptr, const uint64_t &address, const int &dimensions, GXmlElement *btree)
Read HDF5 B-tree for chunked data.
bool is_empty(void) const
Signals if HDF5 instance is empty.
virtual ~GHdf5(void)
Destructor.
void read_superblock(FILE *fptr)
Read HDF5 file superblock.
std::string hexaddress(const uint64_t &address)
Format address for debugging.
void free_members(void)
Delete class members.
std::string classname(void) const
Return class name.
void init_members(void)
Initialise class members.
void read_message_dataspace(FILE *fptr, GXmlElement *message, std::string &msg)
Read dataspace message.
bool is_empty(void) const
Signals if document has no child nodes.
std::string data_filter_bitshuffle(const std::string &data, const GXmlElement *filter)
Filter data according to Bitshuffle algorithm.
const GXmlElement * xml_msg_datalayout(const GXmlElement *header)
Return "DataStorageLayout" message XML element.
const GXmlElement * xml_msg_type(const GXmlElement *header, const std::string &type, const int &number=0)
Return specific occurence of header message of given type.
std::string fread_data_chunk(FILE *fptr, const GXmlElement *chunk, const GXmlElement *dataspace, const GXmlElement *datatype, const GXmlElement *datalayout, const GXmlElement *datafilter=NULL)
Read data chunk.
int data_to_int(const char *data, const GXmlElement *datatype)
Convert data into integer value.
const GXmlElement * xml_msg_datafilter(const GXmlElement *header)
Return "DataStorageFilterPipeline" message XML element.
std::string fread_data(FILE *fptr, const int &nbytes)
Read data from HDF5 file.
int fread_int(FILE *fptr, const int &nbytes)
Read data as integer from HDF5 file.
int xml_msg_attributes(const GXmlElement *header, const std::string &name="")
Return number of "Attribute" messages in header.
void fread_zero(FILE *fptr, const int &nbytes)
Read zero data from HDF5 file.
double data_to_double(const char *data, const GXmlElement *datatype)
Convert data into double precision floating point value.
bool xml_has_msg_type(const GXmlElement *header, const std::string &type, const int &number=0)
Checks if specific occurence of header message of given type exists.
std::string classname(const int &cls)
Convert datatype class into classname.
const GXmlElement * xml_msg_datatype(const GXmlElement *header)
Return "Datatype" message XML element.
std::string data_to_string(const char *data, const GXmlElement *datatype)
Convert data into string.
std::string data_filter(const std::string &data, const GXmlElement *datafilter)
Filter data.
std::string fread_string(FILE *fptr, const int &nbytes)
Read string data from HDF5 file.
const GXmlElement * xml_msg_attribute(const GXmlElement *header, const std::string &name, const int &number=0)
Return "Attribute" message XML element with specified name.
const GXmlElement * xml_msg_dataspace(const GXmlElement *header)
Return "Dataspace" message XML element.
uint32_t fread_uint32(FILE *fptr, const int &nbytes)
Read data as unsiged 32 Bit integer from HDF5 file.
bool xml_has_msg_attribute(const GXmlElement *header, const std::string &name, const int &number=0)
Checks if "Attribute" message XML element with specified name exists.
uint64_t fread_uint64(FILE *fptr, const int &nbytes)
Read data as unsiged 64 Bit integer from HDF5 file.
std::string fread_data_as_string(FILE *fptr, const GXmlElement *datatype)
Read data with any data type as a string.
std::string number(const std::string &noun, const int &number)
Convert singular noun into number noun.