Implement named structure in numpy and implement them for GEAR and SPHENIX
Fix #747 (closed) and #737 (closed)
SPHENIX was not working anymore because we were defining far too many masks in the hydro module. I am fixing this by merging some masks together. When we merge them, we might end up with data that are not homogeneous (e.g. float != int) and, in the current implementation, it was not really possible to deal with them. Therefore I am also adding the new function logger_loader_python_field_add_subfield
that allows to define each field in a grouped mask. With this, I am constructing an hybrid dtype
where each sub-element is named and can be accessed directly by its name.
The important work is done in logger/logger_python_tools.h
and logger/logger_python_wrapper.c
. Everything else is just redesigning the outputs.