Data format (to be reviewed)

The data format is defined in the uboonedaq_datatypes repository/product.
This product is used by OM and the offline swizzle process

Data coming from the detector is preserved: once a fragment is made, it is const-protected
Data written to disk using boost serialization utilities

In uboonedaq_datatypes repository/product the:
  • description of raw data
  • interpretation of raw data
  • basic handling containers for the raw data

ub_MarkedRawData is the base for fragments
It is a vector of uint16_t words
It has points to location of header (at the beginning...) trailer (at the end...) and data (in the middle!)
Raw data is a nested set of these templated classes. TPC, for example...
ub_MarkedRawCrateData → per readout crate, with XMIT headers and trailers, it contains cards
ub_MarkedRawCardData → per FEM, with FEM headers and empty trailers, it contains channels
ub_MarkedRawChannelData → per channel, with channel header and channel trailer

Events are stored in the Event Record
Global header, and hardware and software trigger info, along with the fragments