Skip to content

pass EventContext explicitly into AlgoExecutionTask and Algorithm

Charles Leggett requested to merge leggett/AtlasGaudi:dev/AlgoEvtCtx into atlas/v27r1

in order to not have re-entrant Algorithms stomp on each others' EventContexts, we need to isolate the EventContext from the Algorithm, and move it to the AlgoExecutionTask. We can then pass the EventContext explicitly to the tbb::task, instead of carrying it via the Algorithm, which would fail for re-entrant Algs. This also requires a change to the signature of ForwardSchedulerSvc::promoteToExecuted.

We also make the EventContext* of the Algorithm const, to prevent any modification from inside the Alg.

Merge request reports