40 phlex::concurrency max_concurrency) {
41 using namespace phlex::experimental;
42 using namespace phlex::detail;
44 provider_bundles bundles;
45 product_specification spec{algorithm_name::create(
"mc_particles"),
46 identifier{
"particles"},
47 make_type_id<std::vector<SHiP::MCParticle>>()};
48 std::string
const layer =
"event";
49 std::string
const stage =
"CURRENT";
51 if (selector.match(spec, identifier{layer}, identifier{stage})) {
52 bundles.push_back(provider_bundle{
54 [generate = std::move(generate)](phlex::data_cell_index
const& id)
55 -> product_ptr {
return product_for(generate(
id)); },
56 .max_concurrency = max_concurrency,
57 .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:38