Celeritas
0.5.0-56+6b053cd
|
Tally post-step actions for each particle type. More...
#include <ActionDiagnostic.hh>
Public Types | |
Type aliases | |
using | WPConstActionRegistry = std::weak_ptr< ActionRegistry const > |
using | WPConstParticle = std::weak_ptr< ParticleParams const > |
using | MapStringCount = std::map< std::string, size_type > |
using | VecCount = std::vector< size_type > |
using | VecVecCount = std::vector< VecCount > |
Public Types inherited from celeritas::ActionTypeTraits< P, S > | |
using | CoreParams = P |
using | CoreStateHost = S< MemSpace::host > |
using | CoreStateDevice = S< MemSpace::device > |
using | SpanCoreStateHost = Span< S< MemSpace::host > *const > |
using | SpanCoreStateDevice = Span< S< MemSpace::device > *const > |
Public Types inherited from celeritas::OutputInterface | |
enum class | Category { input , result , system , internal , size_ } |
Output category (TODO: could replace with string/cstring?) | |
Public Member Functions | |
ActionDiagnostic (ActionId id) | |
Construct with the action ID. More... | |
~ActionDiagnostic () | |
Default destructor. | |
MapStringCount | calc_actions_map () const |
Get the nonzero diagnostic results accumulated over all streams. More... | |
VecVecCount | calc_actions () const |
Get the diagnostic results accumulated over all streams. | |
size_type | state_size () const |
Diagnostic state data size (number of particles times number of actions). | |
void | clear () |
Reset diagnostic results. | |
Action interface | |
ID of the action | |
ActionId | action_id () const final |
Short name for the action. | |
std::string_view | label () const final |
Short name for the action. | |
std::string_view | description () const final |
Get a long description of the action. | |
StepActionOrder | order () const final |
Dependency ordering of the action. | |
BeginRunAction interface | |
void | begin_run (CoreParams const &, CoreStateHost &) final |
Build the storage for diagnostic parameters and stream-dependent states. More... | |
void | begin_run (CoreParams const &, CoreStateDevice &) final |
Build the storage for diagnostic parameters and stream-dependent states. More... | |
ExplicitAction interface | |
void | step (CoreParams const &, CoreStateHost &) const final |
Execute action with host data. | |
void | step (CoreParams const &, CoreStateDevice &) const final |
Execute action with device data. | |
Output interface | |
Category of data to write | |
Category | category () const final |
Write output to the given JSON object. | |
void | output (JsonPimpl *) const final |
Write output to the given JSON object. | |
Public Member Functions inherited from celeritas::StepActionInterface< P, S > | |
virtual void | step (P const &, S< MemSpace::host > &) const =0 |
Execute the action with host data. | |
virtual void | step (P const &, S< MemSpace::device > &) const =0 |
Execute the action with device data. | |
Public Member Functions inherited from celeritas::ActionInterface | |
virtual | ~ActionInterface () noexcept=0 |
Default destructor. | |
Public Member Functions inherited from celeritas::BeginRunActionInterface< P, S > | |
virtual void | begin_run (P const &, S< MemSpace::host > &)=0 |
Set host data at the beginning of a run. | |
virtual void | begin_run (P const &, S< MemSpace::device > &)=0 |
Set device data at the beginning of a run. | |
Static Public Member Functions | |
static std::shared_ptr< ActionDiagnostic > | make_and_insert (CoreParams const &core) |
Construct and add to core params. | |
Additional Inherited Members | |
Protected Member Functions inherited from celeritas::ActionInterface | |
ActionInterface ()=default | |
CELER_DEFAULT_COPY_MOVE (ActionInterface) | |
Tally post-step actions for each particle type.
This adds an action-diagnostic
entry to the result
category of the main Celeritas output that has the number of times a post-step action was selected, grouped by particle type. It integrates over all steps and all events.
|
explicit |
Construct with the action ID.
Other required attributes are deferred until beginning-of-run.
|
final |
Build the storage for diagnostic parameters and stream-dependent states.
Since the stream store is (currently) lazily constructed, we can call the same begin_run as host.
|
final |
Build the storage for diagnostic parameters and stream-dependent states.
This must be done lazily (after construction!) because the action diagnostic will be created before all actions are defined in the ActionRegistry
.
auto celeritas::ActionDiagnostic::calc_actions_map | ( | ) | const |
Get the nonzero diagnostic results accumulated over all streams.
This builds a map of particle/action combinations to the number of occurrences over all events.