Celeritas  0.5.0-56+6b053cd
Classes | Public Member Functions | List of all members
celeritas::ActionSequence Class Reference

Sequence of step actions to invoke as part of a single step. More...

#include <ActionSequence.hh>

Classes

struct  Options
 Construction/execution options. More...
 

Public Types

Type aliases
using ActionGroupsT = ActionGroups< CoreParams, CoreState >
 
using VecDouble = std::vector< double >
 

Public Member Functions

 ActionSequence (ActionRegistry const &, Options options)
 Construct from an action registry and sequence options.
 
template<MemSpace M>
void begin_run (CoreParams const &params, CoreState< M > &state)
 Initialize actions and states.
 
template<MemSpace M>
void step (CoreParams const &, CoreState< M > &state)
 Call all explicit actions with host or device data.
 
bool action_times () const
 Whether synchronization is taking place.
 
ActionGroupsT const & actions () const
 Get the ordered vector of actions in the sequence.
 
VecDouble const & accum_time () const
 Get the corresponding accumulated time, if 'sync' or host called.
 

Detailed Description

Sequence of step actions to invoke as part of a single step.

TODO accessors here are used by diagnostic output from celer-sim etc.; perhaps make this public or add a diagnostic output for it?

Todo:
Refactor action times as "aux data" and as an end-gather action so that this class can merge across states. Currently there's one sequence per stepper which isn't right.

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