Software design for Physics
The design of the Geant4-DNA software dedicated to the modeling of Physics interactions entirely follows the software design of the electromagnetic Physics developments of the Geant4 toolkit.
A physical interaction (for example electronic excitation) is described by a C++ process class. A single process can handle several models (such as theoretical, semi-empirical, …) which are registered to the process class. These models calculate the process cross section and describe the final state of the interaction (that is, production of secondary electrons, scattering angle...).
- All Geant4-DNA process classes derive from the G4VEmProcess abstract base class, which derives from the G4VDiscreteProcess class, since all Geant4-DNA processes are discrete processes. They use the naming format: G4DNAXXX where XXX is the process name (e.g. G4DNAExcitation for electronic excitation induced by electrons). This is the name that is displayed when using the Geant4 User Interface command /tracking/verbose 1.
- All Geant4-DNA model classes derive from the G4VEmModel abstract base class. They use the naming format: G4DNAYYYXXXModel, where YYY is the model name (for example G4DNABornExcitationModel for electronic excitation described by the "Born" model).
These classes are further detailed in the Processes section.