Back to home page

EIC code displayed by LXR

 
 

    


Warning, /geant4/examples/extended/medical/dna/chem5/README is written in an unsupported language. File is not indexed.

0001 -------------------------------------------------------------------
0002 
0003      =========================================================
0004      Geant4 - an Object-Oriented Toolkit for Simulation in HEP
0005      =========================================================
0006 
0007                             Chem5
0008                             -------
0009 
0010 Jose Ramos-Mendez(a) and Bruce Faddegon
0011 Department of Radiation Oncology, 
0012 University of California San Francisco.
0013 
0014 (a) CORRESPONDING AUTHOR 
0015 joserm84 _ gmail _ com
0016 
0017 This example is provided by the Geant4-DNA collaboration.
0018 (http://geant4-dna.org)
0019 
0020 Any report or published results obtained using the Geant4-DNA software shall 
0021 cite the following Geant4-DNA collaboration publications:
0022 Phys. Med. 31 (2015) 861-874
0023 Med. Phys. 37 (2010) 4692-4708
0024 
0025 Any report or published results obtained using this example shall 
0026 cite the following publication:
0027 Phys. Med. Biol. 63(10) (2018) 105014-12pp
0028 
0029 The example is a variation of chem4, it shows how to activate 
0030 chemistry code and score the radiochemical yield G using the contructors
0031 G4EmDNAPhysics_option8 and G4EmDNAChemistry_option1
0032 
0033  1 - GEOMETRY DEFINITION
0034 
0035     The world volume is a simple box which represents a 'pseudo infinite'
0036     homogeneous medium.
0037 
0038     Two parameters define the geometry :
0039     - the material of the box -- for Geant4-DNA it has to be water.
0040     - the full size of the box.
0041 
0042     The default geometry is constructed in DetectorConstruction class.
0043 
0044  2 - PHYSICS LIST
0045 
0046     PhysicsList is Geant4 modular physics list using G4EmDNAPhysics_option8 &
0047     G4EmDNAChemistry_option1 constructors.
0048 
0049  3 - ACTION INITALIZATION
0050 
0051     The class ActionInitialization instantiates and registers
0052     to Geant4 kernel all user action classes.
0053 
0054     While in sequential mode the action classes are instantiated just once,
0055     via invoking the method:
0056        ActionInitialization::Build()
0057     in multi-threading mode the same method is invoked for each thread worker
0058     and so all user action classes are defined thread-local.
0059 
0060     A run action class is instantiated both thread-local
0061     and global that's why its instance is created also in the method:
0062     ActionInitialization::BuildForMaster()
0063     which is invoked only in multi-threading mode.
0064 
0065  4 - AN EVENT: THE PRIMARY GENERATOR
0066 
0067     The primary kinematic consists of a single particle starting at the center
0068     of the box. The type of the particle and its energy are set in the
0069     PrimaryGeneratorAction class, and can be changed via the G4 build-in
0070     commands of G4ParticleGun class.
0071     The chemistry module is triggered in the StackingAction class when all
0072     physical tracks have been processed.
0073 
0074  5 - DETECTOR RESPONSE: Scorers
0075  
0076             5.1 - Species scorer
0077 
0078     Scorers are defined in DetectorConstruction::ConstructSDandField(). There is
0079     one G4MultiFunctionalDetector object which computes the energy deposition and
0080     the number of species along time in order to extract
0081     the radiochemical yields:
0082     (Number of species X) / (100 eV of deposited energy).
0083 
0084     Run::RecordEvent(), called at end of event, collects informations
0085     event per event from the hits collections, and accumulates statistic for
0086     RunAction::EndOfRunAction().
0087 
0088     In multi-threading mode the statistics accumulated per workers is merged
0089     to the master in Run::Merge().
0090 
0091     The information about G-value as a function of the time for each 
0092     molecular specie is scored in a ASCII format
0093     
0094     
0095         5.2 - Primary killer
0096 
0097     The G-values are computing for a range of deposited energy. 
0098     An infinite volume is assumed as geometric scenario. Therefore the energy lost by the 
0099     primary particle equals the deposited energy from all secondary particles.
0100 
0101     The primary is killed once it has deposited more energy than a 
0102     minimum threshold. 
0103     
0104     **IMPORTANT**: However, when the primary particle looses more energy 
0105     in few interaction steps than the maximum allowed thresold, 
0106     the event is disregarded (=aborted). 
0107     
0108     These two macro commands can be used to control the energy loss by 
0109     the primary:
0110     
0111     /primaryKiller/eLossMin 10 keV 
0112     # after 10 keV of energy loss by the primary particle, the primary is killed
0113     
0114     /primaryKiller/eLossMax 10.1 keV 
0115     # if the primary particle losses more than 10.1 keV, the event is aborted
0116 
0117     The G-values are then computed for a deposited energy in the range [10.0 keV;10.1 keV].
0118  
0119     Note that if the upper boundary of the energy lost by the primary is 
0120     not set, the chemistry may take a lot of time to compute. 
0121     This set of macros is embedded in the PrimaryKiller class.
0122     The species scorer must check whether the event was aborted before taking it or not into
0123     account for the computation of the results. 
0124 
0125  6 - STACKING ACTION
0126 
0127      StackingAction::NewStage is called when a stack of tracks has been processed
0128      (for more details, look at the Geant4 documentation).
0129      A verification on whether physical tracks remain to be processed is done.
0130      If no tracks remain to be processed, the chemical module is then triggered.
0131 
0132  7 - VISUALISATION
0133 
0134     The visualization manager is set via the G4VisExecutive class
0135     in the main() function in chem5.cc.
0136     The initialisation of the drawing is done via a set of /vis/ commands
0137     in the macro vis.mac. To activate the visualization mode run:
0138      ./chem5 -vis
0139 
0140  8 - OUTPUT
0141 
0142     Physics initialization and the defined reaction table are printed.
0143     G4Scheduler processes the chemical stage time step after time step.
0144     Chemical reactions are printed.
0145     The molecular reaction as a function of the elapsed time can be displayed
0146     setting the macro command /scheduler/verbose 1
0147 
0148 9 - RELEVANT MACRO COMMANDS
0149     /primaryKiller/eLossMin 10 keV # after 10 keV of energy loss by the primary particle, the primary is killed
0150     /primaryKiller/eLossMax 10.1 keV # if the primary particle losses more than 10.1 keV, the event is aborted
0151     /scheduler/verbose 1 # set the verbose level of the G4Scheduler class (time steps, reactions ...)
0152     /scheduler/endTime 1 microsecond # set the time at which the simulation stops
0153     /scheduler/whyDoYouStop # for advanced users: print information at the end of 
0154                             #the chemical stage to know why the simulation has stopped
0155     
0156 10 - PLOT
0157     The information about all the molecular species is scored in a ASCII 
0158     tuple, each value corresponding to the G-value per time. This format is friendly
0159     with a wide variety of plotting software. 
0160     Experimental data of G-values for solvated electron and hydroxil radical (as a function of the time) 
0161     from the literature is available in data subdirectory, the references are provided
0162     in the header of each file. Further information is available in Phys. Med. Biol. 63(10) (2018) 105014-12pp.
0163 
0164     A gnuplot script (plot.gp) file is provided to display the output data with the experimental data
0165