- Author
- Elliott Wolin.
- Version
- 2.0.
- Date
- 5-Feb-2007.
Introduction
The EVIO package is an object-oriented extension of the original EVIO C event I/O utility.
The base utility reads and writes EVIO format events in an event buffer to and from disk. Events are blocked into standard block sizes, and endian swapping is performed if necessary.
This package maps the event in the event buffer into an in-memory tree-like bank hierarchy. Event trees can be queried, modified, or created from scratch. In-memory trees can be automatically serialized into a buffer and written to disk.
- Warning
- Internally EVIO uses only the unambiguous types int8_t, uint8_t, ... int64_t, uint64_t. The long and long long data types are not supported, as their interpretion varies among different compilers and architectures. The unambiguous types are compatible with char, short, and int wherever I have checked. But only the 64-bit types int64_t and uint64_t work consistently across architectures.
-
The safest route, of course, is to use the unambiguous types exclusively. But the example programs use char, short, int, and int64_t and so far work fine. No guarantees for the future, though...