Celeritas
0.5.0-86+4a8eea4
|
Control options for initializing Celeritas SD callbacks. More...
#include <SetupOptions.hh>
Classes | |
struct | StepPoint |
Public Member Functions | |
operator bool () const | |
True if SD is enabled. | |
Public Attributes | |
bool | enabled {true} |
Call back to Geant4 sensitive detectors. | |
bool | ignore_zero_deposition {true} |
Skip steps that do not deposit energy locally. | |
bool | energy_deposition {true} |
Save energy deposition. | |
bool | locate_touchable {true} |
Set TouchableHandle for PreStepPoint. | |
bool | track {true} |
Create a track with the dynamic particle type and post-step data. | |
StepPoint | pre |
Options for saving and converting beginning-of-step data. | |
StepPoint | post |
Options for saving and converting end-of-step data. | |
std::unordered_set< G4LogicalVolume const * > | force_volumes |
Manually list LVs that don't have an SD on the master thread. | |
std::unordered_set< G4LogicalVolume const * > | skip_volumes |
List LVs that should not have automatic hit mapping. | |
Control options for initializing Celeritas SD callbacks.
By default, Celeritas connects to Geant4 sensitive detectors so that it reconstructs full-fidelity hits with all available step information.
enabled
to false
.false
.locate_touchable
is the most expensive detector option. Disable it unless your SDs require (e.g.) the volume's copy number to locate a detector submodule.Various attributes on the step, track, and pre/post step points may be available depending on the selected options.
track
will leave G4Step::GetTrack
as nullptr
.track
will set the Charge
attribute on the pre-step.GlobalTime
, Position
, KineticEnergy
, and MomentumDirection
will be copied to the Track
when the combination of options is enabled.Material
and MaterialCutsCouple
, and sensitive detector) are always updated. Post-step values for those are not set.UserInformation
and AuxiliaryTrackInformation
are never set.The force_volumes
option can be used for unusual cases (i.e., when using a custom run manager) that do not define SDs on the "master" thread. Similarly, the skip_volumes
option allows optimized GPU-defined SDs to be used in place of a Geant4 callback. For both options, the FindVolumes
helper function can be used to determine LV pointers from the volume names.
HitManager
construction that is responsible for reconstructing CPU hits and sending directly to the Geant4 detectors. It does not change the underlying physics.