Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ParticleHPThermalScatteringNames.cc
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26// Class Description
27// Name list of Elements for a high precision (based on evaluated data
28// libraries) description of themal neutron scattering below 4 eV;
29// Based on Thermal neutron scattering files
30// from the evaluated nuclear data files ENDF/B-VI, Release2
31// To be used in your physics list in case you need this physics.
32// In this case you want to register an object of this class with
33// the corresponding process.
34// Class Description - End
35
36// 15-Nov-06 First implementation is done by T. Koi (SLAC/SCCS)
37// P. Arce, June-2014 Conversion neutron_hp to particle_hp
38//
39
41
42#include "G4ElementTable.hh"
43#include "G4Neutron.hh"
44// #include "G4ParticleHPData.hh"
45
47{
48 // --------------------------------------------------------------------------------------------------------------------------
49 // Old Geant4 naming - before 23/03/2022 - TSL linked to ENDF/BVII.1 nuclear cross-section
50 // G4NDL4.5
51 // --------------------------------------------------------------------------------------------------------------------------
52 /*names.insert ( std::pair < G4String , G4String > ( "TS_Aluminium_Metal" , "al_metal" ) );
53 names.insert ( std::pair < G4String , G4String > ( "TS_Beryllium_Metal" , "be_metal" ) );
54 names.insert ( std::pair < G4String , G4String > ( "TS_Be_of_Beryllium_Oxide" , "be_beo" ) );
55 names.insert ( std::pair < G4String , G4String > ( "TS_C_of_Graphite" , "graphite" ) );
56 names.insert ( std::pair < G4String , G4String > ( "TS_D_of_Heavy_Water" , "d_heavy_water" ) );
57 names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Water" , "h_water" ) );
58 names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Zirconium_Hydride" , "h_zrh" ) );
59 names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Polyethylene" , "h_polyethylene" ) );
60 names.insert ( std::pair < G4String , G4String > ( "TS_Iron_Metal" , "fe_metal" ) );
61 names.insert ( std::pair < G4String , G4String > ( "TS_O_of_Uranium_Dioxide" , "o_uo2" ) );
62 names.insert ( std::pair < G4String , G4String > ( "TS_O_of_Beryllium_Oxide" , "o_beo" ) );
63 names.insert ( std::pair < G4String , G4String > ( "TS_U_of_Uranium_Dioxide" , "u_uo2" ) );
64 names.insert ( std::pair < G4String , G4String > ( "TS_U235_of_Uranium_Dioxide" , "u235_uo2" ) );
65 names.insert ( std::pair < G4String , G4String > ( "TS_U238_of_Uranium_Dioxide" , "u238_uo2" ) );
66 names.insert ( std::pair < G4String , G4String > ( "TS_Zr_of_Zirconium_Hydride" , "zr_zrh" ) );
67 //// ENDF-B71
68
69
70 names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Para_Hydrogen" , "h_para_h2" ) );
71 names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Ortho_Hydrogen" , "h_ortho_h2" ) );
72
73 names.insert ( std::pair < G4String , G4String > ( "TS_D_of_Para_Deuterium" , "d_para_d2" ) );
74 names.insert ( std::pair < G4String , G4String > ( "TS_D_of_Ortho_Deuterium" , "d_ortho_d2" ) );
75
76 names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Liquid_Methane", "h_l_ch4" ) );
77 names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Solid_Methane", "h_s_ch4" ) ); */
78
79 // --------------------------------------------------------------------------------------------------------------------------
80 // New Geant4 naming - after 23/03/2022 - TSL linked to JEFF-3.3 nuclear cross-section G4NDL4.6
81 // --------------------------------------------------------------------------------------------------------------------------
82 /// 23/03/2022 - Added by L. Thulliez (CEA-Saclay)
83 names.insert(
84 std::pair<G4String, G4String>("TS_Benzene", "h_benzen")); /// ENDF/BVIII.0 and ENDF/BVII.1
85 names.insert(std::pair<G4String, G4String>(
86 "TS_H_of_Para_Hydrogen", "h_para_h2")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
87 names.insert(std::pair<G4String, G4String>(
88 "TS_D_of_Para_Deuterium", "d_para_d2")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
89 names.insert(std::pair<G4String, G4String>(
90 "TS_H_of_Ortho_Hydrogen", "h_ortho_h2")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
91 names.insert(std::pair<G4String, G4String>(
92 "TS_D_of_Ortho_Deuterium", "d_ortho_d2")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
93 names.insert(std::pair<G4String, G4String>("TS_O_of_Uranium_Dioxide",
94 "o_uo2")); /// ENDF/BVIII.0 and ENDF/BVII.1
95 names.insert(std::pair<G4String, G4String>("TS_O_of_Ice", "o_ice")); /// ENDF/BVIII.0
96 names.insert(std::pair<G4String, G4String>("TS_O_of_Heavy_Water",
97 "o_heavy_water")); /// ENDF/BVIII.0 and JEFFF.3.3
98 names.insert(std::pair<G4String, G4String>("TS_O_of_Beryllium_Oxide",
99 "o_beo")); /// ENDF/BVIII.0 and ENDF/BVII.1
100 names.insert(std::pair<G4String, G4String>("TS_N_of_Uranium_Nitride", "n_un")); /// ENDF/BVIII.0
101 names.insert(std::pair<G4String, G4String>("TS_H_of_Liquid_Methane",
102 "h_l_ch4")); /// ENDF/BVIII.0 and ENDF/BVII.1
103 names.insert(std::pair<G4String, G4String>(
104 "TS_H_of_Zirconium_Hydride", "h_zrh")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
105 names.insert(std::pair<G4String, G4String>("TS_H_of_Yttrium_Hydride", "h_yh2")); /// ENDF/BVIII.0
106 names.insert(
107 std::pair<G4String, G4String>("TS_H_of_Ice", "h_ice")); /// ENDF/BVIII.0 and JEFFF.3.3
108 names.insert(std::pair<G4String, G4String>(
109 "TS_H_of_Water", "h_water")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
110 names.insert(std::pair<G4String, G4String>(
111 "TS_H_of_Polyethylene", "h_polyethylene")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
112 names.insert(
113 std::pair<G4String, G4String>("TS_H_of_PolymethylMethacrylate", "h_c5o2h8")); /// ENDF/BVIII.0
114 names.insert(std::pair<G4String, G4String>(
115 "TS_D_of_Heavy_Water", "d_heavy_water")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
116 names.insert(std::pair<G4String, G4String>(
117 "TS_C_of_Graphite", "graphite")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
118 names.insert(
119 std::pair<G4String, G4String>("TS_C_of_Silicium_Carbide", "c_sic")); /// ENDF/BVIII.0
120 names.insert(std::pair<G4String, G4String>("TS_C_of_Graphite_Porosity_30percent",
121 "graphite_30p")); /// ENDF/BVIII.0
122 names.insert(std::pair<G4String, G4String>("TS_C_of_Graphite_Porosity_10percent",
123 "graphite_10p")); /// ENDF/BVIII.0
124 names.insert(std::pair<G4String, G4String>(
125 "TS_Beryllium_Metal", "be_metal")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
126 names.insert(std::pair<G4String, G4String>("TS_Be_of_Beryllium_Oxide",
127 "be_beo")); /// ENDF/BVIII.0 and ENDF/BVII.1
128 names.insert(
129 std::pair<G4String, G4String>("TS_Iron_Metal", "fe_metal")); /// ENDF/BVIII.0 and ENDF/BVII.1
130 names.insert(std::pair<G4String, G4String>("TS_Zr90_of_Zirconium_Hydride",
131 "zr90_zrh")); /// ENDF/BVIII.0 and ENDF/BVII.1
132 names.insert(std::pair<G4String, G4String>("TS_Zr91_of_Zirconium_Hydride",
133 "zr91_zrh")); /// ENDF/BVIII.0 and ENDF/BVII.1
134 names.insert(std::pair<G4String, G4String>("TS_Zr92_of_Zirconium_Hydride",
135 "zr92_zrh")); /// ENDF/BVIII.0 and ENDF/BVII.1
136 names.insert(std::pair<G4String, G4String>("TS_Zr94_of_Zirconium_Hydride",
137 "zr94_zrh")); /// ENDF/BVIII.0 and ENDF/BVII.1
138 names.insert(std::pair<G4String, G4String>("TS_Zr96_of_Zirconium_Hydride",
139 "zr96_zrh")); /// ENDF/BVIII.0 and ENDF/BVII.1
140 names.insert(std::pair<G4String, G4String>("TS_Y_of_Yttrium_Hydride", "y_yh2")); /// ENDF/BVIII.0
141 names.insert(std::pair<G4String, G4String>("TS_U235_of_Uranium_Dioxide",
142 "u235_uo2")); /// ENDF/BVIII.0 and ENDF/BVII.1
143 names.insert(std::pair<G4String, G4String>("TS_U238_of_Uranium_Dioxide",
144 "u238_uo2")); /// ENDF/BVIII.0 and ENDF/BVII.1
145 names.insert(
146 std::pair<G4String, G4String>("TS_U235_of_Uranium_Nitride", "u235_un")); /// ENDF/BVIII.0
147 names.insert(
148 std::pair<G4String, G4String>("TS_U238_of_Uranium_Nitride", "u238_un")); /// ENDF/BVIII.0
149 names.insert(
150 std::pair<G4String, G4String>("TS_Si28_of_SiO2_beta", "si28_sio2_beta")); /// ENDF/BVIII.0
151 names.insert(
152 std::pair<G4String, G4String>("TS_Si29_of_SiO2_beta", "si29_sio2_beta")); /// ENDF/BVIII.0
153 names.insert(
154 std::pair<G4String, G4String>("TS_Si30_of_SiO2_beta", "si30_sio2_beta")); /// ENDF/BVIII.0
155 names.insert(std::pair<G4String, G4String>("TS_Si28_of_SiO2_alpha",
156 "si28_sio2_alpha")); /// ENDF/BVIII.0 and ENDF/BVII.1
157 names.insert(std::pair<G4String, G4String>("TS_Si29_of_SiO2_alpha",
158 "si29_sio2_alpha")); /// ENDF/BVIII.0 and ENDF/BVII.1
159 names.insert(std::pair<G4String, G4String>("TS_Si30_of_SiO2_alpha",
160 "si30_sio2_alpha")); /// ENDF/BVIII.0 and ENDF/BVII.1
161 names.insert(
162 std::pair<G4String, G4String>("TS_Si28_of_Silicium_Carbide", "si28_sic")); /// ENDF/BVIII.0
163 names.insert(
164 std::pair<G4String, G4String>("TS_Si29_of_Silicium_Carbide", "si29_sic")); /// ENDF/BVIII.0
165 names.insert(
166 std::pair<G4String, G4String>("TS_Si30_of_Silicium_Carbide", "si30_sic")); /// ENDF/BVIII.0
167 names.insert(std::pair<G4String, G4String>("TS_H_of_Solid_Methane",
168 "h_s_ch4")); /// ENDF/BVIII.0 and ENDF/BVII.1
169 names.insert(std::pair<G4String, G4String>("TS_Aluminium_Metal",
170 "al_metal")); /// ENDF/BVIII.0 and ENDF/BVII.1
171 names.insert(std::pair<G4String, G4String>("TS_Al_of_Sapphir_SingleCrystal",
172 "al_al2o3_singlecrystal")); /// JEFFF.3.3
173 names.insert(std::pair<G4String, G4String>("TS_Ca_of_CaH2", "ca_cah2")); /// JEFFF.3.3
174 names.insert(std::pair<G4String, G4String>("TS_H_of_CaH2", "h_cah2")); /// JEFFF.3.3
175 names.insert(std::pair<G4String, G4String>("TS_H_of_Mesitylene_phaseII",
176 "h_mesitylene_phaseII")); /// JEFFF.3.3
177 names.insert(std::pair<G4String, G4String>("TS_O_of_Sapphir_SingleCrystal",
178 "o_al2o3_singlecrystal")); /// JEFFF.3.3
179 names.insert(std::pair<G4String, G4String>("TS_H_of_Toluene", "h_toluene")); /// JEFFF.3.3
180 names.insert(std::pair<G4String, G4String>("TS_Si30_of_SiO2_SingleCrystal",
181 "si30_sio2_singlecrystal")); /// JEFFF.3.3
182 names.insert(std::pair<G4String, G4String>("TS_Si29_of_SiO2_SingleCrystal",
183 "si29_sio2_singlecrystal")); /// JEFFF.3.3
184 names.insert(std::pair<G4String, G4String>("TS_Si28_of_SiO2_SingleCrystal",
185 "si28_sio2_singlecrystal")); /// JEFFF.3.3
186 names.insert(
187 std::pair<G4String, G4String>("TS_Mg26_of_Magnesium_Metal", "mg26_magnesium")); /// JEFFF.3.3
188 names.insert(
189 std::pair<G4String, G4String>("TS_Mg25_of_Magnesium_Metal", "mg25_magnesium")); /// JEFFF.3.3
190 names.insert(
191 std::pair<G4String, G4String>("TS_Mg24_of_Magnesium_Metal", "mg24_magnesium")); /// JEFFF.3.3
192
193 nist_names.insert(std::pair<std::pair<G4String, G4String>, G4String>(
194 std::pair<G4String, G4String>("G4_BERYLLIUM_OXIDE", "Be"), "be_beo"));
195 nist_names.insert(std::pair<std::pair<G4String, G4String>, G4String>(
196 std::pair<G4String, G4String>("G4_BERYLLIUM_OXIDE", "O"), "o_beo"));
197 nist_names.insert(std::pair<std::pair<G4String, G4String>, G4String>(
198 std::pair<G4String, G4String>("G4_GRAPHITE", "C"), "graphite"));
199 nist_names.insert(std::pair<std::pair<G4String, G4String>, G4String>(
200 std::pair<G4String, G4String>("G4_POLYETHYLENE", "H"), "h_polyethylene"));
201 nist_names.insert(std::pair<std::pair<G4String, G4String>, G4String>(
202 std::pair<G4String, G4String>("G4_URANIUM_OXIDE", "O"), "o_uo2"));
203 nist_names.insert(std::pair<std::pair<G4String, G4String>, G4String>(
204 std::pair<G4String, G4String>("G4_URANIUM_OXIDE", "U"), "u_uo2"));
205 nist_names.insert(std::pair<std::pair<G4String, G4String>, G4String>(
206 std::pair<G4String, G4String>("G4_WATER", "H"), "h_water"));
207
208 // nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair <
209 // G4String , G4String > ( "G4_BENZENE" , "H" ) , "benzen" ) ); nist_names.insert ( std::pair <
210 // std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > (
211 // "G4_BENZENE" , "C" ) , "benzen" ) );
212}
213
218
220{
221 G4bool result = false;
222 if (names.find(aname) != names.end()) result = true;
223 return result;
224}
225
227{
228 G4bool result = false;
229 if (nist_names.find(std::pair<G4String, G4String>(material, element)) != nist_names.end())
230 result = true;
231 return result;
232}
233
234// Name of G4Element , Name of NDL file
236 G4String filename)
237{
238 if (names.find(nameG4Element) == names.end())
239 names.insert(std::pair<G4String, G4String>(nameG4Element, filename));
240}
bool G4bool
Definition G4Types.hh:86