TrigByteStreamCnvSvc: Change inheritance and implement explicit EventContext passing
Two changes to TrigByteStreamCnvSvc
:
- Derive from the base class
ByteStreamCnvSvcBase
instead of the offline specific implementationByteStreamCnvSvc
- Implement explicit
EventContext
passing to all methods which need it. Make the context-less interface methods retrieve theEventContext
and call the context-aware local methods.
The inheritance should've been from the base class since the beginning, but there was a blocker issue where EventInfo BS converter required that the BS conversion service in the job is an instance of ByteStreamCnvSvc
only to retrieve some flags from it. These flags aren't actually used at all by ByteStreamCnvSvc
, it serves only as a configuration proxy. I hope there's plan to remove this solution, but for now I simply moved these flags to ByteStreamCnvSvcBase
and updated the casting in EventInfoByteStreamAuxCnv
. The flags are: IsSimulation, IsTestbeam, IsCalibration. There was also an extra flag GetDetectorMask which wasn't used anywhere so it is simply removed.
cc @tsulaia, @ssnyder , @berghaus, @gemmeren, @mnowak