Add EventContext to IEvtSelector interface
The current IEvtSelector
interface [1] has no means of communicating the EventContext
. This means that in downstream code we need to rely on the the thread-local variable to retrieve the current event context. I could see two options of fixing that:
- Add the
EventContext
to all theIEvtSelector
methods. At the same time we should rename the currentIEvtSelector::Context
into something likeIEvtSelector::Iterator
to avoid complete confusion. - Extend the existing
IEvtSelector::Context
with a setter/getter for the (actual)EventContext
that is expected to be set by the client, e.g. directly after callingcreateAddress
[2]
The second option is obviously much less intrusive but less explicit than the first one. What do others think?
[1] https://gitlab.cern.ch/gaudi/Gaudi/blob/master/GaudiKernel/GaudiKernel/IEvtSelector.h
[2] https://gitlab.cern.ch/gaudi/Gaudi/blob/master/GaudiHive/src/HiveSlimEventLoopMgr.cpp#L488