Skip to content

ATR-19379 Adding V2 of TrigComposite EDM, changes Aux store's base class

Tim Martin requested to merge tamartin/athena:changeTrigCompAuxBase into master

EDM migration of the TrigCompositeAuxContainer

  • Add new TrigCompositeAuxContainer_v2 which derives from the standard AuxContainerBase
  • Any (known) type may now be decorated onto the objects.
  • Add a converter to copy data from the old ByteStreamAuxContainer_v1 backed V1 aux store
  • Due to what looks to result from a ROOT bug, the converter currently has to perform a const_cast (ROOT-9762) as the persistent object never has reset() called on it.
  • Update public interface to TrigComposite
    • All fetch, get is now templated
    • Wrappers are removed for uint32_t and vector<uint32_t> These methods WERE available in Run-2, and were packing into signed types. I have scanned the codebase and fortuitously everyone who used a TrigComposite stuck to storing signed ints & vector. Therefore we don't need any specialist code to intercept a request to read an unsigned and perform the cast on the stored signed from Run-2 BS.
    • Wrappers are removed for uint16_t, vector<uint16_t>, string, vector types. In V1 these were all packed into vector. This is safe because these were only recently added in master to work around the V1 limitations. As we have no BS/RDO written with these methods, we don't need to provide conversion functionality.

Still outstanding: bs-streamer

Edited by Tim Martin

Merge request reports