For any application based on the Geant4-DNA extension, we recommend the implementation of a Geant4-DNA Physics list based on the G4EmDNAPhysics* Physics constructors. The usage of such constructors is described in several Geant4-DNA extended examples (see examples section). For more details, the source code of all G4EmDNAPhysics* Physics contructors may be found in the $G4INSTALL/source/physics_lists/constructors/electromagnetic directory.

In order to implement a Geant4-DNA based Physics list, please follow the two steps indicated below for any G4EmDNAPhysics* Physics constructors.

1) Declaration file (eg. PhysicsList.hh)

#ifndef PhysicsList_h
#define PhysicsList_h 1

#include "G4VModularPhysicsList.hh"
#include "globals.hh"

class G4VPhysicsConstructor;

class PhysicsList: public G4VModularPhysicsList
{
public:
PhysicsList();
virtual ~PhysicsList();
};

#endif

2) Implementation file (eg. PhysicsList.cc)

#include "PhysicsList.hh"
#include "G4SystemOfUnits.hh"
#include "G4EmDNAPhysics.hh"

//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......

PhysicsList::PhysicsList()
: G4VModularPhysicsList()
{
SetDefaultCutValue(1*nanometer);
SetVerboseLevel(1);

// Geant4-DNA physics
RegisterPhysics(
new G4EmDNAPhysics());
}

//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......

PhysicsList::~PhysicsList()
{}

Important notes

  • The above Physics list proposes a default production cut for secondaries (electrons, positrons, gammas) set to 1 nm. The Geant4-DNA processes are all discrete processes; as such, they simulate explicitly all interactions and do not use any production cut, so this 1 nm cut will have no effect on the Geant4-DNA Physics results. However, in the case users need to combine Geant4-DNA processes with other Geant4 electromagnetic processes (for eg. other electron processes) which use cuts for secondary production, we have indicated how to specify this cut value.
  • The user may want to write his/her own PhysicsList class based on Geant4-DNA physics processes and models. In order to do this, we recommend to use the method described above (creation of a PhysicsList class that uses the G4EmDNAPhysics* constructors) and then copy the Geant4 default G4EmDNAPhysics* class in his/her own application, so that he/she can modify this local copy of the G4EmDNAPhysics* class according to his/her needs. Remember that the default G4EmDNAPhysics* classes are located in the $G4INSTALL/source/physics_lists/constructors/electromagnetic directory.


List of available Geant4-DNA Physics constructors

Several Physics constructors are available in Geant4, they are listed below.

  • G4EmDNAPhysics : default constructor
  • G4EmDNAPhysics_option1 (beta) : elastic scattering is simulated using the so-called « WentzelVI » model initially available in Geant4 « standard » electromagnetic Physics, and now extended down to the eV scale (« G4LowEWentzelVIModel » model). This should allow for a faster simulation of elastic scattering but with reduced accuracy.
  • G4EmDNAPhysics_option2 : accelerated version of G4EmDNAPhysics
  • G4EmDNAPhysics_option3 : G4EmDNAPhysics including ion elastic scattering
  • G4EmDNAPhysics_option4 : contains new electron elastic and inelastic models by D. Emfietzoglou, I. Kyriakou, S. Incerti
  • G4EmDNAPhysics_option5 : accelerated version of G4EmDNAPhysics_option4
  • other constructors (...optionX, X>5) should not be used for the moment as they are being tested and improved.

Constructors annoted as
beta are preliminary and may contain bugs, be careful with their usage.