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 eg. excitation) is described by a process class. A single process can handle several models (e.g. 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 (e.g. 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). This is the name that is displayed when using the Geant4 User Interface command /tracking/verbose 1. In these process classes, several methods are implemented:
  • G4DNAXXX::IsApplicable(...): test of particle applicability
  • G4DNAXXX::InitialiseProcess(...): process initialisation
  • G4DNAXXX::PrintInfo(...): verbose
All Geant4-DNA model classes derive from the G4VEmModel abstract base class. They use the naming format: G4DNAYYYXXXModel, where YYY is the model name (e.g. G4DNABornExcitationModel for electronic excitation according to the "Born" model). Several methods are implemented:
  • G4DNAYYYXXXModel::Initialise(...): model initialisation
  • G4DNAYYYXXXModel::CrossSectionPerVolume(...): computation of model total cross section multiplied by material density (equivalent to inverse mean free path)
  • G4DNAYYYXXXModel::SampleSecondaries(...): computation of interaction final state

These classes are further detailed in the Processes section.