G4NeutronHPThermalScatteringNames.cc

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 // Class Description
00027 // Name list of Elements for a high precision (based on evaluated data
00028 // libraries) description of themal neutron scattering below 4 eV;
00029 // Based on Thermal neutron scattering files
00030 // from the evaluated nuclear data files ENDF/B-VI, Release2
00031 // To be used in your physics list in case you need this physics.
00032 // In this case you want to register an object of this class with
00033 // the corresponding process.
00034 // Class Description - End
00035 
00036 // 15-Nov-06 First implementation is done by T. Koi (SLAC/SCCS)
00037 
00038 #include "G4NeutronHPThermalScatteringNames.hh"
00039 #include "G4Neutron.hh"
00040 #include "G4ElementTable.hh"
00041 //#include "G4NeutronHPData.hh"
00042 
00043 G4NeutronHPThermalScatteringNames::G4NeutronHPThermalScatteringNames()
00044 {
00045    names.insert ( std::pair < G4String , G4String > ( "TS_Aluminium_Metal" , "al_metal" ) ); 
00046    names.insert ( std::pair < G4String , G4String > ( "TS_Beryllium_Metal" , "be_metal" ) ); 
00047    names.insert ( std::pair < G4String , G4String > ( "TS_Be_of_Beryllium_Oxide" , "be_beo" ) ); 
00048    names.insert ( std::pair < G4String , G4String > ( "TS_C_of_Graphite" , "graphite" ) ); 
00049    names.insert ( std::pair < G4String , G4String > ( "TS_D_of_Heavy_Water" , "d_heavy_water" ) ); 
00050    names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Water" , "h_water" ) ); 
00051    names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Zirconium_Hydride" , "h_zrh" ) ); 
00052    names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Polyethylene" , "h_polyethylene" ) ); 
00053    names.insert ( std::pair < G4String , G4String > ( "TS_Iron_Metal" , "fe_metal" ) ); 
00054    names.insert ( std::pair < G4String , G4String > ( "TS_O_of_Uranium_Dioxide" , "o_uo2" ) ); 
00055    names.insert ( std::pair < G4String , G4String > ( "TS_O_of_Beryllium_Oxide" , "o_beo" ) ); 
00056    names.insert ( std::pair < G4String , G4String > ( "TS_U_of_Uranium_Dioxide" , "u_uo2" ) ); 
00057    names.insert ( std::pair < G4String , G4String > ( "TS_Zr_of_Zirconium_Hydride" , "zr_zrh" ) ); 
00058 
00059 
00060    //names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Para_Hydrogen" , "h_para_h2" ) ); 
00061    //names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Ortho_Hydrogen" , "h_ortho_h2" ) ); 
00062    
00063    //names.insert ( std::pair < G4String , G4String > ( "TS_D_of_Para_Deuterium" , "d_para_d2" ) ); 
00064    //names.insert ( std::pair < G4String , G4String > ( "TS_D_of_Ortho_Deuterium" , "d_ortho_d2" ) ); 
00065    
00066    //names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Liquid_Methane", "h_l_ch4" ) ); 
00067    //names.insert ( std::pair < G4String , G4String > ( "TS_H_of_Solid_Methane", "h_s_ch4" ) ); 
00068    
00069    //names.insert ( std::pair < G4String , G4String > ( "TS_Benzene", "benzen" ) ); 
00070 
00071 
00072    nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > ( "G4_BERYLLIUM_OXIDE" , "Be" ) , "be_beo" ) );
00073    nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > ( "G4_BERYLLIUM_OXIDE" , "O" ) , "o_beo" ) );
00074    nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > ( "G4_GRAPHITE" , "C" ) , "graphite" ) );
00075    nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > ( "G4_POLYETHYLENE" , "H" ) , "h_polyethylene" ) );
00076    nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > ( "G4_URANIUM_OXIDE" , "O" ) , "o_uo2" ) );
00077    nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > ( "G4_URANIUM_OXIDE" , "U" ) , "u_uo2" ) );
00078    nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > ( "G4_WATER" , "H" ) , "h_water" ) );
00079 
00080    //nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > ( "G4_BENZENE" , "H" ) , "benzen" ) );
00081    //nist_names.insert ( std::pair < std::pair < G4String , G4String > , G4String > ( std::pair < G4String , G4String > ( "G4_BENZENE" , "C" ) , "benzen" ) );
00082 }
00083 
00084 G4NeutronHPThermalScatteringNames::~G4NeutronHPThermalScatteringNames()
00085 {
00086 ;
00087 }
00088 
00089 G4bool G4NeutronHPThermalScatteringNames::IsThisThermalElement( G4String aname)
00090 {
00091    G4bool result = false;
00092    if ( names.find ( aname ) != names.end() ) result = true; 
00093    return result;
00094 }
00095 
00096 G4bool G4NeutronHPThermalScatteringNames::IsThisThermalElement( G4String material , G4String element )
00097 {
00098    G4bool result = false;
00099    if ( nist_names.find ( std::pair<G4String,G4String>(material,element) ) != nist_names.end() ) result = true; 
00100    return result;
00101 }

Generated on Mon May 27 17:49:04 2013 for Geant4 by  doxygen 1.4.7