1 keV electron track evolution in 150 nm liquid water sphere
http://dx.doi.org/10.6084/m9.figshare.978887



Software for the simulation of water radiolysis has been released with Geant4 10.1. This software is intended for the simulation of
radiolytic products diffusion and mutual interactions in liquid water following the modeling of physical interactions described in the Physics section.

The
examples section shows a list of examples, included four examples for the simulation of water radiolysis.

The following publications (
1 and 2) can be consulted for further information.


Frequently Asked Questions on Geant4-DNA chemistry module


  • How to display information on time steps ?


You can activate verbosity on time steps using the UI command:
/scheduler/verbose 1 (or 2 or 3)

Please look at example
chem1.

  • How to display molecular species position information ?

You can activate verbosity on tracking using the UI command:
/chem/tracking/verbose 1

For this, a concrete class of
G4ITTrackingInteractivity must be initialized and passed to G4Scheduler, as done in the example chem3. This example also shows you how to extract positions of all species using G4UserSteppingAction class.

  • How to count molecular species ?

You can use the
G4MoleculeCounter class. An example describing this feature will be provided in the coming Geant4 releases.

  • How to loop over all molecular species ?

You may use the methods
G4UserTimeStepAction::UserPre/PostTimeStepAction to loop over all tracks using the singleton G4ITTrackHolder.

For instance, to
roll over all tracks without distinctions between species:

G4TrackManyList* allTrackList = G4ITTrackHolder::Instance()->GetMainList();
G4TrackManyList::iterator it = allTrackList->begin();
G4TrackManyList::iterator end = allTrackList->end();

for(;it!=end;++it)
{
G4Track* track = *it; // track can be an OH, e_aq, H2, ...
...
}

If you
only want to loop over a specific species, the code is very similar except that you first have to get the moleculeID of the species you want to loop over, and second you have to use the class G4TrackList instead of G4TrackManyList, as follows:

int OH_ID = G4MoleculeTable::Instance()->GetConfiguration("OH")->GetMoleculeID();

G4TrackList* OH_List = G4ITTrackHolder::Instance()->GetMainList(OH_ID);
G4TrackList::iterator it = OH_List->begin();
G4TrackList::iterator end = OH_List->end();

for(;it!=end;++it)
{
G4Track* track = *it; // track is only of the OH type
...
}

Do not forget to include
G4MoleculeTable, G4MolecularConfiguration, G4ITTrackHolder, G4TrackList & G4TrackManyList according to what you want to do before using the above snippets.

  • Who can I contact ?

You may contact
Dr Mathieu Karamitros if needed.