4 #include "cetlib/container_algorithms.h" 10 descriptions_for_branch_type(
BranchType const bt,
14 cet::copy_if_all(descriptions, back_inserter(result), [bt](
auto const& pd) {
15 return pd.branchType() == bt;
24 cet::transform_all(descriptions,
25 inserter(result,
begin(result)),
26 [](
auto const& pd) {
return pd.productID(); });
30 using ProductTables_t = std::array<ProductTable, NumBranchTypes>;
34 ProductTables_t result{{}};
44 std::array<AvailableProducts_t, NumBranchTypes>
const& availableProducts)
46 ProductTables_t result{{}};
49 descriptions,
static_cast<BranchType>(bt), availableProducts[bt]};
62 available_products(descriptions_for_branch_type(bt, descriptions))}
70 descriptions_for_branch_type(bt, descriptions))}
72 descriptions_for_branch_type(bt, descriptions))}
83 : tables_{createProductTables(descriptions)}
88 std::array<AvailableProducts_t, NumBranchTypes>
const& availableProducts)
89 :
tables_{createProductTables(descriptions, availableProducts)}
std::array< ProductTable, NumBranchTypes > tables_
AvailableProducts_t availableProducts
std::vector< BranchDescription > ProductDescriptions
std::vector< evd::details::RawDigitInfo_t >::const_iterator begin(RawDigitCacheDataClass const &cache)
ProductLookup_t createProductLookups(ProductDescriptions const &descriptions)
static ProductTables invalid()
std::unordered_set< ProductID, ProductID::Hash > AvailableProducts_t
ProductLookup_t productLookup
ViewLookup_t createViewLookups(ProductDescriptions const &descriptions)