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

Built-in digitization routine for "flux-like" detectors. More...

#include <ginternalDigitization.h>

Public Member Functions

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.
 
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< 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.
 
- 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 digitization routine demonstrates a minimal digitization strategy: it copies a detector identity and basic hit-level observables into the output GDigitizedData.

Output variables typically include:

  • detector identity (the name/value of the first GIdentifier)
  • hit index ("hitn")
  • total deposited energy ("totEdep")
  • average time ("time")
  • particle id ("pid")
  • total energy ("totalE")
Note
The exact naming and presence of variables must match what downstream consumers expect (e.g. converters, output writers, or analysis).

Definition at line 45 of file ginternalDigitization.h.

Member Function Documentation

◆ defineReadoutSpecsImpl()

bool GFluxDigitization::defineReadoutSpecsImpl ( )
overridevirtual

This routine sets the electronics readout parameters through a GReadoutSpecs instance. These settings govern the time-cell binning used when GTouchables are split by time.

Returns
true if readout specifications are successfully defined.

Implements GDynamicDigitization.

Definition at line 4 of file gFluxDigitization.cc.

◆ digitizeHitImpl()

std::unique_ptr< GDigitizedData > GFluxDigitization::digitizeHitImpl ( GHit * ghit,
size_t hitn )
overridevirtual

This routine converts a GHit into a GDigitizedData record. It is intentionally simple: it pulls identity and basic observables directly from the hit and stores them as named variables.

Parameters
ghitPointer to the hit to digitize. Ownership stays with the caller.
hitnSequential hit index within the detector collection.
Returns
A newly allocated digitized record for this hit.

Reimplemented from GDynamicDigitization.

Definition at line 17 of file gFluxDigitization.cc.

◆ GDynamicDigitization()

GDynamicDigitization::GDynamicDigitization ( const std::shared_ptr< GOptions > & g)
inlineexplicit

Definition at line 167 of file gdynamicdigitization.h.


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