Particles

Design Philosophy

The particles category implements the facilities necessary to describe the physical properties of particles for the simulation of particle-matter interactions. All particles are based on the G4ParticleDefinition class, which describes basic properties such as mass, charge, etc., and also allows the particle to carry a list of processes to which it is sensitive. A first-level extension of this class defines the interface for particles that carry cuts information, for example range cut versus energy cut equivalence. A set of virtual, intermediate classes for leptons, bosons, mesons, baryons, etc., allows the implementation of concrete particle classes which define the actual particle properties and, in particular, implement the actual range versus energy cuts equivalence. All concrete particle classes are instantiated as singletons to ensure that all physics processes refer to the same particle properties.

Class Design

The object-oriented design of the ‘particles’ related classes is shown in the following class diagrams. The diagrams are described in the Booch notation. The Fig. 17 shows a general overview of the particle classes. Fig. 19 shows classes related to the particle table and Fig. 18 shows the classes related to the ion table in the particle table. Fig. 20 shows the classes related to the particle decay table in the G4ParticleDefinition. This decay table is used by decay process and Fig. 21 shows the classes related to the decay process and decay channels

../../_images/classDgmParticlesMain.jpg

Fig. 17 Particle classes

../../_images/classDgmIonTable.jpg

Fig. 18 Particle Table

../../_images/classDgmParticleTable.jpg

Fig. 19 Particle Table

../../_images/classDgmParticleDecay.jpg

Fig. 20 Decay Table

../../_images/classDgmDecay.jpg

Fig. 21 Particle Decay