Commit 4e675e5e authored by Alex Pearce's avatar Alex Pearce
Browse files

Don't cache the location when finding banks.

Such caching prevents decoder algorithms from using two separate raw
event locations.

Imagine an algorithm calling `findFirstRawBank`, and the last location
in the list of locations to search contains to requested bank, such that
the last location is cached. A subsequent call to `findFirstRawEvent`
will then return the cached location, even if the first location exists
(it just doesn't contain the raw bank requested during the call to
`firstFirstRawBank`).

A concrete example where this can happen is in PersitReco processing,
where the PersistReco object live in separate raw bank to the TCK, and
where both banks are required by the HLT decoder.
parent 936899b9
......@@ -133,7 +133,6 @@ Decoder::CommonBase<PBASE>::findFirstRawBank(const LHCb::RawBank::BankType i) co
raw = this->tryEventAt(loc);
if ( raw && !raw->banks(i).empty() )
{
m_tryFirstRawEventLocation=loc;
return raw->banks(i);
}
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment