Celeritas  0.5.0-57+aeecb15
Classes | Functions
TrackExecutor.hh File Reference
#include "corecel/Assert.hh"
#include "corecel/Types.hh"
#include "corecel/math/Algorithms.hh"
#include "corecel/sys/ThreadId.hh"
#include "celeritas/track/SimFunctors.hh"
#include "CoreTrackData.hh"
#include "CoreTrackDataFwd.hh"
#include "CoreTrackView.hh"

Classes

class  celeritas::TrackExecutor< T >
 Call a CoreTrackView executor for a given ThreadId. More...
 
class  celeritas::ConditionalTrackExecutor< C, T >
 Launch the track only when a certain condition applies to the sim state. More...
 

Functions

template<class T >
CELER_FUNCTION celeritas::TrackExecutor (CoreParamsPtr< MemSpace::native >, CoreStatePtr< MemSpace::native >, T &&) -> TrackExecutor< T >
 
template<class C , class T >
CELER_FUNCTION celeritas::ConditionalTrackExecutor (CoreParamsPtr< MemSpace::native >, CoreStatePtr< MemSpace::native >, C &&, T &&) -> ConditionalTrackExecutor< C, T >
 
template<class T >
decltype(auto) CELER_FUNCTION celeritas::make_active_track_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 >
decltype(auto) CELER_FUNCTION celeritas::make_action_track_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. More...
 
template<class T >
decltype(auto) CELER_FUNCTION celeritas::make_along_step_track_executor (CoreParamsPtr< MemSpace::native > params, CoreStatePtr< MemSpace::native > state, ActionId action, T &&apply_track)
 Return a track executor that only applies for the given along-step action.
 

Function Documentation

◆ make_action_track_executor()

template<class T >
decltype(auto) CELER_FUNCTION celeritas::make_action_track_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.