Geant4 Cross Reference |
>> 1 $Id: README,v 1.13 2007/11/13 11:31:54 maire Exp $ 1 ---------------------------------------------- 2 ------------------------------------------------------------------- 2 3 3 ========================================= 4 ========================================================= 4 Geant4 - an Object-Oriented Toolkit for S 5 Geant4 - an Object-Oriented Toolkit for Simulation in HEP 5 ========================================= 6 ========================================================= 6 7 7 fanoCavity 8 fanoCavity 8 ---------- 9 ---------- 9 10 10 This program computes the dose deposited i 11 This program computes the dose deposited in an ionization chamber by a 11 monoenergetic photon beam. 12 monoenergetic photon beam. 12 The geometry of the chamber satisfies the 13 The geometry of the chamber satisfies the conditions of charged particle 13 equilibrium. Hence, under idealized condit 14 equilibrium. Hence, under idealized conditions, the ratio of the dose 14 deposited over the beam energy fluence mus 15 deposited over the beam energy fluence must be equal to the 15 mass_energy_transfer coefficient of the wa 16 mass_energy_transfer coefficient of the wall material. 16 17 17 E.Poon and al, Phys. Med. Biol. 50 (2005) 18 E.Poon and al, Phys. Med. Biol. 50 (2005) 681 18 I.Kawrakow, Med. Phys. 27-3 (2000) 499 19 I.Kawrakow, Med. Phys. 27-3 (2000) 499 19 << 20 20 1- GEOMETRY 21 1- GEOMETRY 21 22 22 The chamber is modelized as a cylinder wit 23 The chamber is modelized as a cylinder with a cavity in it. 23 << 24 24 6 parameters define the geometry : 25 6 parameters define the geometry : 25 - the material of the wall of the chambe 26 - the material of the wall of the chamber 26 - the radius of the chamber and the thic 27 - the radius of the chamber and the thickness of the wall 27 - the material of the cavity 28 - the material of the cavity 28 - the radius and the thickness of the ca 29 - the radius and the thickness of the cavity 29 30 30 Wall and cavity must be made of the same m 31 Wall and cavity must be made of the same material, but with different 31 density << 32 density 32 << 33 33 All above parameters can be redifined via 34 All above parameters can be redifined via the UI commands built in 34 DetectorMessenger class 35 DetectorMessenger class 35 36 36 ----------------- << 37 ----------------- 37 | | << 38 | | 38 | wall | << 39 | wall | 39 | ----- | << 40 | ----- | 40 | | | | << 41 | | | | 41 | | <-+-----+--- cavit << 42 | | <-+-----+--- cavity 42 ------> | | | | << 43 ------> | | | | 43 ------> | | | | << 44 ------> | | | | 44 beam -------------------------------- c << 45 beam -------------------------------- cylinder axis 45 ------> | | | | << 46 ------> | | | | 46 ------> | | | | << 47 ------> | | | | 47 | | | | << 48 | | | | 48 | | | | << 49 | | | | 49 | ----- | << 50 | ----- | 50 | | << 51 | | 51 | | << 52 | | 52 ----------------- << 53 ----------------- 53 << 54 54 2- BEAM 55 2- BEAM 55 56 56 Monoenergetic incident photon beam is unif 57 Monoenergetic incident photon beam is uniformly distribued, perpendicular 57 to the flat end of the chamber. The beam r 58 to the flat end of the chamber. The beam radius can be controled with an 58 UI command built in PrimaryGeneratorMessen 59 UI command built in PrimaryGeneratorMessenger; the default is full wall 59 chamber radius. 60 chamber radius. 60 61 61 Beam regeneration : after each Compton int 62 Beam regeneration : after each Compton interaction, the scattered photon is 62 reset to its initial state, energy and dir 63 reset to its initial state, energy and direction. Consequently, interaction 63 sites are uniformly distribued within the 64 sites are uniformly distribued within the wall material. 64 65 65 This modification must be done in the Part 66 This modification must be done in the ParticleChange of the final state 66 of the Compton scattering interaction. The 67 of the Compton scattering interaction. Therefore, a specific model 67 (MyKleinNishinaCompton) is assigned to the 68 (MyKleinNishinaCompton) is assigned to the ComptonScattering process in 68 PhysicsList. MyKleinNishinaCompton inherit 69 PhysicsList. MyKleinNishinaCompton inherites from G4KleinNishinaCompton; 69 only the function SampleSecondaries() is o 70 only the function SampleSecondaries() is overwritten. 70 71 71 3- PURPOSE OF THE PROGRAM 72 3- PURPOSE OF THE PROGRAM 72 73 73 The program computes the dose deposited in 74 The program computes the dose deposited in the cavity and the ratio 74 Dose/Beam_energy_fluence. This ratio is co 75 Dose/Beam_energy_fluence. This ratio is compared to the mass_energy_transfer 75 coefficient of the wall material. 76 coefficient of the wall material. 76 77 77 The mass_energy_transfer coefficient needs 78 The mass_energy_transfer coefficient needs : 78 - the photon total cross section, whic << 79 - the photon total cross section, which is read from the PhysicsTables 79 by G4EmCalculator (see EndOfRunActio << 80 by G4EmCalculator (see EndOfRunAction). 80 - the average kinetic energy of charge << 81 - the average kinetic energy of charged secondaries generated in the 81 wall during the run. << 82 wall during the run. 82 83 83 The program needs high statistic to reach 84 The program needs high statistic to reach precision on the computed dose. 84 The UI command /run/printProgress allows t << 85 The UI command /testem/event/printModulo allows to survey the convergence of 85 the kineticEnergy and dose calculations. 86 the kineticEnergy and dose calculations. 86 87 87 In addition, to increase the program effic 88 In addition, to increase the program efficiency, the secondary particles 88 which have no chance to reach the cavity a 89 which have no chance to reach the cavity are immediately killed (see 89 StackinAction). This feature can be switch 90 StackinAction). This feature can be switched off by an UI command (see 90 StackingMessenger). 91 StackingMessenger). 91 92 92 The simplest way to study the effect of e- 93 The simplest way to study the effect of e- tracking parameters on dose 93 deposition is to use the command /testem/s 94 deposition is to use the command /testem/stepMax. 94 << 95 95 4- PHYSICS 96 4- PHYSICS 96 97 97 The physics lists contains the standard el << 98 The physics list contains the standard electromagnetic processes, with few 98 modifications listed here. 99 modifications listed here. 99 100 100 - Compton scattering : as explained above, 101 - Compton scattering : as explained above, the final state is modified in 101 MyKleinNishinaCompton class. 102 MyKleinNishinaCompton class. 102 103 103 In order to make the program more efficien 104 In order to make the program more efficient, one can increase the Compton 104 cross section via the function SetCSFactor 105 cross section via the function SetCSFactor(factor) and its 105 associated UI command. Default is factor=1 106 associated UI command. Default is factor=1000. 106 107 107 - Bremsstrahlung : Fano conditions imply n 108 - Bremsstrahlung : Fano conditions imply no energy transfer via 108 bremsstrahlung radiation. Therefore this p 109 bremsstrahlung radiation. Therefore this process is not registered in the 109 physics list. However, it is always possib << 110 physics list. However, it is always possible to include it via an UI 110 See PhysListEmStandard class. << 111 command. See PhysicsListMessenger class. 111 112 112 - Ionisation : In order to have same stopp 113 - Ionisation : In order to have same stopping power in wall and cavity, one 113 must cancel the density correction term in 114 must cancel the density correction term in the dedx formula. This is done in 114 a specific MollerBhabha model (MyMollerBha 115 a specific MollerBhabha model (MyMollerBhabhaModel) which inherites from 115 G4MollerBhabhaModel. 116 G4MollerBhabhaModel. 116 117 117 To prevent explicit generation of delta-ra 118 To prevent explicit generation of delta-rays, the default production 118 threshold (i.e. cut) is set to 10 km (CSDA 119 threshold (i.e. cut) is set to 10 km (CSDA condition). 119 120 120 The finalRange of the step function is set 121 The finalRange of the step function is set to 10 um, which more on less 121 correspond to a tracking cut in water of a 122 correspond to a tracking cut in water of about 20 keV. See emOptions. 122 Once again, the above parameters can be co 123 Once again, the above parameters can be controled via UI commands. 123 124 124 - Multiple scattering : is switched in sin 125 - Multiple scattering : is switched in single Coulomb scattering mode near 125 boundaries. This is selected via EM option 126 boundaries. This is selected via EM options in PhysicsList, and can be 126 controled with UI commands. 127 controled with UI commands. 127 128 128 - All PhysicsTables are built with 100 bin 129 - All PhysicsTables are built with 100 bins per decade. 129 << 130 130 5- HISTOGRAMS 131 5- HISTOGRAMS 131 132 132 fanoCavity has several predefined 1D histog 133 fanoCavity has several predefined 1D histograms : 133 134 134 1 : emission point of e+- 135 1 : emission point of e+- 135 2 : energy spectrum of e+- 136 2 : energy spectrum of e+- 136 3 : theta distribution of e+- 137 3 : theta distribution of e+- 137 4 : emission point of e+- hitting cavity 138 4 : emission point of e+- hitting cavity 138 5 : energy spectrum of e+- when entering 139 5 : energy spectrum of e+- when entering in cavity 139 6 : theta distribution of e+- before ent 140 6 : theta distribution of e+- before enter in cavity 140 7 : theta distribution of e+- at first s 141 7 : theta distribution of e+- at first step in cavity 141 8 : track segment of e+- in cavity 142 8 : track segment of e+- in cavity 142 9 : step size of e+- in wall 143 9 : step size of e+- in wall 143 10 : step size of e+- in cavity 144 10 : step size of e+- in cavity 144 11 : energy deposit in cavity per track 145 11 : energy deposit in cavity per track 145 146 146 The histograms are managed by G4AnalysisMan << 147 The histograms are managed by the HistoManager class and its Messenger. 147 The histos can be individually activated wi 148 The histos can be individually activated with the command : 148 /analysis/h1/set id nbBins valMin valMax u << 149 /testem/histo/setHisto id nbBins valMin valMax unit 149 where unit is the desired unit for the hist 150 where unit is the desired unit for the histo (MeV or keV, deg or mrad, etc..) 150 151 151 One can control the name of the histograms 152 One can control the name of the histograms file with the command: 152 /analysis/setFileName name (default fanoC << 153 /testem/histo/setFileName name (default fanoCavity) 153 154 154 It is possible to choose the format of the << 155 It is possible to choose the format of the histogram file (hbook, root, XML) 155 hdf5, xml, csv, by changing the default fil << 156 with the command /testem/histo/setFileType (hbook by default) 156 157 157 It is also possible to print selected histo 158 It is also possible to print selected histograms on an ascii file: 158 /analysis/h1/setAscii id << 159 /testem/histo/printHisto id 159 All selected histos will be written on a fi 160 All selected histos will be written on a file name.ascii (default fanocavity) 160 << 161 >> 162 Note that, by default, histograms are disabled. To activate them, uncomment >> 163 the flag G4ANALYSIS_USE in GNUmakefile. >> 164 161 6- HOW TO START ? 165 6- HOW TO START ? 162 166 163 - execute fanoCavity in 'batch' mode from << 167 - compile and link to generate an executable 164 % fanoCavity run01.mac << 168 % cd geant4/examples/extended/medical/fanoCavity 165 << 169 % gmake 166 - execute fanoCavity in 'interactive mode' << 170 167 % fanoCavity << 171 - execute fanoCavity in 'batch' mode from macro files 168 .... << 172 % fanoCavity run01.mac 169 Idle> type your commands << 173 170 .... << 174 - execute fanoCavity in 'interactive mode' with visualization 171 Idle> exit << 175 % fanoCavity >> 176 .... >> 177 Idle> type your commands >> 178 .... >> 179 Idle> exit >> 180 >> 181 7- USING HISTOGRAMS >> 182 >> 183 To use histograms, at least one of the AIDA implementations should be >> 184 available (see http://aida.freehep.org). >> 185 >> 186 8a - PI >> 187 >> 188 A package including AIDA and extended interfaces also using Python is PI, >> 189 available from: http://cern.ch/pi 172 190 173 Alternative macro file: << 191 Once installed PI or PI-Lite in a specified local area $MYPY, it is required 174 basic.mac - disabled multiple scattering a << 192 to add the installation path to $PATH, i.e. for example, for release 1.2.1 of >> 193 PI: >> 194 setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin >> 195 >> 196 CERN users can use the PATH to the LCG area on AFS. >> 197 Before running the example the command should be issued: >> 198 eval `aida-config --runtime csh` >> 199 >> 200 8b - OpenScientist >> 201 >> 202 OpenScientist is available at http://OpenScientist.lal.in2p3.fr. >> 203 >> 204 You have to "setup" the OpenScientist AIDA implementation before compiling >> 205 (then with G4ANALYSIS_USE set) and running your Geant4 application. >> 206 >> 207 On UNIX you setup, with a csh flavoured shell : >> 208 csh> source <<OpenScientist install path>/aida-setup.csh >> 209 or with a sh flavoured shell : >> 210 sh> . <<OpenScientist install path>/aida-setup.sh >> 211 On Windows : >> 212 DOS> call <<OpenScientist install path>/aida-setup.bat >> 213 >> 214 You can use various file formats for writing (AIDA-XML, hbook, root). >> 215 These formats are readable by the Lab onx interactive program >> 216 or the OpenPAW application. See the web pages. >> 217 >> 218 >> 219 With OpenPAW, on a run.hbook file, one can view the histograms >> 220 with something like : >> 221 OS> opaw >> 222 opaw> h/file 1 run.hbook ( or opaw> h/file 1 run.aida or run.root) >> 223 opaw> zone 2 2 >> 224 opaw> h/plot 1 >> 225 opaw> h/plot 2