44 std::map<std::string,hipo::bank> banks;
59 void open(
const char *filename);
63 void open(
const char *filename,
int tag);
82 int getInt(
const char *
bank,
const char *entry,
int row);
84 int64_t
getLong(
const char *
bank,
const char *entry,
int row);
86 float getFloat(
const char *
bank,
const char *entry,
int row);
88 double getDouble(
const char *
bank,
const char *entry,
int row);
99 void getIntArray(
const char *
bank,
int entry, int32_t *ptr,
int length);
118 std::map<int,inputSource*> sources;
129 int open(
const char *filename);
131 int open(
const char *filename,
int tag);
134 bool next(
int handle);
141 std::string
schema(
int fid,
const char *
bank);
148 sources[handle]->getByteArray(
bank,entry,ptr,length);
152 sources[handle]->getShortArray(
bank,entry,ptr,length);
156 sources[handle]->getIntArray(
bank,entry,ptr,length);
160 sources[handle]->getFloatArray(
bank,entry,ptr,length);
164 int getInt(
int handle,
const char *
bank,
const char *entry,
int row);
166 int64_t
getLong(
int handle,
const char *
bank,
const char *entry,
int row);
168 float getFloat(
int handle,
const char *
bank,
const char *entry,
int row);
170 double getDouble(
int handle,
const char *
bank,
const char *entry,
int row);
172 int getType(
int handle,
const char *
bank,
const char *entry);
175 int64_t
getEntries(
int handle) {
return sources[handle]->getEntries(); }
Represents a HIPO bank, a tabular data structure with rows and typed columns.
T get(int item, int index) const noexcept
Generic getter that returns the value at the given column and row.
Collection of schema definitions, typically read from a HIPO file header.
Represents a HIPO event, a container for multiple structures/banks.
Multi-file HIPO data access manager using integer handles.
void define(int fid, const char *bank)
Register a bank for reading in the given file.
int getInt(int handle, const char *bank, const char *entry, int row)
int getSize(int fid, const char *bank)
int getType(int handle, const char *bank, const char *entry)
int64_t getLong(int handle, const char *bank, const char *entry, int row)
double getDouble(int handle, const char *bank, const char *entry, int row)
void describe(int fid, const char *bank)
Print schema description for a bank in the given file.
void getShortArray(int handle, const char *bank, int entry, int16_t *ptr, int length)
Copy a short column into an array from the file identified by handle.
int open(const char *filename)
Open a HIPO file and return its handle.
float getFloat(int handle, const char *bank, const char *entry, int row)
void getByteArray(int handle, const char *bank, int entry, int8_t *ptr, int length)
Copy a byte column into an array from the file identified by handle.
std::string schema(int fid, const char *bank)
void getFloatArray(int handle, const char *bank, int entry, float *ptr, int length)
Copy a float column into an array from the file identified by handle.
int64_t getEntries(int handle)
hipo::bank & getBank(int handle, const char *bank)
void getIntArray(int handle, const char *bank, int entry, int32_t *ptr, int length)
Copy an integer column into an array from the file identified by handle.
bool next(int handle)
Advance to the next event in the given file.
Sequential reader for HIPO files.
Sequential and random-access reader for HIPO files with event filtering and dictionary support.