27 DataDescriptorMatcher::Op::And,
29 std::make_unique<DataDescriptorMatcher>(
30 DataDescriptorMatcher::Op::And,
32 std::make_unique<DataDescriptorMatcher>(
33 DataDescriptorMatcher::Op::And,
35 std::make_unique<DataDescriptorMatcher>(
36 DataDescriptorMatcher::Op::Just,
44 std::vector<size_t>
result;
45 for (
size_t ri = 0; ri < routes.size(); ++ri) {
46 auto& route = routes[ri];
47 if (route.timeslice == 0) {
55std::vector<DataDescriptorMatcher>
58 std::vector<DataDescriptorMatcher>
result;
60 for (
auto& route : routes) {
61 if (
auto pval = std::get_if<ConcreteDataMatcher>(&route.matcher.matcher)) {
62 result.emplace_back(fromConcreteMatcher(*pval));
63 }
else if (
auto matcher = std::get_if<DataDescriptorMatcher>(&route.matcher.matcher)) {
64 result.push_back(*matcher);
66 throw std::runtime_error(
"Unsupported InputSpec type");
Something which can be matched against a header::DataDescription.
Something which can be matched against a header::DataOrigin.
Matcher on actual time, as reported in the DataProcessingHeader.
Something which can be matched against a header::SubSpecificationType.
Defining PrimaryVertex explicitly as messageable.
header::DataDescription description
header::DataHeader::SubSpecificationType subSpec
header::DataOrigin origin
static std::vector< data_matcher::DataDescriptorMatcher > createInputMatchers(std::vector< InputRoute > const &)
This converts from InputRoute to the associated DataDescriptorMatcher.
static std::vector< size_t > createDistinctRouteIndex(std::vector< InputRoute > const &)
A typesafe reference to an element of the context.