Celeritas 0.6.0-dev.115+3b60a5fd
Loading...
Searching...
No Matches
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.

Member Function Documentation

◆ filters()

virtual Filters celeritas::StepInterface::filters ( ) const
pure virtual

Detector filtering required for this interface.

Implemented in celeritas::RootStepWriter, celeritas::SimpleCalo, celeritas::test::ExampleInstanceCalo, and celeritas::test::ExampleMctruth.

◆ process_steps() [1/2]

virtual void celeritas::StepInterface::process_steps ( DeviceStepState  )
pure virtual

◆ process_steps() [2/2]

virtual void celeritas::StepInterface::process_steps ( HostStepState  )
pure virtual

◆ selection()

virtual StepSelection celeritas::StepInterface::selection ( ) const
pure virtual

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