The data types that can currently be stored in an RMF File are
Float: a 64 bit floating point valueString: an ASCII stringInt: a 64 bit integerIndex: a postive 64 bit indexNodeID: another node in the hierarchyIn addition, an arbitrary length list of any of the above can be stored. The type for that is the type for the single data with an s on the end, eg Floats for a list of Float values. These are passed as std::vector like lists in C++ and lists in Python.
Each data type has associated typedefs such as
| Name | role |
Float | the type used to pass a floating point value |
Floats | the type used to pass a list of floating point values. It looks like an std::vector in C++ and a list in Python |
FloatKey | a RMF::Key used to identify a floating point value associated with a node in the RMF hierarchy |
FloatsKey | a RMF::Key used to identify a list of floating points value associated with a node in the RMF hierarchy |
PairFloatKey | a RMF::Key used to identify a floating point value associated with a pair of nodes in the RMF hierarchy |
FloatTraits | a traits classes to tell HDF5 how to read and write one or more floating point values |
FloatsTraits | a traits classes to tell HDF5 how to read and write one or more lists of floating point values |
etc |
The traits class for mapping between C++ types and HDF5 types. It defines
Each type must be associated with a unique index. For the moment, the integers are
This integers do not affect the rmf file on disk.