This MR adds class definitions for data coming from the pad trigger, following the data ->
IdentifiableContainer hierarchy. Said data consists of:
- Metadata (BCID, L1ID, sector, etc.)
- Pad trigger input (i.e., a list of pFEB locations at which a hit was detected)
- Pad trigger decision (band IDs, phi IDs, coincidence counts)
In addition to the data class definition, this MR also defines transient <-> persistent converters for pad trigger data containers, along with persistent representation structs, in
MuonEventTPCnv. Additionally, it implements an AthenaPool converter under
MuonEventAthenaPool, and registers it as a converter for
- Are the data classes appropriate? Is anything missing / extraneous / problematic?
- Where should errors in conversion be handled? Should the AthenaPool converters be deemed
noexcept, or can they throw (and terminate execution?)?
- When attempting to read the persistent array of pFEB hit lists with ROOT's TBrowser, ROOT segfaults. Is this an issue on ROOT's side, or does AthenaPool not support arrays of vectors?
- How should the collection's
IdentifierHash, and the container's
hashMax, be decided?