support selections on contiguous containers (e.g. vector<v2 Track>...)
See task 3 in these slides.
- Add class
Pr::Selection<T>
to support selections on contiguous storage containers (i.e.LHCb::span<T>
). This is implemented as span + vector of indices. - Add tests for
Pr::Selection<T>
.
Add two algorithms:
- One (
Pr::Filter<T>
) that applies a selection cut toPr::Selection<T>
input, producing anotherPr::Selection<T>
. The selection cut is specified via LoKi. This MR depends on !1285 (merged) so that LoKi cuts can be applied tov2::Track
objects. - One (
Pr::MakeSelection<T>
) that creates aPr::Selection<T>
fromstd::vector<T>
, accepting all elements. This is needed for gluing things together until there is explicit support in Gaudi. It is instantiated forv1::Track
andv2::Track
.
Extra minor changes:
- Instantiate
PrCheckEmptyFilter
forv1::Track
andv2::Track
Edited by Marco Cattaneo