1 keV electron track evolution in 150 nm liquid water sphere
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, including 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 following UI command:
/scheduler/verbose 1 (or 2 or 3)
Please look at our example "chem1".
- How to display molecular species position information ?
You can activate verbosity on tracking using the UI command:
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 the G4UserSteppingAction class.
- How to count molecular species ?
You can use the G4MoleculeCounter class.
- 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();
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();
G4Track* track = *it; // track is only of the OH type
Do not forget to include G4MoleculeTable, G4MolecularConfiguration, G4ITTrackHolder, G4TrackList and 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.