Geant4  9.6.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4NeutronHPThermalScatteringNames.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 
39 #include "G4Neutron.hh"
40 #include "G4ElementTable.hh"
41 //#include "G4NeutronHPData.hh"
42 
44 {
45  names.insert ( std::pair < G4String , G4String > ( "TS_Aluminium_Metal" , "al_metal" ) );
46  names.insert ( std::pair < G4String , G4String > ( "TS_Beryllium_Metal" , "be_metal" ) );
47  names.insert ( std::pair < G4String , G4String > ( "TS_Be_of_Beryllium_Oxide" , "be_beo" ) );
48  names.insert ( std::pair < G4String , G4String > ( "TS_C_of_Graphite" , "graphite" ) );
49  names.insert ( std::pair < G4String , G4String > ( "TS_D_of_Heavy_Water" , "d_heavy_water" ) );
50  names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Water" , "h_water" ) );
51  names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Zirconium_Hydride" , "h_zrh" ) );
52  names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Polyethylene" , "h_polyethylene" ) );
53  names.insert ( std::pair < G4String , G4String > ( "TS_Iron_Metal" , "fe_metal" ) );
54  names.insert ( std::pair < G4String , G4String > ( "TS_O_of_Uranium_Dioxide" , "o_uo2" ) );
55  names.insert ( std::pair < G4String , G4String > ( "TS_O_of_Beryllium_Oxide" , "o_beo" ) );
56  names.insert ( std::pair < G4String , G4String > ( "TS_U_of_Uranium_Dioxide" , "u_uo2" ) );
57  names.insert ( std::pair < G4String , G4String > ( "TS_Zr_of_Zirconium_Hydride" , "zr_zrh" ) );
58 
59 
60  //names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Para_Hydrogen" , "h_para_h2" ) );
61  //names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Ortho_Hydrogen" , "h_ortho_h2" ) );
62 
63  //names.insert ( std::pair < G4String , G4String > ( "TS_D_of_Para_Deuterium" , "d_para_d2" ) );
64  //names.insert ( std::pair < G4String , G4String > ( "TS_D_of_Ortho_Deuterium" , "d_ortho_d2" ) );
65 
66  //names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Liquid_Methane", "h_l_ch4" ) );
67  //names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Solid_Methane", "h_s_ch4" ) );
68 
69  //names.insert ( std::pair < G4String , G4String > ( "TS_Benzene", "benzen" ) );
70 
71 
72  nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > ( "G4_BERYLLIUM_OXIDE" , "Be" ) , "be_beo" ) );
73  nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > ( "G4_BERYLLIUM_OXIDE" , "O" ) , "o_beo" ) );
74  nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > ( "G4_GRAPHITE" , "C" ) , "graphite" ) );
75  nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > ( "G4_POLYETHYLENE" , "H" ) , "h_polyethylene" ) );
76  nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > ( "G4_URANIUM_OXIDE" , "O" ) , "o_uo2" ) );
77  nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > ( "G4_URANIUM_OXIDE" , "U" ) , "u_uo2" ) );
78  nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > ( "G4_WATER" , "H" ) , "h_water" ) );
79 
80  //nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > ( "G4_BENZENE" , "H" ) , "benzen" ) );
81  //nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > ( "G4_BENZENE" , "C" ) , "benzen" ) );
82 }
83 
85 {
86 ;
87 }
88 
90 {
91  G4bool result = false;
92  if ( names.find ( aname ) != names.end() ) result = true;
93  return result;
94 }
95 
97 {
98  G4bool result = false;
99  if ( nist_names.find ( std::pair<G4String,G4String>(material,element) ) != nist_names.end() ) result = true;
100  return result;
101 }