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
- 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.