Celeritas
0.5.0-56+6b053cd
|
Launch the track only when a certain condition applies to the sim state. More...
#include <TrackSlotExecutor.hh>
Public Types | |
Type aliases | |
using | ParamsPtr = CoreParamsPtr< MemSpace::native > |
using | StatePtr = CoreStatePtr< MemSpace::native > |
using | Applier = T |
Public Member Functions | |
CELER_FUNCTION | ConditionalTrackSlotExecutor (ParamsPtr params, StatePtr state, C &&applies, T &&execute_track) |
Construct with condition and operator. | |
CELER_FUNCTION void | operator() (TrackSlotId ts) |
Launch the given thread if the track meets the condition. | |
CELER_FORCEINLINE_FUNCTION void | operator() (ThreadId thread) |
Call the underlying function using the thread index. | |
Launch the track only when a certain condition applies to the sim state.
The condition C
must have the signature
see make_active_track_executor
for an example where this is used to apply only to active (or killed) tracks.