|
Celeritas 0.7.0-dev.160+develop.e5753653a
|
Write "MC truth" data to ROOT at every step. More...
#include <RootStepWriter.hh>

Classes | |
| struct | TStepData |
| Truth step data; Naming convention must match StepStateData. More... | |
| struct | TStepPoint |
| Truth step point data; Naming convention must match StepPointStateData. More... | |
Public Types | |
Type aliases | |
| using | SPRootFileManager = std::shared_ptr< RootFileManager > |
| using | SPParticleParams = std::shared_ptr< ParticleParams const > |
| using | WriteFilter = std::function< bool(TStepData const &)> |
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 Member Functions | |
| RootStepWriter (SPRootFileManager root_manager, SPParticleParams particle_params, StepSelection selection, WriteFilter filter) | |
| Construct writer with user-defined data filtering. | |
| RootStepWriter (SPRootFileManager root_manager, SPParticleParams particle_params, StepSelection selection) | |
| Construct writer without data filtering. | |
| void | set_auto_flush (long num_entries) |
| Set the number of entries before flushing to disk. | |
| void | process_steps (HostStepState) final |
| Collect step data and fill the ROOT TTree for all active threads. | |
| void | process_steps (DeviceStepState) final |
| Process CPU-generated hit data. | |
| StepSelection | selection () const final |
| Selection of data required for this interface. | |
| Filters | filters () const final |
| Detector filtering required for this interface. | |
Public Member Functions inherited from celeritas::StepInterface | |
Static Public Attributes | |
| static constexpr size_type | unspecified {static_cast<size_type>(-1)} |
Additional Inherited Members | |
Protected Member Functions inherited from celeritas::StepInterface | |
| ~StepInterface ()=default | |
| Detector filtering required for this interface. | |
Write "MC truth" data to ROOT at every step.
TTree::Fill() is called for each step and thread id, making each ROOT entry a step. Since the ROOT data is stored in branches with primitive types instead of a full struct, no dictionaries are needed for reading the output file.
The step data that is written to the ROOT file can be filtered by providing a user-defined WriteFilter function.
|
inlinefinalvirtual |
Detector filtering required for this interface.
Implements celeritas::StepInterface.
|
inlinefinalvirtual |
Process CPU-generated hit data.
Implements celeritas::StepInterface.
|
inlinefinalvirtual |
Collect step data and fill the ROOT TTree for all active threads.
Implements celeritas::StepInterface.
|
inlinefinalvirtual |
Selection of data required for this interface.
Implements celeritas::StepInterface.
Set the number of entries before flushing to disk.
This sets the number of steps stored in memory before ROOT flushes the data to disk. Default is ~32MB of compressed data.
See SetAutoFlush in ROOT TTree Class reference for details: https://root.cern.ch/doc/master/classTTree.html