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::Trackobjects. - 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::Trackandv2::Track.
Extra minor changes:
- Instantiate
PrCheckEmptyFilterforv1::Trackandv2::Track
Edited by Marco Cattaneo