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

Built-in digitization routine for particle counters. More...

#include <ginternalDigitization.h>

Public Member Functions

bool defineReadoutSpecsImpl () override
 Defines readout specifications for particle counter digitization.
 
std::unique_ptr< GDigitizedDatadigitizeHitImpl (GHit *ghit, size_t hitn) override
 Digitizes a hit for particle counters.
 
 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

Similar to GFluxDigitization, but typically used for detectors whose main purpose is to count/flag particle passage rather than model electronics shaping.

Note
This routine uses a different hit bitset compared to flux/dosimeter routines. The bitset controls which true-hit information is computed/available at the hit level.

Definition at line 86 of file ginternalDigitization.h.

Member Function Documentation

◆ defineReadoutSpecsImpl()

bool GParticleCounterDigitization::defineReadoutSpecsImpl ( )
overridevirtual
Returns
true if readout specifications are successfully defined.

Implements GDynamicDigitization.

Definition at line 4 of file gParticleCounterDigitization.cc.

◆ digitizeHitImpl()

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

Copies identity and basic observables from the hit into the digitized record.

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 15 of file gParticleCounterDigitization.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: