HIPO4 Library¶
High Performance Output (HIPO) is a columnar data format and I/O library designed for storing and analyzing experimental physics data from the CLAS12 detector at Jefferson Lab.
Quick Example¶
#include "reader.h"
int main() {
hipo::reader reader;
reader.open("data.hipo");
hipo::dictionary dict;
reader.readDictionary(dict);
hipo::bank particles(dict.getSchema("REC::Particle"));
hipo::event event;
while (reader.next()) {
reader.read(event);
event.read(particles);
for (int row = 0; row < particles.getRows(); row++) {
int pid = particles.getInt("pid", row);
float px = particles.getFloat("px", row);
float py = particles.getFloat("py", row);
float pz = particles.getFloat("pz", row);
}
}
}
Library Info¶
| Version | 4.4.0 |
| Language | C++17 |
| Build System | Meson + Ninja |
| License | US Government License (free for educational, research, non-profit) |
| Origin | Jefferson National Laboratory (JLab) |