44 phlex::concurrency max_concurrency) {
45 using namespace phlex::experimental;
46 using namespace phlex::detail;
48 provider_bundles bundles;
49 product_specification spec{algorithm_name::create(
"mc_particles"),
50 identifier{
"particles"},
51 make_type_id<std::vector<SHiP::MCParticle>>()};
52 std::string
const layer =
"event";
53 std::string
const stage =
"CURRENT";
55 if (selector.match(spec, identifier{layer}, identifier{stage})) {
56 bundles.push_back(provider_bundle{
58 [generate = std::move(generate)](phlex::data_cell_index
const& id)
59 -> product_ptr {
return product_for(generate(
id)); },
60 .max_concurrency = max_concurrency,
61 .spec = std::move(spec),
phlex::detail::provider_bundles mc_particle_provider_bundles(phlex::product_selector const &selector, mc_particle_generator generate, phlex::concurrency max_concurrency)
Definition mc_particle_source.hpp:42