Geant4 Cross Reference |
1 ========================================= 1 ======================================================== 2 Geant4 - exp_microdosimetry example 2 Geant4 - exp_microdosimetry example 3 ========================================= 3 ========================================================= 4 4 5 README 5 README 6 --------------------- 6 --------------------- 7 7 8 8 9 The exp_microdosimetry example, originally nam 9 The exp_microdosimetry example, originally named "Radioprotection", is currently developed and mantained by Susanna Guatelli (Centre For Medical Radiation Physics (CMRP), University of Wollongong, NSW, Australia) and Francesco Romano (INFN - Sezione di Catania, Catania, Italy) 10 10 11 ---------------------------------------------- 11 ------------------------------------------------------------------------ 12 12 13 Contact: susanna@uow.edu.au 13 Contact: susanna@uow.edu.au 14 francesco.romano@ct.infn.it 14 francesco.romano@ct.infn.it 15 geant4-advanced-examples@cern.ch 15 geant4-advanced-examples@cern.ch 16 16 17 ---------------------------------------------- 17 ------------------------------------------------------------------------ 18 18 19 List of external collaborators: 19 List of external collaborators: 20 J. Magini and G. Parisi - University of Surrey 20 J. Magini and G. Parisi - University of Surrey, United Kingdom 21 J. Davis and D. Bolst - University of Wollongo 21 J. Davis and D. Bolst - University of Wollongong, NSW, Australia 22 G. Milluzzo- INFN-Sezione di Catania, Catania, 22 G. Milluzzo- INFN-Sezione di Catania, Catania, Italy 23 23 24 ---------------------------------------------- 24 ----------------------------------------------------------------- 25 ----> Introduction. 25 ----> Introduction. 26 26 27 The exp_microdosimetry example models differen 27 The exp_microdosimetry example models different detectors for microdosimetry in space applications. The example lets the user 28 choose between the models of a simplified diam << 28 choose between the models of a simplified diamond (1), a micro-diamond (2), a simplified silicon (3), a silicon microdosimeter (4), and a two-stage diamond detector (5): 29 29 30 1) A semplified diamond microdosimeter is base 30 1) A semplified diamond microdosimeter is based on the detector developed by Prof. Anatoly Rosenfeld and his team at the Centre For Medical Radiation Physics, CMRP, University of Wollongong, NSW, Australia. The design of the device is documented in J. Davis, et al., "Characterisation of a novel diamond-based microdosimeter prototype 31 for radioprotection applications in space envi 31 for radioprotection applications in space environments",IEEE Transactions on Nuclear Science, 32 Vol. 59, pp. 3110-3116, 2012. 32 Vol. 59, pp. 3110-3116, 2012. 33 33 34 2) The microdiamond detector is based on the d 34 2) The microdiamond detector is based on the detectors developed by the Research Group of The University of Rome "Tor Vergata". The design and performances of the detector are documented in C. Verona et al., "Spectroscopic properties and radiation damage investigation of a diamond based Schottky diode for ion-beam therapy microdosimetry", Journal of Applied Physics, vol. 118, 2015, and in C. Verona et al., "Toward the use of single crystal diamond based detector for ion-beam therapy microdosimetry", Radiation Measurements, vol. 110, 2018. 35 35 36 3-4) Both silicon microdosimeters are based on 36 3-4) Both silicon microdosimeters are based on the "Bridge" microdosimeter, developed by the Centre For Medical Radiation physics, University of Wollongong, documented in chapter 7 of the PhD Thesis of D. Bolst “Silicon microdosimetry in hadron therapy using Geant4”, https://ro.uow.edu.au/theses1/619/ . (3) contains a simplified geometry with only four sensitive volumes, while (4) includes the complete design. 37 37 38 5) The diamond telescope is based on the detec 38 5) The diamond telescope is based on the detector developed by University of Rome "Tor Vergata". Its design and characterisation are documented in Cesaroni et al., "", Nucl. Instrum. Methods. Phys. Res. A, vol.947, 2019, DOI:https://doi.org/10.1016/j.nima.2019.162744 , and in C. Verona et al., "Characterisation of a monolithic ΔE-E diamond telescope detector using low energy ion microbeams", Radiation Measurements, vol. 159, 2022, DOI:https://doi.org/10.1016/j.radmeas.2022.106875 . 39 6) A sempliefied version of a Silicon Carbide << 40 39 41 The type of detectors, its shape, and its posi 40 The type of detectors, its shape, and its position can be set via the included "geometry.mac" macro. 42 This macro is called in both the vis.mac and r 41 This macro is called in both the vis.mac and run.mac macro files, and include the following options: 43 - a macro command to choose the type of detect 42 - a macro command to choose the type of detector between the above (/geometrySetup/selectDetector "...") 44 - two macro commands to customise the width an 43 - two macro commands to customise the width and thickness of the sensitive volumes (/geometrySetup/detectorDimension/setWidth "...", /geometrySetup/detectorDimension/setThinckness "..."). It won't take effect when using (1) and (4), as these are finalised designs 45 - two equivalent macro commands (/geometrySetu 44 - two equivalent macro commands (/geometrySetup/detectorDimension/secondStage/...) to customise the second stage of the detector, if (5) is used 46 - a macro command to choose whether to place t 45 - a macro command to choose whether to place the detector in vacuum or inside a water phantom (/geometrySetup/enableWaterPhantom "true/false") 47 - a macro command for use with the water phant 46 - a macro command for use with the water phantom to set the detector's width in water (/geometrySetup/detectorPosition/setDepth "...") 48 The above only take effect only if the macro c 47 The above only take effect only if the macro command /geometrySetup/applyChanges is applied. If the user forgets to run this last command a warning is issued at runtime. 49 48 50 An isotropic field of Galactic Cosmic Rays (GC 49 An isotropic field of Galactic Cosmic Rays (GCR) protons is incident on the device. 51 The energy deposition is calculated in the sen 50 The energy deposition is calculated in the sensitive detectors. 52 51 53 In particular in this example it is shown how 52 In particular in this example it is shown how to: 54 - model a realistic isotropic field of GCRs by 53 - model a realistic isotropic field of GCRs by means of the General Particle Source 55 - model a realistic detector in Geant4 54 - model a realistic detector in Geant4 56 - customise the detector's geometry and its po 55 - customise the detector's geometry and its position at runtime via macros 57 - retrieve the information of secondary partic 56 - retrieve the information of secondary particles originated in the SV 58 - define the physics by means of a Geant4 Modu 57 - define the physics by means of a Geant4 Modular Physics List 59 - characterise the response of a realistic det 58 - characterise the response of a realistic detector 60 - save results in an analysis ROOT or plaintex 59 - save results in an analysis ROOT or plaintext csv file using the Geant4 analysis component. 61 60 62 The example can be executed in multithreading 61 The example can be executed in multithreading mode 63 62 64 ---------------------------------------------- 63 ------------------------------------------------------------------------ 65 ----> 1.Experimental set-up. 64 ----> 1.Experimental set-up. 66 65 67 The diamond microdosimeter can be set either i 66 The diamond microdosimeter can be set either in vacuum (for space radioprotection applications) or at a user-defined depth within a water phantom (for clinical applications). 68 - if placing the detector in a vacuum, its cen 67 - if placing the detector in a vacuum, its centre coincides with the centre of the world volume. The world is a box with size 10 cm, filled with vacuum. 69 - if placing the detector in a water phantom, 68 - if placing the detector in a water phantom, its centre coincides with the chosen depth inside the water phantom. The water phantom is a water box of width 5 cm and length equal to the detector depth + 2 cm. It's placed in a world volume filled with air having twice its size, located so that a depth equal to 0 cm corresponds to the centre of the world. 70 69 71 All SV structures are active. 70 All SV structures are active. 72 71 73 The primary radiation field is defined by mean 72 The primary radiation field is defined by means of the GeneralParticleSource in the file 74 primary.mac 73 primary.mac 75 74 76 ---------------------------------------------- 75 ------------------------------------------------------------------------- 77 ----> 2.SET-UP 76 ----> 2.SET-UP 78 77 79 A standard Geant4 example CMakeLists.txt is pr 78 A standard Geant4 example CMakeLists.txt is provided. 80 79 81 Setup for analysis: 80 Setup for analysis: 82 By default, the example has no analysis compon 81 By default, the example has no analysis component. 83 82 84 To compile and use the application with the an 83 To compile and use the application with the analysis on, build the example with the following command: 85 cmake -DWITH_ANALYSIS_USE=ON -DGeant4_DIR=/pat 84 cmake -DWITH_ANALYSIS_USE=ON -DGeant4_DIR=/path/to/Geant4_installation /path/to/exp_microdosimetry example 86 85 87 When the analysis is enables, the default outp 86 When the analysis is enables, the default output format is one compatible with ROOT 88 The user can switch to a plaintext csv by unco 87 The user can switch to a plaintext csv by uncommenting the corresponding macro command in output.mac (/analysis/useRoot false) 89 88 90 Two data analysis scripts are provided for use 89 Two data analysis scripts are provided for use with each output format: 91 - for ROOT output (exp_microdosimetry.root), p 90 - for ROOT output (exp_microdosimetry.root), plot.C is provided. If the user intends to use this macro, ROOT must be installed (http://root.cern.ch/drupal/) 92 - for csv output (exp_microdosimetry_*.csv), 1 91 - for csv output (exp_microdosimetry_*.csv), 1_plot_distributions.py and 2_calculate_means_rbe.py (in this order). If the user intends to use these macros, Python 3 must be installed (https://www.python.org/) 93 Both scripts plot the microdosimetric spectrum 92 Both scripts plot the microdosimetric spectrum resulting from the simulation, calculate the microdosimetric means, and provide one or more RBE estimates (this is just provided as an example, and the user is encouraged to look into RBE modelling himself) 94 93 95 ---------------------------------------------- 94 ------------------------------------------------------------------------ 96 ----> 3.How to run the example. 95 ----> 3.How to run the example. 97 96 98 - Batch mode: 97 - Batch mode: 99 ./exp_microdosimetry run.mac 98 ./exp_microdosimetry run.mac 100 99 101 - Interative mode: 100 - Interative mode: 102 ./exp_microdosimetry 101 ./exp_microdosimetry 103 vis.mac is the default macro, executed in i 102 vis.mac is the default macro, executed in interactive mode. 104 103 105 ---------------------------------------------- 104 --------------------------------------------------------------------------------- 106 ----> 4. Primary radiation Field 105 ----> 4. Primary radiation Field 107 106 108 The radiation field is defined with the Genera 107 The radiation field is defined with the General Particle Source. 109 Look at the macro primary.mac . 108 Look at the macro primary.mac . 110 109 111 NOTE: To maximise efficiency the field has bee 110 NOTE: To maximise efficiency the field has been modelled with a limiting angle to reduce redundant events. 112 111 113 This macro contains a proton field of Galactic 112 This macro contains a proton field of Galactic Cosmic Rays (GCR) 114 If this example is used for medical applicatio 113 If this example is used for medical applications (with a water phantom) the user is encouraged to replace this macro with one that might simulate a therapeutic beam of interest 115 114 116 ---------------------------------------------- 115 ------------------------------------------------------------------------ 117 ----> 5. Simulation output 116 ----> 5. Simulation output 118 117 119 **** SEQUENTIAL MODE 118 **** SEQUENTIAL MODE 120 The output is radioprotection.root, containing 119 The output is radioprotection.root, containing 121 - an ntuple with the A, Z, and energy of the 120 - an ntuple with the A, Z, and energy of the secondary particles originated in the diamond microdosimeters. 122 - an ntuple withe the energy spectrum (in Me 121 - an ntuple withe the energy spectrum (in MeV) of primary particles. 123 - an ntuple with the energy deposition per e 122 - an ntuple with the energy deposition per event(in keV) in the SV. 124 123 125 When outputting to plaintext csv a separate fi 124 When outputting to plaintext csv a separate file is used for each ntuple, following the naming scheme: 126 radioprotection_nt_10?.csv 125 radioprotection_nt_10?.csv 127 126 128 where ? is the number of the ntuple 127 where ? is the number of the ntuple 129 128 130 129 131 **** MULTITHREAD mode 130 **** MULTITHREAD mode 132 output files: 131 output files: 133 exp_microdosimetry.root_t0 132 exp_microdosimetry.root_t0 134 .. 133 .. 135 .. 134 .. 136 exp_microdosimetry.root_t# 135 exp_microdosimetry.root_t# 137 136 138 where # is the number of threads 137 where # is the number of threads 139 138 140 When outputting to plaintext csv a separate fi 139 When outputting to plaintext csv a separate file is used for each ntuple, following the naming scheme: 141 exp_microdosimetry_nt_10?_t#.csv 140 exp_microdosimetry_nt_10?_t#.csv 142 141 143 where ? is the number of the ntuple 142 where ? is the number of the ntuple 144 143 145 144 146 when using ROOT type: source MergeFiles to mer 145 when using ROOT type: source MergeFiles to merge the output of each thread in a single one 147 when using Python, the first script takes care 146 when using Python, the first script takes care of parsing and merging the ntuples 148 147 149 ---------------------------------------------- 148 ------------------------------------------------------------------------------- 150 ----> 6.Visualisation 149 ----> 6.Visualisation 151 150 152 a macro is provided ad example of visualisatio 151 a macro is provided ad example of visualisation: vis.mac 153 152 154 For any problem or question please contact Sus 153 For any problem or question please contact Susanna Guatelli, susanna@uow.edu.au 155 154 156 ---------------------------------------------- 155 ------------------------------------------------------------------------------- 157 ----> 7. Analysis 156 ----> 7. Analysis 158 Two sets of macro: 157 Two sets of macro: 159 - ProcessMicro.C for ROOT output 158 - ProcessMicro.C for ROOT output 160 - 1_plot_distributions.py and 2_calculate_mean 159 - 1_plot_distributions.py and 2_calculate_means_rbe.py (to be executed in this order) for csv output 161 160 162 Each macro performs analysis of the energy dep 161 Each macro performs analysis of the energy deposition stored in the ntuple and performs the following microdosimetry operations: 163 -Bins the event by event energy deposition sto 162 -Bins the event by event energy deposition stored in the ntuple into a histogram (both with linear and logarithmic binning) and converts to lineal energy 164 -Calculates the quantities: mean lineal energy 163 -Calculates the quantities: mean lineal energy (yF), the dose mean lineal energy (yD), the quality factor (Q) using the weighting factors from the ICRP 60 report 165 -In addition to these quantities the macro als 164 -In addition to these quantities the macro also calculates an estimate for the RBE using the modified MK model. This model is not generally used for shielding/radiation proction but in hadron therapy, but is provided for interest. 166 -The Python macro also includes an RBE estimat 165 -The Python macro also includes an RBE estimate via weight function. For more info about this RBE model, see T. Loncol et al, “Radiobiological Effectiveness of Radiation Beams with Broad 167 LET Spectra: Microdosimetric Analysis Using Bi 166 LET Spectra: Microdosimetric Analysis Using Biological Weighting Functions”, Radiation Protection Dosimetry 52.1-4, pp. 347–352, 1994 168 -The macro also generates the common "microdos 167 -The macro also generates the common "microdosimetric spectra" or yd(y) in a semi-log plot 169 168 170 When using the two-stage detector (5), no anal 169 When using the two-stage detector (5), no analysis script is currently included for the second stage 171 170 172 ---------------------------------------------- 171 ------------------------------------------------------------------------------ 173 -----> Future developments 172 -----> Future developments 174 173 175 1) Further macros will be included for placing 174 1) Further macros will be included for placing a variable number of sensitive volumes 176 2) A new macro messenger will be included to a 175 2) A new macro messenger will be included to allow the user to stop the simulation after a given number of recorded events, in order to have more control over the statistics of the simulation 177 3) A new script will be added to provide a dE- 176 3) A new script will be added to provide a dE-E plot for use with the telescope detector (5)