This is the user documentation. The developer documentation is \href{html/index.html}{here}.
The page of the project is \href{https://gitlab.in2p3.fr/CTA-LAPP/PHOENIX_LIBS/PhoenixHDF5}{here}.
\part{Quick Start}
The program \prog{phoenix_hdf5} is a code generator which automates class development that use \href{https://www.hdfgroup.org/solutions/hdf5/}{HDF5} data format.
This adds a small overlay to gather and mutualise several tables use in the same class (composed of tables and tensors of any types supported by \textbf{HDF5}).
To run \prog{phoenix_hdf5} :
\begin{terminal}
phoenix_hdf5 -i baseConfig.ph5 -o outputDir
\end{terminal}
Where \textbf{outputDir} is the output directory where to create generated code (current directory by default) and the \textbf{baseConfig.ph5} is the class description.
\begin{paragraph}
A simple example :
\end{paragraph}
\begin{ph5}
///Table of values
TableVertex{
///Event id
size_t eventId;
///Timestamp
double timestamp;
///Image
Tensor(float, nbPixel) image;
///Float value
Tensor(float, nbValue, 2) matValue;
}
\end{ph5}
Here, the name of the generated class is \textbf{TableVertex}.
All the defined attributes are stored and read in the same order they are defined.
\begin{paragraph}
A \textbf{Tensor} is defined by its type, first, and then all its dimentions (with variables or fixed values) and you can use as many as dimentions you need.