|
gdynamicDigitization
|
Built-in digitization routine for dosimeters with NIEL weighting. More...
#include <ginternalDigitization.h>
Public Member Functions | |
| bool | defineReadoutSpecsImpl () override |
| Defines readout specifications for dosimeter digitization. | |
| std::unique_ptr< GDigitizedData > | digitizeHitImpl (GHit *ghit, size_t hitn) override |
| Digitizes a hit for dosimeter detectors. | |
| bool | loadConstantsImpl (int runno, std::string const &variation) override |
| Loads digitization constants for dosimeter digitization. | |
| GDynamicDigitization (const std::shared_ptr< GOptions > &g) | |
| Inherit the base constructor (const std::shared_ptr<GOptions>&). | |
Public Member Functions inherited from GDynamicDigitization | |
| GDynamicDigitization (const std::shared_ptr< GOptions > &g) | |
| Constructs the digitization base object. | |
| virtual | ~GDynamicDigitization ()=default |
| Virtual destructor. | |
| double | processStepTime (const std::shared_ptr< GTouchable > &gTouchID, G4Step *thisStep) |
| Computes the time associated with a simulation step for electronics binning. | |
| virtual double | processStepTimeImpl (const std::shared_ptr< GTouchable > &gTouchID, G4Step *thisStep) |
| Implementation hook for step time computation. | |
| std::vector< std::shared_ptr< GTouchable > > | processTouchable (std::shared_ptr< GTouchable > gtouchable, G4Step *thisStep) |
| Processes a touchable based on the current step and readout specs. | |
| virtual std::vector< std::shared_ptr< GTouchable > > | processTouchableImpl (std::shared_ptr< GTouchable > gtouchable, G4Step *thisStep) |
| Implementation hook for touchable processing. | |
| std::vector< std::shared_ptr< GTouchable > > | processGTouchableModifiers (const std::shared_ptr< GTouchable > &gTouchID, const GTouchableModifiers &gmods) |
| Applies touchable modifiers. | |
| virtual std::vector< std::shared_ptr< GTouchable > > | processGTouchableModifiersImpl (const std::shared_ptr< GTouchable > &gTouchID, const GTouchableModifiers &gmods) |
| Implementation hook for touchable modifier application. | |
| std::unique_ptr< GTrueInfoData > | collectTrueInformation (GHit *ghit, size_t hitn) |
| Collects standardized “true hit information” into a GTrueInfoData record. | |
| virtual std::unique_ptr< GTrueInfoData > | collectTrueInformationImpl (GHit *ghit, size_t hitn) |
| Implementation hook for true-information collection. | |
| std::unique_ptr< GDigitizedData > | digitizeHit (GHit *ghit, size_t hitn) |
| Digitizes a hit into a GDigitizedData record. | |
| bool | loadConstants (int runno, std::string const &variation) |
| Loads digitization constants (calibration/configuration). | |
| bool | loadTT (int runno, std::string const &variation) |
| Loads the translation table (identity -> electronics address). | |
| virtual bool | loadTTImpl (int runno, std::string const &variation) |
| Implementation hook for translation table loading. | |
| void | chargeAndTimeAtHardware (int time, int q, const GHit *ghit, GDigitizedData &gdata) |
| Adds hardware-level time/charge and address fields to a digitized record. | |
| bool | defineReadoutSpecs () |
| Initializes readout specifications. | |
| virtual bool | decisionToSkipHit (double energy) |
| Decides whether a hit should be skipped based on deposited energy. | |
| void | set_loggers (const std::shared_ptr< GOptions > &g) |
| Sets the options pointer required by the digitization base. | |
Public Member Functions inherited from GBase< GDynamicDigitization > | |
| GBase (const std::shared_ptr< GOptions > &gopt, std::string logger_name="") | |
| GBase (const std::shared_ptr< GLogger > &logger) | |
| GBase (const GBase &)=default | |
| GBase (GBase &&) noexcept=default | |
| virtual | ~GBase () |
| GBase & | operator= (const GBase &)=default |
| GBase & | operator= (GBase &&) noexcept=default |
Additional Inherited Members | |
Static Public Member Functions inherited from GDynamicDigitization | |
| static GDynamicDigitization * | instantiate (const dlhandle h, std::shared_ptr< GOptions > g) |
| Dynamically instantiates a plugin instance from a dynamic library. | |
Data Fields inherited from GDynamicDigitization | |
| std::shared_ptr< const GReadoutSpecs > | readoutSpecs |
| Readout specs are created during initialization and treated as immutable. | |
| std::shared_ptr< const GTranslationTable > | translationTable |
| Translation table is typically loaded during initialization and treated as immutable. | |
Protected Member Functions inherited from GDynamicDigitization | |
| void | check_if_log_defined () const |
| Ensures options/logging are configured before plugin methods run. | |
Protected Attributes inherited from GDynamicDigitization | |
| std::shared_ptr< GOptions > | gopts |
| Options used by the digitization plugin instance. | |
Protected Attributes inherited from GBase< GDynamicDigitization > | |
| std::shared_ptr< GLogger > | log |
This digitization routine computes a NIEL-weight-like quantity by iterating over the per-step particle IDs and energies stored in the input hit, and summing an interpolated NIEL factor from calibration tables on disk.
The calibration tables are loaded by loadConstants() and stored in internal maps keyed by particle id.
Digitized output variables include (at minimum):
Definition at line 131 of file ginternalDigitization.h.
|
overridevirtual |
Implements GDynamicDigitization.
Definition at line 15 of file gDosimeterDigitization.cc.
|
overridevirtual |
This routine:
| ghit | Pointer to the hit to digitize. Ownership stays with the caller. |
| hitn | Sequential hit index within the detector collection (unused). |
Reimplemented from GDynamicDigitization.
Definition at line 29 of file gDosimeterDigitization.cc.
|
inlineexplicit |
Definition at line 167 of file gdynamicdigitization.h.
|
overridevirtual |
This routine loads:
File locations are resolved relative to the GEMC installation root.
| runno | Run number (unused by this routine). |
| variation | Variation string (unused by this routine). |
Reimplemented from GDynamicDigitization.
Definition at line 68 of file gDosimeterDigitization.cc.