Geant4 Cross Reference |
1 ------------------------------Advanced Example 1 ------------------------------Advanced Example--------------------------------- README FILE 2 2 3 Note: Due to the importation of data files dur 3 Note: Due to the importation of data files during the initialisation stage of 4 Geant4, load-time may be in excess of 5 minute 4 Geant4, load-time may be in excess of 5 minutes. 5 5 6 UNDERGROUND PHYSICS 6 UNDERGROUND PHYSICS 7 7 8 An example of a underground dark matter experi 8 An example of a underground dark matter experiment. 9 9 10 Please see the UserRequirements.txt and relate 10 Please see the UserRequirements.txt and related web-pages referred to 11 at the end of that document. 11 at the end of that document. 12 12 13 Over-view: 13 Over-view: 14 A single liquid xenon cell is simulated within 14 A single liquid xenon cell is simulated within Geant4 and the scintillation 15 light produced from interactions from various 15 light produced from interactions from various calibration species is recorded 16 as PhotoMultiplier hits. The output is then w 16 as PhotoMultiplier hits. The output is then written to an ASCII file for 17 future off-line analysis. 17 future off-line analysis. 18 18 19 Geometry: 19 Geometry: 20 Experimental set-up: 20 Experimental set-up: 21 21 22 G4double worldWidth = 470.0*cm + 2.*wallThi 22 G4double worldWidth = 470.0*cm + 2.*wallThick; // "x" 23 G4double worldLength = 690.0*cm + 2.*wallThi 23 G4double worldLength = 690.0*cm + 2.*wallThick; // "y" 24 G4double worldHeight = 280.0*cm + 2.*wallThi 24 G4double worldHeight = 280.0*cm + 2.*wallThick; // "z" 25 25 26 26 27 27 28 A "cavern" of dimensions 5.18m x 7.38m x 3.28m 28 A "cavern" of dimensions 5.18m x 7.38m x 3.28m with concrete walls is defined 29 as the World Volume. A laboratory geometry is 29 as the World Volume. A laboratory geometry is incorporated included desks, 30 cupboards, door and windows. For ease this is 30 cupboards, door and windows. For ease this is included in a separate ".icc" 31 file which can be removed should the code seem 31 file which can be removed should the code seem cumbersome. In the centre of 32 the cavern a steel vacuum vessel containing li 32 the cavern a steel vacuum vessel containing liquid and gaseous xenon is placed. 33 The internal construction of the vessel accura 33 The internal construction of the vessel accurately reproduces an existing 34 prototype Dark Matter detector which allows ex 34 prototype Dark Matter detector which allows experimental comparison. The active 35 detector volume is defined by a series of meta 35 detector volume is defined by a series of metal rings, complemented by 36 a cover mirror and a PMT immersed in the liqui 36 a cover mirror and a PMT immersed in the liquid. Two grids and a 37 thermalising copper shield are also incorporat 37 thermalising copper shield are also incorporated. The liquid/gas 38 interface is located 6mm away from the mirror 38 interface is located 6mm away from the mirror surface. A Am241 39 calibration source is suspended from one of th 39 calibration source is suspended from one of the grids in the liquid 40 phase, above the PMT. 40 phase, above the PMT. 41 41 42 XXX================XXX mirror 42 XXX================XXX mirror 43 XXX________________XXX gas phase 43 XXX________________XXX gas phase 44 XXX XXX 44 XXX XXX 45 XXX XXX liquid phase 45 XXX XXX liquid phase 46 XXX XXX 46 XXX XXX 47 XXX.......U........XXX grid + calibrator 47 XXX.......U........XXX grid + calibrator 48 XXX................XXX grid 48 XXX................XXX grid 49 XXX| |XXX 49 XXX| |XXX 50 | ___------___ | 50 | ___------___ | 51 || PMT || 51 || PMT || 52 || || 52 || || 53 53 54 54 55 Hits Output (file "hits.out"): 55 Hits Output (file "hits.out"): 56 An ASCII file containing the following informa 56 An ASCII file containing the following information: 57 Evt # : event number 57 Evt # : event number 58 Etot, MeV : energy deposited in liqui 58 Etot, MeV : energy deposited in liquid xenon 59 LXe hits : number of hits in liquid 59 LXe hits : number of hits in liquid xenon 60 LXeTime, ns : time of first hit in liqu 60 LXeTime, ns : time of first hit in liquid xenon 61 PMT hits : number of hits in PMT (ph 61 PMT hits : number of hits in PMT (photocathode) 62 PmtTime, ns : average PMT hit time rela 62 PmtTime, ns : average PMT hit time relative to LXeTime 63 First hit : first particle to hit liq 63 First hit : first particle to hit liquid xenon 64 Flags : particles contributing to 64 Flags : particles contributing to energy deposition 65 Seeds : the initial seed values for g 65 Seeds : the initial seed values for given hit events 66 66 67 Note: 67 Note: 68 68 69 The time information PmtTime is erroneous 69 The time information PmtTime is erroneous when forcing nuclear 70 decay with the RadioactiveDecay module du 70 decay with the RadioactiveDecay module due to the precision 71 required to detect nanosecond scintillati 71 required to detect nanosecond scintillation times on a global 72 time of 432 years (in the case of 241Am d 72 time of 432 years (in the case of 241Am decay). 73 73 74 74 75 Pmt Output (file "pmt.out"): 75 Pmt Output (file "pmt.out"): 76 Photon hit positions within the PMT face (over 76 Photon hit positions within the PMT face (overwritten every event): 77 "Hit# X, mm Y, mm Z, mm" 77 "Hit# X, mm Y, mm Z, mm" 78 78 79 79 80 To Run: 80 To Run: 81 Either run the macro files interactively or in 81 Either run the macro files interactively or in batch with the command 82 DMX macro_name.mac. 82 DMX macro_name.mac. 83 83 84 84 85 Macros: 85 Macros: 86 86 87 initInter.mac 87 initInter.mac 88 Initialisation macro for interactive mode. 88 Initialisation macro for interactive mode. 89 89 90 gamma.mac 90 gamma.mac 91 Shoots one 60 keV gamma upwards from the ca 91 Shoots one 60 keV gamma upwards from the calibrator and traces the 92 scintillation light produced in LXe to the 92 scintillation light produced in LXe to the PMT. All tracks are drawn 93 with custom colours. PMT hits in photocatho 93 with custom colours. PMT hits in photocathode are also shown. Event 94 summary is writen to file "hits.out". 94 summary is writen to file "hits.out". 95 95 96 gamma_1000.mac 96 gamma_1000.mac 97 Similar to above, but 1000 gammas are emmit 97 Similar to above, but 1000 gammas are emmited isotropically from the 98 source. No hits or tracks are draw, and the 98 source. No hits or tracks are draw, and the verbosity is reduced. 99 99 100 alpha.mac 100 alpha.mac 101 Shoots one 5.486 MeV alpha particle upwards 101 Shoots one 5.486 MeV alpha particle upwards from the calibrator and 102 traces the scintillation light to the PMT. 102 traces the scintillation light to the PMT. All tracks except 103 optical photons are drawn. Event summary is 103 optical photons are drawn. Event summary is written to file 104 "hits.out" and PMT hits to file "pmt.out". 104 "hits.out" and PMT hits to file "pmt.out". 105 105 106 alpha_1000.mac 106 alpha_1000.mac 107 Similar to above, but 1000 alphas are emmit 107 Similar to above, but 1000 alphas are emmited isotropically from the 108 source. No tracks are stored, and the verbo 108 source. No tracks are stored, and the verbosity is reduced. Event 109 summary is written to file "hits.out", PMT 109 summary is written to file "hits.out", PMT hits are not written out. 110 110 111 neutron.mac 111 neutron.mac 112 Shoots one 2.48 MeV neutron inside the room 112 Shoots one 2.48 MeV neutron inside the room aimed at the detector. 113 All tracks except scintillation photons are 113 All tracks except scintillation photons are drawn (custom colours). 114 Gammas are not killed at the concrete wall. 114 Gammas are not killed at the concrete wall. Event summery is written 115 to file "hits.out". 115 to file "hits.out". 116 116 117 ambe_spectrum.mac 117 ambe_spectrum.mac 118 Produces a spectrum of neutrons according t 118 Produces a spectrum of neutrons according to an approximation of a Am/Be 119 neutron source. However, this uses the GPS 119 neutron source. However, this uses the GPS and therefore will only work 120 after compilation with the DMXENV_GPS_USE e 120 after compilation with the DMXENV_GPS_USE environment variable (see below) 121 121 122 122 123 sourceAm241.mac 123 sourceAm241.mac 124 Forces the decay of 241Am nuclei in the cal 124 Forces the decay of 241Am nuclei in the calibrator and tracks the 125 resulting particles (237Np + alpha + gamma 125 resulting particles (237Np + alpha + gamma from 237Np 126 de-excitation). All tracks are drawn except 126 de-excitation). All tracks are drawn except scintillation photons. 127 Event summery is written to file "hits.out" 127 Event summery is written to file "hits.out". 128 -> To be added for a future release 128 -> To be added for a future release 129 129 130 130 131 sourceAm241_1000.mac 131 sourceAm241_1000.mac 132 Similar to above but for 1000 events. No tr 132 Similar to above but for 1000 events. No tracks are stored. 133 -> To be added for a future release 133 -> To be added for a future release 134 134 135 135 136 Note: 136 Note: 137 The following environment variables need to be 137 The following environment variables need to be set: 138 G4RADIOACTIVEDATA : points to Radioactive 138 G4RADIOACTIVEDATA : points to Radioactive Decay Data files 139 G4LEDATA : points to low energy 139 G4LEDATA : points to low energy data base 140 G4LEVELGAMMADATA : points to PhotoEvapor 140 G4LEVELGAMMADATA : points to PhotoEvaporation data 141 NeutronHPCrossSections : points to neutron dat 141 NeutronHPCrossSections : points to neutron data files 142 142 143 In addition if you require to use the full Gen 143 In addition if you require to use the full General Particle Source then the 144 variable DMXENV_GPS_USE can be set. The DMX g 144 variable DMXENV_GPS_USE can be set. The DMX gun is still included in order to 145 allow forward compatibility should the GPS cha 145 allow forward compatibility should the GPS change. 146 146 147 147 148 ANALYSIS: 148 ANALYSIS: 149 149 150 The program should produce ROOT-based histogra 150 The program should produce ROOT-based histogram files. It is possible to 151 produce the output in XML-compliant format by << 151 produce the output in XML-compliant format by editing the file >> 152 include/DMXAnalysisManager.hh >> 153 and by commenting out >> 154 #include "g4root.hh" >> 155 and uncommenting >> 156 #include "g4xml.hh" 152 157 153 SEEDS: 158 SEEDS: 154 159 155 The seeds of event hits are stored in the hit 160 The seeds of event hits are stored in the hit record file. These can be used 156 to repeat events for visualisation, test crash 161 to repeat events for visualisation, test crashes/idiosyncracies: 157 162 158 /random/setDirectoryName ./seeds 163 /random/setDirectoryName ./seeds 159 /random/resetEngineFrom currentEvent.rndm 164 /random/resetEngineFrom currentEvent.rndm 160 /random/saveThisEvent 165 /random/saveThisEvent 161 /random/setSavingFlag 166 /random/setSavingFlag 162 167 163 The file currentEvent.rndm should contain the 168 The file currentEvent.rndm should contain the two seeds which were outputed in 164 the scintHit file. 169 the scintHit file. 165 170 166 ERRORS: 171 ERRORS: 167 172 168 When running interactively the following error 173 When running interactively the following error will be shown: 169 174 170 BooleanProcessor::caseIE : unimplemented case 175 BooleanProcessor::caseIE : unimplemented case 171 BooleanProcessor::caseIE : unimplemented case 176 BooleanProcessor::caseIE : unimplemented case 172 BooleanProcessor::caseIE : unimplemented case 177 BooleanProcessor::caseIE : unimplemented case 173 BooleanProcessor::caseIE : unimplemented case 178 BooleanProcessor::caseIE : unimplemented case 174 BooleanProcessor::caseIE : unimplemented case 179 BooleanProcessor::caseIE : unimplemented case 175 BooleanProcessor::caseIE : unimplemented case 180 BooleanProcessor::caseIE : unimplemented case 176 BooleanProcessor: boolean operation failed 181 BooleanProcessor: boolean operation failed 177 BooleanProcessor::caseIE : unimplemented case 182 BooleanProcessor::caseIE : unimplemented case 178 BooleanProcessor::caseIE : unimplemented case 183 BooleanProcessor::caseIE : unimplemented case 179 BooleanProcessor::caseIE : unimplemented case 184 BooleanProcessor::caseIE : unimplemented case 180 BooleanProcessor::caseIE : unimplemented case 185 BooleanProcessor::caseIE : unimplemented case 181 BooleanProcessor: boolean operation failed 186 BooleanProcessor: boolean operation failed 182 187 183 This is a "feature" of the visualisation of bo 188 This is a "feature" of the visualisation of boolean volumes, but does not 184 affect functionality/performance so can be ign 189 affect functionality/performance so can be ignored. 185 190 186 NB: 191 NB: 187 If using explicit libraries (?) i.e. non-share 192 If using explicit libraries (?) i.e. non-shared then compilation time with 188 neutrons in physics list is very long (>5 minu 193 neutrons in physics list is very long (>5 minutes) - check this............. 189 It is more efficient to use shared libraries t 194 It is more efficient to use shared libraries that are loaded at run-time with 190 increased initialisation time (at run-time). 195 increased initialisation time (at run-time). 191 196 192 Also if using shared libraries the load time a 197 Also if using shared libraries the load time at run-time may be several minutes 193 - this is partially due to the neutron impleme 198 - this is partially due to the neutron implementation requires full data sets 194 for each isotope being specified. 199 for each isotope being specified. 195 200 196 201 197 -------------------------------------- 202 -------------------------------------- 198 203 199 If running on Redhat 7.0 or above set G4SYSTEM 204 If running on Redhat 7.0 or above set G4SYSTEM to Linux-g++, alternatively you 200 can install backward compatibility to egcs, ho 205 can install backward compatibility to egcs, however, requires 201 config/sys/Linux-egcs.gmk to be altered so tha 206 config/sys/Linux-egcs.gmk to be altered so that CXX is set to kgcc 202 (compared to g++ in original file) 207 (compared to g++ in original file) 203 208 204 -------------------------------------- 209 -------------------------------------- 205 210 206 211 207 Alex Howard, 29/11/01 212 Alex Howard, 29/11/01 208 updated 18/06/02 213 updated 18/06/02 209 214