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.

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.