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

Class for flux detector digitization. Inherits from GDynamicDigitization. More...

#include <ginternalDigitization.h>

Inheritance diagram for GFluxDigitization:
Inheritance graph
Collaboration diagram for GFluxDigitization:
Collaboration graph

Public Member Functions

bool defineReadoutSpecsImpl () override
 Defines readout specifications for flux digitization.
 
std::unique_ptr< GDigitizedData > digitizeHitImpl (GHit *ghit, size_t hitn) override
 Digitizes a hit for flux detectors.
 
 GDynamicDigitization (const std::shared_ptr< GOptions > &g)
 
- Public Member Functions inherited from GDynamicDigitization
 GDynamicDigitization (const std::shared_ptr< GOptions > &g)
 
virtual ~GDynamicDigitization ()=default
 Virtual destructor.
 
double processStepTime (const std::shared_ptr< GTouchable > &gTouchID, G4Step *thisStep)
 Processes the step time.
 
virtual double processStepTimeImpl (const std::shared_ptr< GTouchable > &gTouchID, G4Step *thisStep)
 Default implementation of processStepTime.
 
std::vector< std::shared_ptr< GTouchable > > processTouchable (std::shared_ptr< GTouchable > gtouchable, G4Step *thisStep)
 Processes a GTouchable based on a G4Step.
 
virtual std::vector< std::shared_ptr< GTouchable > > processTouchableImpl (std::shared_ptr< GTouchable > gtouchable, G4Step *thisStep)
 Processes a GTouchable based on the current G4Step.
 
std::vector< std::shared_ptr< GTouchable > > processGTouchableModifiers (const std::shared_ptr< GTouchable > &gTouchID, const GTouchableModifiers &gmods)
 Processes touchable modifiers.
 
virtual std::vector< std::shared_ptr< GTouchable > > processGTouchableModifiersImpl (const std::shared_ptr< GTouchable > &gTouchID, const GTouchableModifiers &gmods)
 Default implementation for processing touchable modifiers.
 
std::unique_ptr< GTrueInfoData > collectTrueInformation (GHit *ghit, size_t hitn)
 Collects true hit information into a GTrueInfoData object.
 
virtual std::unique_ptr< GTrueInfoData > collectTrueInformationImpl (GHit *ghit, size_t hitn)
 Collects true hit information from a GHit.
 
std::unique_ptr< GDigitizedData > digitizeHit (GHit *ghit, size_t hitn)
 Digitizes hit information into a GDigitizedData object.
 
bool loadConstants (int runno, std::string const &variation)
 Loads digitization constants.
 
virtual bool loadConstantsImpl (int runno, std::string const &variation)
 
bool loadTT (int runno, std::string const &variation)
 Loads the translation table.
 
virtual bool loadTTImpl (int runno, std::string const &variation)
 
void chargeAndTimeAtHardware (int time, int q, const GHit *ghit, GDigitizedData &gdata)
 Sets hardware-level charge and time information in the digitized data.
 
bool defineReadoutSpecs ()
 Pure virtual function to initialize readout specifications.
 
virtual bool decisionToSkipHit (double energy)
 
void set_loggers (const std::shared_ptr< GOptions > &g)
 Sets the loggers for the digitization process.
 

Additional Inherited Members

- Static Public Member Functions inherited from GDynamicDigitization
static GDynamicDigitizationinstantiate (const dlhandle h, std::shared_ptr< GOptions > g)
 Dynamically instantiates a GDynamicDigitization object from a dynamic library.
 
- Data Fields inherited from GDynamicDigitization
std::shared_ptr< const GReadoutSpecsreadoutSpecs
 After init, we never mutate these:
 
std::shared_ptr< const GTranslationTable > translationTable
 
- Protected Member Functions inherited from GDynamicDigitization
void check_if_log_defined () const
 Checks that all required loggers and options are defined.
 
- Protected Attributes inherited from GDynamicDigitization
std::shared_ptr< GOptions > gopts
 Optional pointer to GOptions.
 

Detailed Description

Definition at line 35 of file ginternalDigitization.h.

Member Function Documentation

◆ defineReadoutSpecsImpl()

bool GFluxDigitization::defineReadoutSpecsImpl ( )
overridevirtual

Initializes readout parameters (time window, grid start time, and hit bitset) specific to flux detectors.

Returns
True if readout specifications are successfully defined.

This method sets the electronic readout time-window, the grid start time, and the hit bitset (which defines what hit information is stored). It also calls check_if_log_defined() to ensure that all required loggers are set.

Returns
True if the readout specifications were successfully defined.

Implements GDynamicDigitization.

Definition at line 12 of file gFluxDigitization.cc.

◆ digitizeHitImpl()

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

Digitizes a hit and returns a GDigitizedData object.

Processes the hit data and returns a pointer to the resulting digitized data.

Parameters
ghitPointer to the hit (GHit) to be digitized.
hitnThe hit index.
Returns
Pointer to a newly created GDigitizedData object.

This method extracts digitized information from the provided GHit. It retrieves the first identifier from the hit, then creates a GDigitizedData object and populates it with several variables (hit index, total energy deposited, average time, particle ID, and total energy). The check_if_log_defined() call ensures that necessary loggers are available.

Parameters
ghitPointer to the GHit to digitize.
hitnThe hit index (used to label the hit).
Returns
A pointer to the newly created GDigitizedData object.

Reimplemented from GDynamicDigitization.

Definition at line 43 of file gFluxDigitization.cc.

◆ GDynamicDigitization()

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

Definition at line 106 of file gdynamicdigitization.h.


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