2.6.  Hits and Digitization

2.6.1.  Design Philosophy

In Geant4 a hit is a snapshot of a physical interaction or an accumulation of interactions of a track or tracks in a ``sensitive'' detector component. A digitization, or digit, represents a detector output, such as an ADC/TDC count or a trigger signal. A digit is created from one or more hits and/or other digits.

Given the wide variety of Geant4 applications, ways of describing detector sensitivity and the quantities to be stored in the hits and digits vary greatly. This category therefore provides only abstract classes for both detector sensitivity and hits/digits. It also provides tools for organizing the hits/digits into collections.

2.6.2.  Class Design

  • G4SensitiveDetectorManager - a list of G4SensitiveDetectors.

  • G4HitsStructure - a tree-like structure of G4Hit collections. Each branch represents the hits in given sub-detector. For example, the first level of branches may consist of a tracker, ECAL, and HCAL, while the second level, in HCAL, consists of the barrel and endcaps. Finally the barrel may have phi-slices, Z-slices, etc.

  • G4VSensitiveDetector - an abstract class of all of sensitive volumes.

  • G4HitsCollection - a collection of hits. Instantiates an RWCollection class.

  • G4VHit - this class has all the information about a particular hit caused by a single step.

  • G4VDigitizer - the class of objects which transform the hits deposited by particles into digitizations.

  • G4DigitizerManager - the (single) object dispatching common messages to individual digitizers.

  • G4VDigi - an abstract (base) class for all G4 digitizations. This could be data as simple as a singe byte, or as complex as an Ntuple.

  • G4DigiStructure - digitizations are organized as a structure, which could be anything between a single value and an Ntuple.

The object-oriented design of the 'hit' related classes is shown in the following class diagrams. The diagrams are described in the Booch notation. Figure 2.8 shows the general management of hit classes. Figure 2.9 shows the OO design of user-related hit classes. Figure 2.10 shows the OO design of the readout geometry.

Overview of hit classes management

Figure 2.8.  Overview of hit classes management


User hit classes

Figure 2.9.  User hit classes


Readout geometry

Figure 2.10.  Readout geometry


[Status of this chapter]

27.06.05 section on design philosophy added (from Geant4 general paper) by D.H. Wright
Dec. 2006 Conversion from latex to Docbook verson by K. Amako