Celeritas  0.5.0-56+6b053cd
Classes | List of all members
celeritas::StepInterface Class Referenceabstract

Callback class to gather and process data from many tracks at a single step. More...

#include <StepInterface.hh>

Inheritance diagram for celeritas::StepInterface:
Inheritance graph
[legend]

Classes

struct  Filters
 Filtering to apply to the gathered data for this step. More...
 

Type aliases

using HostStepState = StepState< MemSpace::host >
 Detector filtering required for this interface.
 
using DeviceStepState = StepState< MemSpace::device >
 Detector filtering required for this interface.
 
using MapVolumeDetector = std::map< VolumeId, DetectorId >
 Detector filtering required for this interface.
 
virtual Filters filters () const =0
 Detector filtering required for this interface.
 
virtual StepSelection selection () const =0
 Selection of data required for this interface.
 
virtual void process_steps (HostStepState)=0
 Process CPU-generated hit data.
 
virtual void process_steps (DeviceStepState)=0
 Process device-generated hit data.
 
 ~StepInterface ()=default
 Detector filtering required for this interface.
 

Detailed Description

Callback class to gather and process data from many tracks at a single step.

The filtering mechanism allows different step interfaces to gather data from different detector volumes. Filtered step interfaces cannot be combined with unfiltered in a single hit collector. (FIXME: maybe we need a slightly different class hierarchy for the two cases?) If detectors are in use, and all StepInterface instances in use by a StepCollector select the "nonzero_energy_deposition" flag, then the StepStateData::detector entry for a thread with no energy deposition will be cleared even if it is in a sensitive detector. Otherwise entries with zero energy deposition will remain.


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