gdynamicDigitization
Loading...
Searching...
No Matches
GPhotonDetectorDigitization Class Reference

Built-in digitization routine for optical-photon flux detectors. More...

#include <gPhotonDetectorDigitization.h>

Public Member Functions

bool decisionToSkipHit (double energy, const G4Step *thisStep) override
 Keeps only optical-photon steps.
 
- Public Member Functions inherited from GFluxDigitization
bool defineReadoutSpecsImpl () override
 Defines readout specifications for flux digitization.
 
std::unique_ptr< GDigitizedDatadigitizeHitImpl (GHit *ghit, size_t hitn) override
 Digitizes a hit for flux detectors.
 
 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.
 
 ~GDynamicDigitization () override=default
 Virtual destructor.
 
virtual CollectionMode collection_mode () const
 
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::string > variables_to_normalize ()
 
virtual std::vector< std::string > variables_to_normalizeImpl ()
 
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< GTrueInfoDatacollectTrueInformation (GHit *ghit, size_t hitn)
 Collects standardized “true hit information” into a GTrueInfoData record.
 
virtual std::unique_ptr< GTrueInfoDatacollectTrueInformationImpl (GHit *ghit, size_t hitn)
 Implementation hook for true-information collection.
 
std::unique_ptr< GDigitizedDatadigitizeHit (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).
 
virtual bool loadConstantsImpl (int runno, std::string const &variation)
 Implementation hook for constant loading.
 
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.
 
void setDigitizationVariation (const std::string &v)
 Sets the variation used when this routine loads constants / translation tables.
 
std::string getDigitizationVariation () const
 Returns the variation passed to loadConstants() / loadTT().
 
- 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 ()
 
GBaseoperator= (const GBase &)=default
 
GBaseoperator= (GBase &&) noexcept=default
 

Additional Inherited Members

- Static Public Member Functions inherited from GDynamicDigitization
static GDynamicDigitizationinstantiate (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 GReadoutSpecsreadoutSpecs
 Readout specs are created during initialization and treated as immutable.
 
std::shared_ptr< const GTranslationTabletranslationTable
 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< GOptionsgopts
 Options used by the digitization plugin instance.
 
- Protected Attributes inherited from GBase< GDynamicDigitization >
std::shared_ptr< GLoggerlog
 

Detailed Description

This routine records the same output fields as flux, but accepts only Geant4 optical-photon steps. Optical photons are recorded even when they deposit zero energy, independent of the global recordZeroEdep switch.

Definition at line 13 of file gPhotonDetectorDigitization.h.

Member Function Documentation

◆ decisionToSkipHit()

bool GPhotonDetectorDigitization::decisionToSkipHit ( double energy,
const G4Step * thisStep )
overridevirtual
Parameters
energyTotal deposited energy for the step.
thisStepGeant4 step being processed.
Returns
true when the step should be skipped.

Reimplemented from GDynamicDigitization.

Definition at line 7 of file gPhotonDetectorDigitization.cc.


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