Celeritas  0.5.0-56+6b053cd
Public Member Functions | List of all members
celeritas::optical::ConditionalTrackSlotExecutor< C, T > Class Template Reference

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.
 

Detailed Description

template<class C, class T>
class celeritas::optical::ConditionalTrackSlotExecutor< C, T >

Launch the track only when a certain condition applies to the sim state.

The condition C must have the signature

(SimTrackView const&) -> bool

see make_active_track_executor for an example where this is used to apply only to active (or killed) tracks.


The documentation for this class was generated from the following file: