File indexing completed on 2025-09-19 08:49:41
0001
0002
0003
0004
0005
0006
0007 #pragma once
0008
0009 #include "celeritas/decay/data/MuDecayData.hh"
0010 #include "celeritas/decay/interactor/MuDecayInteractor.hh"
0011 #include "celeritas/global/CoreTrackView.hh"
0012 #include "celeritas/phys/Interaction.hh"
0013
0014 namespace celeritas
0015 {
0016
0017 struct MuDecayExecutor
0018 {
0019 inline CELER_FUNCTION Interaction
0020 operator()(celeritas::CoreTrackView const& track);
0021
0022 MuDecayData data;
0023 };
0024
0025
0026
0027
0028
0029 CELER_FUNCTION Interaction MuDecayExecutor::operator()(CoreTrackView const& track)
0030 {
0031 auto allocate_secondaries = track.physics_step().make_secondary_allocator();
0032 auto particle = track.particle();
0033 auto const& dir = track.geometry().dir();
0034
0035 MuDecayInteractor interact(data, particle, dir, allocate_secondaries);
0036 auto rng = track.rng();
0037 return interact(rng);
0038 }
0039
0040
0041 }