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 (for eg. theoretical, semi-empirical, …) which are registered to the process class.

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 (for eg. G4DNAExcitation for excitation). This is the name that will be 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 (for eg. G4DNABornExcitationModel for excitation). 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 model final state

These classes are further detailed in the Processes section.