Hits and Digitization
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.
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.
shows the general management of hit classes.
shows the OO design of user-related hit classes.
shows the OO design of the 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