Add NSW Pad Trigger RDO
This MR adds class definitions for data coming from the pad trigger, following the data -> DataVector
-> 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 NSW_PadTriggerRawDataContainer
.
Outstanding questions:
- 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'shashMax
, be decided?
Edited by Yuval Zach