# h5nexus Documentation This directory contains documentation for the h5nexus project. ## Available Documentation - **Usage.md** - Comprehensive usage guide with detailed examples and workflow patterns ## Project Structure The h5nexus example project has the following structure: ``` h5nexus/ ├── CMakeLists.txt - Build configuration ├── main.cpp - Main program source ├── git_revision.sh - Git revision header generator ├── cmake/ │ ├── config.h.in - CMake config template │ └── git-revision.h.in - Git revision template └── docu/ ├── README.md - This file └── Usage.md - Detailed usage documentation ``` ## Building ```bash mkdir build cd build cmake .. make ``` ### Prerequisites - CMake >= 3.26 - C++17 compatible compiler - HDF5 C++ library - ROOT >= 6.36 with Minuit2 ## Key Classes The h5nexus example uses the PNeXus library which provides: - `nxH5::PNeXus` - Main NeXus file reader/writer class - `nxH5::PNXdata` - Template class for dataset storage - `nxH5::PNeXusDeadTime` - Dead time correction calculator - `nxs::checkHDFType()` - File format detection ## Additional Resources - [Doxygen Manual](https://www.doxygen.nl/manual/) - [HDF5 Documentation](https://portal.hdfgroup.org/documentation/) - [NeXus Format](https://www.nexusformat.org/)