159 std::ofstream outputStream;
162 std::vector<hipo::recordInfo_t> writerRecordInfo;
163 std::map<std::string,std::string> userConfig;
165 std::map<int,hipo::recordbuilder> extendedBuilder;
167 void writeIndexTable();
181 void addEvent(std::vector<char> &vec,
int size = -1);
183 void addUserConfig(std::string key, std::string value){ userConfig[key] = value;}
185 void addUserConfig(
const char *key,
const char *value){ userConfig[std::string(key)] = std::string(value);}
191 void open(
const char *filename);
Collection of schema definitions, typically read from a HIPO file header.
Represents a HIPO event, a container for multiple structures/banks.
Builds HIPO records by accumulating events and compressing them.
Writer for creating HIPO files.
void addUserConfig(const char *key, const char *value)
Add a user configuration key-value pair to the file header (C-string overload).
void open(const char *filename)
Open a file for writing.
void writeRecord(recordbuilder &builder)
Write a completed record to the output file.
void flush()
Flush the current record buffer to disk.
void setUserIntegerTwo(long userIntTwo)
Set the second user-defined integer in the file header.
void setUserIntegerOne(long userIntOne)
Set the first user-defined integer in the file header.
void addDictionary(hipo::dictionary &dict)
Set the dictionary to be written into the file header.
void addEvent(hipo::event &hevent)
Add an event to the current record buffer.
void addUserConfig(std::string key, std::string value)
Add a user configuration key-value pair to the file header.
void setVerbose(int level)
Set the verbosity level for output messages.
void showSummary()
Print a summary of records written to stdout.
void close()
Close the file, flushing remaining events and writing the trailer.
hipo::dictionary & getDictionary()
Sequential and random-access reader for HIPO files with event filtering and dictionary support.
HIPO record builder for accumulating and compressing events.