Celeritas 0.6.0-dev.115+3b60a5fd
|
Manage a state vector and execute a single step on all of them. More...
#include <Stepper.hh>
Public Types | |
Type aliases | |
using | StateRef = CoreStateData< Ownership::reference, M > |
![]() | |
using | Input = StepperInput |
using | ActionSequenceT = ActionSequence |
using | SpanConstPrimary = Span< Primary const > |
using | result_type = StepperResult |
using | SPState = std::shared_ptr< CoreStateInterface > |
Public Member Functions | |
Stepper (Input input) | |
Construct with problem parameters and setup options. | |
~Stepper () final | |
Default destructor. | |
void | warm_up () final |
Run all step actions with no active particles. | |
StepperResult | operator() () final |
Transport already-initialized states. | |
StepperResult | operator() (SpanConstPrimary primaries) final |
Initialize new primaries and transport them for a single step. | |
void | kill_active () final |
Kill all tracks in flight to debug "stuck" tracks. | |
void | reseed (UniqueEventId event_id) final |
Reseed RNGs and counters at the start of an event for reproducibility. | |
ActionSequenceT const & | actions () const final |
Get action sequence for timing diagnostics. | |
StateRef const & | state_ref () const |
Access core data, primarily for debugging. | |
CoreStateInterface const & | state () const final |
Get the core state interface for diagnostic output. | |
void | reset_state () |
Reset the core state counters and data so it can be reused. | |
SPState | sp_state () final |
Get a shared pointer to the state (TEMPORARY, DO NOT USE) | |
Additional Inherited Members | |
![]() | |
CELER_DEFAULT_COPY_MOVE (StepperInterface) | |
Manage a state vector and execute a single step on all of them.
|
inlinefinalvirtual |
Get action sequence for timing diagnostics.
Implements celeritas::StepperInterface.
|
finalvirtual |
Kill all tracks in flight to debug "stuck" tracks.
The next "step" will apply the tracking cut and (if CPU) print diagnostic output about the failed tracks.
Implements celeritas::StepperInterface.
|
finalvirtual |
Transport already-initialized states.
A single transport step is simply a loop over a toplogically sorted DAG of kernels.
Implements celeritas::StepperInterface.
|
finalvirtual |
Initialize new primaries and transport them for a single step.
Implements celeritas::StepperInterface.
|
finalvirtual |
Reseed RNGs and counters at the start of an event for reproducibility.
This reinitializes the RNG states using a single seed and unique subsequence for each thread. It ensures that given an event identification, the random number sequence for the event (and thus the event's behavior) can be reproduced.
Implements celeritas::StepperInterface.
|
inlinefinalvirtual |
Get a shared pointer to the state (TEMPORARY, DO NOT USE)
Implements celeritas::StepperInterface.
|
inlinefinalvirtual |
Get the core state interface for diagnostic output.
Implements celeritas::StepperInterface.
|
finalvirtual |
Run all step actions with no active particles.
The warmup stage is useful for profiling and debugging since the first step iteration can do the following:
Implements celeritas::StepperInterface.