Geant4 Cross Reference |
1 2 ========================================================= 3 Geant4 - an Object-Oriented Toolkit for Simulation in HEP 4 ========================================================= 5 6 NeutronSource 7 ------------- 8 9 NeutronSource is an example of neutrons production. It illustrates the cooperative work 10 of nuclear reactions and radioactive decay processes. 11 It survey energy deposition and particle's flux. 12 It uses PhysicsConstructor objects. 13 14 15 1- MATERIALS AND GEOMETRY DEFINITION 16 17 The geometry is a cylinder (absorber) of an homogenous material (default : Beryllium oxide). 18 This absorber is within a container (default : stainless-steel). 19 20 Five parameters define the geometry : 21 - the material of the absorber 22 - the radius and length of the absorber 23 - the material of the container 24 - the thickness of the container 25 26 The default geometry is built in DetectorConstruction, but the above 27 parameters can be changed interactively via commands defined in DetectorMessenger. 28 29 The container is surrounded by a World volume (air) 30 31 A function, and its associated UI command, allows to build a material 32 directly from a single isotope. 33 34 To be identified by the ThermalScattering module, the elements composing a 35 material must have a specific name (see G4ParticleHPThermalScatteringNames.cc) 36 Examples of such materials are build in DetectorConstruction of Hadr04,06,07. 37 38 2- PHYSICS LIST 39 40 "Full" set of physics processes are registered, but via PhysicsConstructor 41 objects rather than complete pre-defined G4 physics lists. This alternative 42 way may give more freedom to register physics. 43 44 Physics constructors are either constructors provided in Geant4 (with G4 prefix) 45 or 'local'. They include : HadronElastic, HadronInelastic, IonsInelastic, GammaNuclear, 46 RadioactiveDecay and Electomagnetic. 47 (see geant4/source/physics_lists/constructors) 48 49 HadronElasticPhysicsHP include a model for thermalized neutrons, under the control of a command 50 defined in NeutronHPMesseger. 51 52 GammmaNuclearPhysics is a subset of G4BertiniElectroNuclearBuilder. 53 54 ElectromagneticPhysics is a simplified version of G4EmStandardPhysics. 55 56 In PhysicsList::ConstructProcess() we give an example of how to access hadronic models. 57 58 Several hadronic physics options are controlled by environment variables. 59 To select them, see NeutronSource.cc 60 61 3- AN EVENT : THE PRIMARY GENERATOR 62 63 The primary kinematic is a single particle uniformly shooted within the absorber. 64 The type of the particle and its energy are set in PrimaryGeneratorAction (Am241, at rest), 65 and can be changed via the G4 build-in commands of ParticleGun class 66 (see the macros provided with this example). 67 68 4- PHYSICS 69 70 The program computes and plots energy deposited in the interaction volume 71 (absorber + container) and the flux of particles leaving this volume. 72 Processes invoked and particles generated during hadronic cascade are listed. 73 74 5- HISTOGRAMS 75 76 The test contains 13 built-in 1D histograms, which are managed by 77 G4AnalysisManager and its Messenger. The histos can be individually 78 activated with the command : 79 /analysis/h1/set id nbBins valMin valMax unit 80 where unit is the desired unit for the histo (MeV or keV, etc..) 81 (see the macros xxxx.mac). 82 83 1 "total energy deposit" 84 2 "dummy" 85 3 "total kinetic energy flow" 86 4 "energy spectrum of emerging gamma" 87 5 "energy spectrum of emerging e+-" 88 6 "energy spectrum of emerging neutrons" 89 7 "energy spectrum of emerging protons" 90 8 "energy spectrum of emerging deuterons" 91 9 "energy spectrum of emerging alphas" 92 10 "energy spectrum of all others emerging ions" 93 11 "energy spectrum of all others emerging baryons" 94 12 "energy spectrum of all others emerging mesons" 95 13 "energy spectrum of all others emerging leptons (neutrinos)" 96 97 The histograms are managed by the HistoManager class and its Messenger. 98 The histos can be individually activated with the command : 99 /analysis/h1/set id nbBins valMin valMax unit 100 where unit is the desired unit for the histo (MeV or keV, deg or mrad, etc..) 101 102 One can control the name of the histograms file with the command: 103 /analysis/setFileName name (default NeutronSource) 104 105 It is possible to choose the format of the histogram file : root (default), 106 xml, csv, by using namespace in HistoManager.hh 107 108 It is also possible to print selected histograms on an ascii file: 109 /analysis/h1/setAscii id 110 All selected histos will be written on a file name.ascii (default NeutronSource) 111 112 6- VISUALIZATION 113 114 The Visualization Manager is set in the main(). 115 The initialisation of the drawing is done via the commands 116 /vis/... in the macro vis.mac. To get visualisation: 117 > /control/execute vis.mac 118 119 The tracks are drawn at the end of event, and erased at the end of run. 120 gamma green 121 neutron yellow 122 negative particles (e-, ...) red 123 positive particles (e+, ions, ...) blue 124 125 7- HOW TO START ? 126 127 Execute NeutronSource in 'batch' mode from macro files : 128 % NeutronSource run1.mac 129 % NeutronSource neutronSource.in > neutronSource.out 130 131 Execute NeutronSource in 'interactive mode' with visualization : 132 % NeutronSource 133 Idle> control/execute vis.mac 134 .... 135 Idle> type your commands 136 .... 137 Idle> exit 138 139 Macros provided in this example: 140 - run1.mac: Am-Be system (default configuration) 141 142 Macros to be run interactively: 143 - debug.mac: Am-Be 144 - vis.mac: To activate visualization