Geant4 11.4.0
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
46{
47
48 // --------------------------------------------------------------------------------------------
49 // New Geant4 naming - after 23/03/2022 - TSL linked to JEFF-3.3 nuclear cross-section G4NDL4.6
50 // --------------------------------------------------------------------------------------------
51 /// 23/03/2022 - Added by L. Thulliez (CEA-Saclay)
52 names.insert(
53 std::pair<G4String, G4String>("TS_Benzene", "h_benzen")); /// ENDF/BVIII.0 and ENDF/BVII.1
54 names.insert(std::pair<G4String, G4String>(
55 "TS_H_of_Para_Hydrogen", "h_para_h2")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
56 names.insert(std::pair<G4String, G4String>(
57 "TS_D_of_Para_Deuterium", "d_para_d2")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
58 names.insert(std::pair<G4String, G4String>(
59 "TS_H_of_Ortho_Hydrogen", "h_ortho_h2")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
60 names.insert(std::pair<G4String, G4String>(
61 "TS_D_of_Ortho_Deuterium", "d_ortho_d2")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
62 names.insert(std::pair<G4String, G4String>("TS_O_of_Uranium_Dioxide",
63 "o_uo2")); /// ENDF/BVIII.0 and ENDF/BVII.1
64 names.insert(std::pair<G4String, G4String>("TS_O_of_Ice", "o_ice")); /// ENDF/BVIII.0
65 names.insert(std::pair<G4String, G4String>("TS_O_of_Heavy_Water",
66 "o_heavy_water")); /// ENDF/BVIII.0 and JEFFF.3.3
67 names.insert(std::pair<G4String, G4String>("TS_O_of_Beryllium_Oxide",
68 "o_beo")); /// ENDF/BVIII.0 and ENDF/BVII.1
69 names.insert(std::pair<G4String, G4String>("TS_N_of_Uranium_Nitride", "n_un")); /// ENDF/BVIII.0
70 names.insert(std::pair<G4String, G4String>("TS_H_of_Liquid_Methane",
71 "h_l_ch4")); /// ENDF/BVIII.0 and ENDF/BVII.1
72 names.insert(std::pair<G4String, G4String>(
73 "TS_H_of_Zirconium_Hydride", "h_zrh")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
74 names.insert(std::pair<G4String, G4String>("TS_H_of_Yttrium_Hydride", "h_yh2")); /// ENDF/BVIII.0
75 names.insert(
76 std::pair<G4String, G4String>("TS_H_of_Ice", "h_ice")); /// ENDF/BVIII.0 and JEFFF.3.3
77 names.insert(std::pair<G4String, G4String>(
78 "TS_H_of_Water", "h_water")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
79 names.insert(std::pair<G4String, G4String>(
80 "TS_H_of_Polyethylene", "h_polyethylene")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
81 names.insert(
82 std::pair<G4String, G4String>("TS_H_of_PolymethylMethacrylate", "h_c5o2h8")); /// ENDF/BVIII.0
83 names.insert(std::pair<G4String, G4String>(
84 "TS_D_of_Heavy_Water", "d_heavy_water")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
85 names.insert(std::pair<G4String, G4String>(
86 "TS_C_of_Graphite", "graphite")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
87 names.insert(
88 std::pair<G4String, G4String>("TS_C_of_Silicium_Carbide", "c_sic")); /// ENDF/BVIII.0
89 names.insert(std::pair<G4String, G4String>("TS_C_of_Graphite_Porosity_30percent",
90 "graphite_30p")); /// ENDF/BVIII.0
91 names.insert(std::pair<G4String, G4String>("TS_C_of_Graphite_Porosity_10percent",
92 "graphite_10p")); /// ENDF/BVIII.0
93 names.insert(std::pair<G4String, G4String>(
94 "TS_Beryllium_Metal", "be_metal")); /// ENDF/BVIII.0 and JEFFF.3.3 and ENDF/BVII.1
95 names.insert(std::pair<G4String, G4String>("TS_Be_of_Beryllium_Oxide",
96 "be_beo")); /// ENDF/BVIII.0 and ENDF/BVII.1
97 names.insert(
98 std::pair<G4String, G4String>("TS_Iron_Metal", "fe_metal")); /// ENDF/BVIII.0 and ENDF/BVII.1
99 names.insert(std::pair<G4String, G4String>("TS_Zr90_of_Zirconium_Hydride",
100 "zr90_zrh")); /// ENDF/BVIII.0 and ENDF/BVII.1
101 names.insert(std::pair<G4String, G4String>("TS_Zr91_of_Zirconium_Hydride",
102 "zr91_zrh")); /// ENDF/BVIII.0 and ENDF/BVII.1
103 names.insert(std::pair<G4String, G4String>("TS_Zr92_of_Zirconium_Hydride",
104 "zr92_zrh")); /// ENDF/BVIII.0 and ENDF/BVII.1
105 names.insert(std::pair<G4String, G4String>("TS_Zr94_of_Zirconium_Hydride",
106 "zr94_zrh")); /// ENDF/BVIII.0 and ENDF/BVII.1
107 names.insert(std::pair<G4String, G4String>("TS_Zr96_of_Zirconium_Hydride",
108 "zr96_zrh")); /// ENDF/BVIII.0 and ENDF/BVII.1
109 names.insert(std::pair<G4String, G4String>("TS_Y_of_Yttrium_Hydride", "y_yh2")); /// ENDF/BVIII.0
110 names.insert(std::pair<G4String, G4String>("TS_U235_of_Uranium_Dioxide",
111 "u235_uo2")); /// ENDF/BVIII.0 and ENDF/BVII.1
112 names.insert(std::pair<G4String, G4String>("TS_U238_of_Uranium_Dioxide",
113 "u238_uo2")); /// ENDF/BVIII.0 and ENDF/BVII.1
114 names.insert(
115 std::pair<G4String, G4String>("TS_U235_of_Uranium_Nitride", "u235_un")); /// ENDF/BVIII.0
116 names.insert(
117 std::pair<G4String, G4String>("TS_U238_of_Uranium_Nitride", "u238_un")); /// ENDF/BVIII.0
118 names.insert(
119 std::pair<G4String, G4String>("TS_Si28_of_SiO2_beta", "si28_sio2_beta")); /// ENDF/BVIII.0
120 names.insert(
121 std::pair<G4String, G4String>("TS_Si29_of_SiO2_beta", "si29_sio2_beta")); /// ENDF/BVIII.0
122 names.insert(
123 std::pair<G4String, G4String>("TS_Si30_of_SiO2_beta", "si30_sio2_beta")); /// ENDF/BVIII.0
124 names.insert(std::pair<G4String, G4String>("TS_Si28_of_SiO2_alpha",
125 "si28_sio2_alpha")); /// ENDF/BVIII.0 and ENDF/BVII.1
126 names.insert(std::pair<G4String, G4String>("TS_Si29_of_SiO2_alpha",
127 "si29_sio2_alpha")); /// ENDF/BVIII.0 and ENDF/BVII.1
128 names.insert(std::pair<G4String, G4String>("TS_Si30_of_SiO2_alpha",
129 "si30_sio2_alpha")); /// ENDF/BVIII.0 and ENDF/BVII.1
130 names.insert(
131 std::pair<G4String, G4String>("TS_Si28_of_Silicium_Carbide", "si28_sic")); /// ENDF/BVIII.0
132 names.insert(
133 std::pair<G4String, G4String>("TS_Si29_of_Silicium_Carbide", "si29_sic")); /// ENDF/BVIII.0
134 names.insert(
135 std::pair<G4String, G4String>("TS_Si30_of_Silicium_Carbide", "si30_sic")); /// ENDF/BVIII.0
136 names.insert(std::pair<G4String, G4String>("TS_H_of_Solid_Methane",
137 "h_s_ch4")); /// ENDF/BVIII.0 and ENDF/BVII.1
138 names.insert(std::pair<G4String, G4String>("TS_Aluminium_Metal",
139 "al_metal")); /// ENDF/BVIII.0 and ENDF/BVII.1
140 names.insert(std::pair<G4String, G4String>("TS_Al_of_Sapphir_SingleCrystal",
141 "al_al2o3_singlecrystal")); /// JEFFF.3.3
142 names.insert(std::pair<G4String, G4String>("TS_Ca_of_CaH2", "ca_cah2")); /// JEFFF.3.3
143 names.insert(std::pair<G4String, G4String>("TS_H_of_CaH2", "h_cah2")); /// JEFFF.3.3
144 names.insert(std::pair<G4String, G4String>("TS_H_of_Mesitylene_phaseII",
145 "h_mesitylene_phaseII")); /// JEFFF.3.3
146 names.insert(std::pair<G4String, G4String>("TS_O_of_Sapphir_SingleCrystal",
147 "o_al2o3_singlecrystal")); /// JEFFF.3.3
148 names.insert(std::pair<G4String, G4String>("TS_H_of_Toluene", "h_toluene")); /// JEFFF.3.3
149 names.insert(std::pair<G4String, G4String>("TS_Si30_of_SiO2_SingleCrystal",
150 "si30_sio2_singlecrystal")); /// JEFFF.3.3
151 names.insert(std::pair<G4String, G4String>("TS_Si29_of_SiO2_SingleCrystal",
152 "si29_sio2_singlecrystal")); /// JEFFF.3.3
153 names.insert(std::pair<G4String, G4String>("TS_Si28_of_SiO2_SingleCrystal",
154 "si28_sio2_singlecrystal")); /// JEFFF.3.3
155 names.insert(
156 std::pair<G4String, G4String>("TS_Mg26_of_Magnesium_Metal", "mg26_magnesium")); /// JEFFF.3.3
157 names.insert(
158 std::pair<G4String, G4String>("TS_Mg25_of_Magnesium_Metal", "mg25_magnesium")); /// JEFFF.3.3
159 names.insert(
160 std::pair<G4String, G4String>("TS_Mg24_of_Magnesium_Metal", "mg24_magnesium")); /// JEFFF.3.3
161
162 nist_names.insert(std::pair<std::pair<G4String, G4String>, G4String>(
163 std::pair<G4String, G4String>("G4_BERYLLIUM_OXIDE", "Be"), "be_beo"));
164 nist_names.insert(std::pair<std::pair<G4String, G4String>, G4String>(
165 std::pair<G4String, G4String>("G4_BERYLLIUM_OXIDE", "O"), "o_beo"));
166 nist_names.insert(std::pair<std::pair<G4String, G4String>, G4String>(
167 std::pair<G4String, G4String>("G4_GRAPHITE", "C"), "graphite"));
168 nist_names.insert(std::pair<std::pair<G4String, G4String>, G4String>(
169 std::pair<G4String, G4String>("G4_POLYETHYLENE", "H"), "h_polyethylene"));
170 nist_names.insert(std::pair<std::pair<G4String, G4String>, G4String>(
171 std::pair<G4String, G4String>("G4_URANIUM_OXIDE", "O"), "o_uo2"));
172 nist_names.insert(std::pair<std::pair<G4String, G4String>, G4String>(
173 std::pair<G4String, G4String>("G4_URANIUM_OXIDE", "U"), "u_uo2"));
174 nist_names.insert(std::pair<std::pair<G4String, G4String>, G4String>(
175 std::pair<G4String, G4String>("G4_WATER", "H"), "h_water"));
176
177 // nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair <
178 // G4String , G4String > ( "G4_BENZENE" , "H" ) , "benzen" ) ); nist_names.insert ( std::pair <
179 // std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > (
180 // "G4_BENZENE" , "C" ) , "benzen" ) );
181}
182
184IsThisThermalElement(const G4String& aname) const
185{
186 G4bool result = false;
187 if (names.find(aname) != names.end()) result = true;
188 return result;
189}
190
192IsThisThermalElement(const G4String& material, const G4String& element) const
193{
194 G4bool result = false;
195 if (nist_names.find(std::pair<G4String, G4String>(material, element)) != nist_names.end())
196 result = true;
197 return result;
198}
199
200// Name of G4Element , Name of NDL file
202 const G4String& filename)
203{
204 if (names.find(nameG4Element) == names.end())
205 names.insert(std::pair<G4String, G4String>(nameG4Element, filename));
206}
bool G4bool
Definition G4Types.hh:86
void AddThermalElement(const G4String &, const G4String &)