Celeritas  0.5.0-56+6b053cd
Public Member Functions | List of all members
celeritas::SimpleCalo Class Referencefinal

Accumulate energy deposition in volumes. More...

#include <SimpleCalo.hh>

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

Public Types

Type aliases
using VecLabel = std::vector< Label >
 
using EnergyUnits = units::Mev
 
template<MemSpace M>
using DetectorRef = celeritas::Collection< real_type, Ownership::reference, M, DetectorId >
 
using VecReal = std::vector< real_type >
 
- Public Types inherited from celeritas::StepInterface
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.
 
- 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

 SimpleCalo (std::string output_label, VecLabel labels, GeoParamsInterface const &geo, size_type max_streams)
 Construct with sensitive regions.
 
 SimpleCalo (VecLabel labels, GeoParamsInterface const &geo, size_type max_streams)
 Construct with default label.
 
DetectorId::size_type num_detectors () const
 Number of distinct sensitive volumes.
 
template<MemSpace M>
DetectorRef< M > const & energy_deposition (StreamId) const
 
VecReal calc_total_energy_deposition () const
 Get accumulated energy deposition over all streams. More...
 
void clear ()
 Reset energy deposition to zero, usually at the start of an event.
 
template<MemSpace M>
auto energy_deposition (StreamId stream_id) const -> DetectorRef< M > const &
 Get tallied stream-local data.
 
Step interface
Filters filters () const final
 Map volume names to detector IDs and exclude tracks with no deposition.
 
StepSelection selection () const final
 Only save energy deposition and pre-step volume.
 
void process_steps (HostStepState) final
 Process detector tallies (CPU). More...
 
void process_steps (DeviceStepState) final
 Map volume names to detector IDs and exclude tracks with no deposition.
 
Output interface
Category category () const final
 Write output to the given JSON object.
 
std::string_view label () 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::StepInterface

Additional Inherited Members

- Protected Member Functions inherited from celeritas::StepInterface
 ~StepInterface ()=default
 Detector filtering required for this interface.
 

Detailed Description

Accumulate energy deposition in volumes.

Todo:
Add a "begin run" interface to set up the stream store, rather than passing in number of streams at construction time.

Member Function Documentation

◆ calc_total_energy_deposition()

auto celeritas::SimpleCalo::calc_total_energy_deposition ( ) const

Get accumulated energy deposition over all streams.

This accessor is useful only when integrating over events and over cores. It also integrates over devices in case you happen to be running Celeritas on both host and device for some weird reason.

The index in the vector corresponds to the detector ID and is in the same order as the input labels.

◆ process_steps()

void celeritas::SimpleCalo::process_steps ( HostStepState  state)
finalvirtual

Process detector tallies (CPU).

Process detector tallies (GPU).

Implements celeritas::StepInterface.


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