Celeritas 0.6.0-2+develop.96611fab
Loading...
Searching...
No Matches
Classes | Functions
TrackSlotExecutor.hh File Reference
#include "corecel/Assert.hh"
#include "corecel/Types.hh"
#include "corecel/sys/ThreadId.hh"
#include "celeritas/optical/CoreTrackData.hh"
#include "celeritas/optical/CoreTrackView.hh"
#include "celeritas/optical/SimTrackView.hh"
#include "celeritas/track/TrackFunctors.hh"
This graph shows which files directly or indirectly include this file:

Classes

class  celeritas::optical::TrackSlotExecutor< T >
 Transform a thread or track slot ID into a core track view. More...
 
class  celeritas::optical::ConditionalTrackSlotExecutor< C, T >
 Launch the track only when a certain condition applies. More...
 

Functions

template<class T >
CELER_FUNCTION celeritas::optical::TrackSlotExecutor (CoreParamsPtr< MemSpace::native >, CoreStatePtr< MemSpace::native >, T &&) -> TrackSlotExecutor< T >
 
template<class C , class T >
CELER_FUNCTION celeritas::optical::ConditionalTrackSlotExecutor (CoreParamsPtr< MemSpace::native >, CoreStatePtr< MemSpace::native >, C &&, T &&) -> ConditionalTrackSlotExecutor< C, T >
 
template<class T >
CELER_FUNCTION decltype(autoceleritas::optical::make_active_thread_executor (CoreParamsPtr< MemSpace::native > params, CoreStatePtr< MemSpace::native > const &state, T &&apply_track)
 Return a track executor that only applies to active, non-errored tracks.
 
template<class T >
CELER_FUNCTION decltype(autoceleritas::optical::make_action_thread_executor (CoreParamsPtr< MemSpace::native > params, CoreStatePtr< MemSpace::native > state, ActionId action, T &&apply_track)
 Return a track executor that only applies if the action ID matches.
 

Function Documentation

◆ make_action_thread_executor()

template<class T >
CELER_FUNCTION decltype(auto) celeritas::optical::make_action_thread_executor ( CoreParamsPtr< MemSpace::native params,
CoreStatePtr< MemSpace::native state,
ActionId  action,
T &&  apply_track 
)
inline

Return a track executor that only applies if the action ID matches.

Note
This should generally only be used for post-step actions and other cases where the IDs explicitly are set. Many explicit actions apply to all threads, active or not.