Celeritas  0.5.0-56+6b053cd
Public Member Functions | List of all members
celeritas::ActionGroups< P, S > Class Template Reference

Group and sequence actions to be used over the lifetime of a run. More...

#include <ActionGroups.hh>

Public Types

Type aliases
using BeginRunActionT = BeginRunActionInterface< P, S >
 
using StepActionT = StepActionInterface< P, S >
 
using SPBeginAction = std::shared_ptr< BeginRunActionT >
 
using SPConstStepAction = std::shared_ptr< StepActionT const >
 
using VecBeginAction = std::vector< SPBeginAction >
 
using VecStepAction = std::vector< SPConstStepAction >
 

Public Member Functions

 ActionGroups (ActionRegistry const &)
 Construct from an action registry.
 
VecBeginAction const & begin_run () const
 Get the set of beginning-of-run actions.
 
VecStepAction const & step () const
 Get the ordered vector of actions within a step.
 

Detailed Description

template<class P, template< MemSpace M > class S>
class celeritas::ActionGroups< P, S >

Group and sequence actions to be used over the lifetime of a run.

This class improves runtime performance by caching the correct base classes of the virtual action hierarchy. It sorts step actions by increasing StepActionOrder, then by increasing action ID. Other actions are sorted solely by action ID.

Because actions can inherit from multiple action types, the sum of actions from these partitions may be greater than the number of actions in the registry.


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