Import Geant4 10.4.1 source tree

This commit is contained in:
Gabriele Cosmo
2018-03-02 09:34:30 +01:00
parent fc6af9e721
commit fe04dcb406
341 changed files with 18389 additions and 24522 deletions
@@ -15,6 +15,10 @@ code and to keep track of all tags.
* Please list in reverse chronological order (last date on top)
---------------------------------------------------------------
27 February 2018 Alberto Ribon (hadr-casc-V10-03-07)
-----------------------------------------------------
- G4NucleiModel : replaced obsolete std::bind2nd with std::bind .
27 November 2017 Dennis Wright (hadr-casc-V10-03-06)
-----------------------------------------------------
- G4CascadeInterface::createBullet, G4CascadeInterface::ApplyYourself:
@@ -142,7 +142,7 @@
// Check zone argument to inverseMFP() to ensure within range.
// 20130611 M. Kelsey -- Undo "spath<=path" change (20130511), replace with
// explicit check on spath==0.
// 20130619 A. Ribon -- Fixed reproducibility problem in the method
// 20130619 A. Ribon -- Fixed reproducibility problem in the method
// generateParticleFate
// 20130627 M. Kelsey -- Check "path==0.", rather than spath.
// 20130628 M. Kelsey -- Print deuteron type code, rather than array index,
@@ -158,6 +158,7 @@
// 20141001 M. Kelsey -- Change sign of "dv" in boundaryTransition
// 20150608 M. Kelsey -- Label all while loops as terminating.
// 20150622 M. Kelsey -- Use G4AutoDelete for _TLS_ buffers.
// 20180227 A. Ribon -- Replaced obsolete std::bind2nd with std::bind
#include "G4NucleiModel.hh"
#include "G4AutoDelete.hh"
@@ -1264,7 +1265,7 @@ void G4NucleiModel::choosePointAlongTraj(G4CascadParticle& cparticle) {
// Normalize CDF to unit integral
std::transform(wtlen.begin(), wtlen.end(), wtlen.begin(),
std::bind2nd(std::divides<G4double>(), wtlen.back()));
std::bind(std::divides<G4double>(), std::placeholders::_1, wtlen.back()));
if (verboseLevel > 3) {
G4cout << " weights";
@@ -14,6 +14,11 @@ code and to keep track of all tags.
* Please list in reverse chronological order (last date on top)
---------------------------------------------------------------
19 December 2017 Gabriele Cosmo (hadr-deex-V10-03-52)
- Fixed self-consistency in G4ChatterjeeCrossSection header (missing #include).
Fixed #ifdef guard in G4StatMFMacroBiNucleon header.
Thanks to Raphael Isemann for reporting these.
03 November 2017 Vladimir Ivanchenko (hadr-deex-V10-03-51)
- G4DeexPrecoParameters - fixed printout of parameters
@@ -24,12 +24,12 @@
// ********************************************************************
//
//
// $Id: G4StatMFMacroBiNucleon.hh 67983 2013-03-13 10:42:03Z gcosmo $
// $Id: G4StatMFMacroBiNucleon.hh 108519 2018-02-16 08:25:29Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
#ifndef G4StatMFMacroBiBiNucleon_h
#ifndef G4StatMFMacroBiNucleon_h_h
#define G4StatMFMacroBiNucleon_h 1
#include "G4VStatMFMacroCluster.hh"
@@ -33,6 +33,7 @@
#ifndef G4ChatterjeeCrossSection_h
#define G4ChatterjeeCrossSection_h 1
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4Pow.hh"
@@ -14,6 +14,12 @@ code and to keep track of all tags.
* Please list in reverse chronological order (last date on top)
---------------------------------------------------------------
19 December 2017 Gabriele Cosmo (hadr-fission-V10-03-00)
-------------------------------------------------------
- Fixed self-consistency in G4LLNLFission header (missing #include).
Added missing #ifdef guards in G4fissionEvent header.
Thanks to Raphael Isemann for reporting these.
5 November 2015 Alberto Ribon (hadr-fission-V10-01-07)
-------------------------------------------------------
- Removed neutron_hp/
@@ -55,8 +55,10 @@
// $Id: G4LLNLFission.hh 67966 2013-03-13 09:38:38Z gcosmo $
//
#include "G4Types.hh"
//
// This class is a copy of Fission.hh, made for use with Geant4.
// This file is a copy of Fission.hh, made for use with Geant4.
//
extern void genspfissevt_(G4int *isotope, G4double *time);
@@ -54,6 +54,8 @@
//
// $Id: G4fissionEvent.hh 68799 2013-04-05 13:29:46Z gcosmo $
//
#ifndef G4fissionEvent_hh
#define G4fissionEvent_hh
#include "globals.hh"
#include <string>
@@ -190,3 +192,5 @@ class G4fissionEvent {
static G4double fisslibrng(void);
static G4double rngf2d(void);
};
#endif
@@ -14,18 +14,23 @@ code and to keep track of all tags.
* Please list in reverse chronological order (last date on top)
---------------------------------------------------------------
23-December 2017 Vladimir Ivanchenko had-im_r_V10-03-01
19-December 2017, Gabriele Cosmo hadr-im_r-V10-03-02
- Fixed self-consistency in headers (missing #include) in G4CrossSectionBuffer,
G4DeltaNstarBuilder and G4NNstarBuilder.
Thanks to Raphael Isemann for reporting these.
23-November 2017, Vladimir Ivanchenko had-im_r_V10-03-01
- G4ParticleTypeConverter - all methods become const
- G4ConcreteMesonBaryonToResonance - fixed memory leak, adding
static objects with const only methods
21-December 2016 Gunter Folger had-im_r_V10-03-00
21-December 2016, Gunter Folger had-im_r_V10-03-00
- G4VScatteringCollision: Fix memory leak in MT, bug report 1905
13-November 2015 Gunter Folger had-im_r-V10-01-05
13-November 2015, Gunter Folger had-im_r-V10-01-05
- Revert back to G4float, add 'f' for initialisation.
13-November 2015 Gunter Folger had-im_r-V10-01-04
13-November 2015, Gunter Folger had-im_r-V10-01-04
- Replace G4float by G4double
30-October 2015, Gunter Folger had-im_r-V10-01-03
@@ -30,8 +30,9 @@
#include <vector>
#include <CLHEP/Units/SystemOfUnits.h>
#include "G4ParticleDefinition.hh"
#include "globals.hh"
#include "G4ParticleDefinition.hh"
#include "G4KineticTrack.hh"
class G4CrossSectionBuffer
{
@@ -27,6 +27,7 @@
#define G4DeltaNstarBuilder_h
#include "G4VXResonanceTable.hh"
#include "G4XDeltaNstarTable.hh"
class G4DeltaNstarBuilder : public G4VXResonanceTable
{
@@ -27,6 +27,7 @@
#define G4NNstarBuilder_h
#include "G4VXResonanceTable.hh"
#include "G4XNNstarTable.hh"
class G4NNstarBuilder : public G4VXResonanceTable
{
@@ -14,6 +14,12 @@ code and to keep track of all tags.
* Please list in reverse chronological order (last date on top)
---------------------------------------------------------------
19 December 2017 Gabriele Cosmo (hadr-hpp-V10-03-10)
---------------------------------------------------
- Fixed self-consistency in headers (missing #include) in G4FFGEnumerations,
G4FPYNubarValues, G4ParticleHPAngularP and G4ParticleHPHash.
Thanks to Raphael Isemann for reporting these.
29 November 2017 Tatsumi Koi (hadr-hpp-V10-03-09)
---------------------------------------------------
- Change tolerance value and implementation in calculation of KallbachZero.
@@ -33,6 +33,8 @@
#ifndef G4FFGENUMAERATIONS_HH
#define G4FFGENUMAERATIONS_HH
#include "G4Types.hh"
/** G4FFGEnumerations is a namespace that contains all the enumerations that
* are used in the fission fragment generator code.
*/
@@ -49,6 +49,8 @@
#ifndef G4FPYNUBARVALUES_HH
#define G4FPYNUBARVALUES_HH
#include "G4Types.hh"
/** Evaluated nubar values for neutron induced fission. The data are represented
* as linear regression fits from experimental data in the form: v = mx + b,
* where x is the incident neutron energy.
@@ -34,6 +34,7 @@
#include "globals.hh"
#include "G4InterpolationManager.hh"
#include "G4ParticleHPInterpolator.hh"
class G4ParticleHPAngularP
{
@@ -29,8 +29,9 @@
#ifndef G4ParticleHPHash_h
#define G4ParticleHPHash_h
#include "globals.hh"
#include <vector>
#include "globals.hh"
#include "G4ParticleHPDataPoint.hh"
class G4ParticleHPHash
{
@@ -1,4 +1,4 @@
$Id: History 107318 2017-11-08 16:27:32Z gcosmo $
$Id: History 108528 2018-02-16 08:38:40Z gcosmo $
-------------------------------------------------------------------
==========================================================
@@ -15,6 +15,10 @@ code and to keep track of all tags.
* Please list in reverse chronological order (last date on top)
---------------------------------------------------------------
19-Dec-2017 G. Cosmo hadr-partonstring-mgt-V10-03-05
- Fixed self-consistency in G4VertexCode header (missing #include).
Thanks to Raphael Isemann for reporting this.
08-Nov-2017 A. Ribon hadr-partonstring-mgt-V10-03-04
- Minor clean-up and indentation: no changes in the random sequence.
@@ -24,11 +24,12 @@
// ********************************************************************
//
//
// $Id: G4VertexCode.hh 100828 2016-11-02 15:25:59Z gcosmo $
// $Id: G4VertexCode.hh 108528 2018-02-16 08:38:40Z gcosmo $
//
#ifndef G4VertexCode_h
#define G4VertexCode_h 1
#include "G4String.hh"
class G4VertexCode
{
@@ -1,4 +1,4 @@
$Id: History 106980 2017-10-31 09:02:49Z gcosmo $
$Id: History 108530 2018-02-16 08:45:20Z gcosmo $
-------------------------------------------------------------------
==========================================================
@@ -15,6 +15,10 @@ code and to keep track of all tags.
* Please list in reverse chronological order (last date on top)
---------------------------------------------------------------
19-Dec-2017 G. Cosmo (hadr-qgsm-V10-03-06)
- Fixed self-consistency in G4SPPartonInfo header (missing #include).
Thanks to Raphael Isemann for reporting this.
26-Oct-2017 A. Ribon (hadr-qgsm-V10-03-05)
- Brought back the stable, production QGS (as in 10.3).
@@ -26,6 +26,8 @@
#ifndef G4SPPartonInfo_h
#define G4SPPartonInfo_h
#include "G4Types.hh"
class G4SPPartonInfo
{
public:
@@ -14,6 +14,19 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
14 December 2017 Dennis Wright radioactive_decay-V10-03-22
------------------------------------------------------------
- re-tag
12 December 2017 Dennis Wright radioactive_decay-V10-03-21
------------------------------------------------------------
- G4RadioactiveDecay.hh, .cc: add check that environment variable
G4RADIOACTIVEDATA is pointing to correct directory. Moved check from
G4RadioactiveDecay::LoadDecayTable() to ctor. Fixes bug #1942.
- G4RadioactiveDecayBase.hh, .cc: same change as above
15 November 2017 Dennis Wright radioactive_decay-V10-03-20
------------------------------------------------------------
- G4RadioactiveDecay::DecayIt in the variance reduction branch:
@@ -316,7 +316,10 @@ class G4RadioactiveDecay : public G4VRestDiscreteProcess
G4int decayWindows[100];
static const G4double levelTolerance;
//User define radioactive decay data files replacing some files in the G4RADECAY database
// Radioactive decay database directory path
G4String dirPath;
// User-defined radioactive decay data files
std::map<G4int, G4String> theUserRadioactiveDataFiles;
// Library of decay tables
@@ -204,6 +204,9 @@ class G4RadioactiveDecayBase : public G4VRestDiscreteProcess
G4double forceDecayHalfAngle;
static const G4ThreeVector origin; // (0,0,0) for convenience
// Radioactive decay database directory path
G4String dirPath;
//User define radioactive decay data files replacing some files in the G4RADECAY database
std::map<G4int, G4String> theUserRadioactiveDataFiles;
@@ -157,7 +157,8 @@ DecayTableMap* G4RadioactiveDecay::master_dkmap = 0;
G4RadioactiveDecay::G4RadioactiveDecay(const G4String& processName)
: G4VRestDiscreteProcess(processName, fDecay), isInitialised(false),
forceDecayDirection(0.,0.,0.), forceDecayHalfAngle(0.*deg), verboseLevel(0)
forceDecayDirection(0.,0.,0.), forceDecayHalfAngle(0.*deg), dirPath(""),
verboseLevel(0)
{
#ifdef G4VERBOSE
if (GetVerboseLevel() > 1) {
@@ -176,7 +177,23 @@ G4RadioactiveDecay::G4RadioactiveDecay(const G4String& processName)
// photonEvaporation->SetVerboseLevel(2);
photonEvaporation->RDMForced(true);
photonEvaporation->SetICM(true);
// Check data directory
char* path_var = getenv("G4RADIOACTIVEDATA");
if (!path_var) {
G4Exception("G4RadioactiveDecay()","HAD_RDM_200",FatalException,
"Environment variable G4RADIOACTIVEDATA is not set");
} else {
dirPath = path_var; // convert to string
std::ostringstream os;
os << dirPath << "/z1.a3"; // used as a dummy
std::ifstream testFile;
testFile.open(os.str() );
if (!testFile.is_open() )
G4Exception("G4RadioactiveDecay()","HAD_RDM_201",FatalException,
"Environment variable G4RADIOACTIVEDATA is set, but does not point to correct directory");
}
// Reset the list of user defined data files
theUserRadioactiveDataFiles.clear();
@@ -816,15 +833,8 @@ G4RadioactiveDecay::LoadDecayTable(const G4ParticleDefinition& theParentNucleus)
G4String file = theUserRadioactiveDataFiles[1000*A+Z];
if (file == "") {
if (!getenv("G4RADIOACTIVEDATA") ) {
G4cout << "Please setenv G4RADIOACTIVEDATA to point to the radioactive decay data files."
<< G4endl;
throw G4HadronicException(__FILE__, __LINE__, " Please setenv G4RADIOACTIVEDATA to point to the radioactive decay data files.");
}
G4String dirName = getenv("G4RADIOACTIVEDATA");
std::ostringstream os;
os << dirName << "/z" << Z << ".a" << A << '\0';
os << dirPath << "/z" << Z << ".a" << A << '\0';
file = os.str();
}
@@ -98,7 +98,8 @@ DecayTableMap* G4RadioactiveDecayBase::master_dkmap = 0;
G4RadioactiveDecayBase::G4RadioactiveDecayBase(const G4String& processName)
: G4VRestDiscreteProcess(processName, fDecay), isInitialised(false),
forceDecayDirection(0.,0.,0.), forceDecayHalfAngle(0.*deg), verboseLevel(0)
forceDecayDirection(0.,0.,0.), forceDecayHalfAngle(0.*deg), dirPath(""),
verboseLevel(0)
{
#ifdef G4VERBOSE
if (GetVerboseLevel() > 1) {
@@ -119,7 +120,23 @@ G4RadioactiveDecayBase::G4RadioactiveDecayBase(const G4String& processName)
G4DeexPrecoParameters* deex = G4NuclearLevelData::GetInstance()->GetParameters();
deex->SetCorrelatedGamma(true);
// Check data directory
char* path_var = getenv("G4RADIOACTIVEDATA");
if (!path_var) {
G4Exception("G4RadioactiveDecay()","HAD_RDM_200",FatalException,
"Environment variable G4RADIOACTIVEDATA is not set");
} else {
dirPath = path_var; // convert to string
std::ostringstream os;
os << dirPath << "/z1.a3"; // used as a dummy
std::ifstream testFile;
testFile.open(os.str() );
if (!testFile.is_open() )
G4Exception("G4RadioactiveDecay()","HAD_RDM_201",FatalException,
"Environment variable G4RADIOACTIVEDATA is set, but does not point to correct directory");
}
// Reset the list of user defined data files
theUserRadioactiveDataFiles.clear();
@@ -446,15 +463,16 @@ G4RadioactiveDecayBase::LoadDecayTable(const G4ParticleDefinition& theParentNucl
G4String file = theUserRadioactiveDataFiles[1000*A+Z];
if (file == "") {
/*
if (!getenv("G4RADIOACTIVEDATA") ) {
G4cout << "Please setenv G4RADIOACTIVEDATA to point to the radioactive decay data files."
<< G4endl;
throw G4HadronicException(__FILE__, __LINE__, " Please setenv G4RADIOACTIVEDATA to point to the radioactive decay data files.");
}
G4String dirName = getenv("G4RADIOACTIVEDATA");
*/
std::ostringstream os;
os << dirName << "/z" << Z << ".a" << A << '\0';
os << dirPath << "/z" << Z << ".a" << A << '\0';
file = os.str();
}
+11
View File
@@ -14,6 +14,17 @@ code and to keep track of all tags.
* Please list in reverse chronological order (last date on top)
---------------------------------------------------------------
09 February 2018 Ben Morgan (hadr-util-V10-03-06)
-------------------------------------------------
- G4StableIsotopes - Move member function definitions to source file
to avoid global data visibility issues in Windows DLLs.
19 December 2017 Gabriele Cosmo
--------------------------------------------------------
- Fixed self-consistency in headers (missing #include) in DumpFrame,
G4GHEKinematicsVector and G4ping.
Thanks to Raphael Isemann for reporting these.
04 July 2017 Vladimir Ivanchenko (hadr-util-V10-03-05)
--------------------------------------------------------
- G4NuclearPolarization - added extra members and update the class
@@ -26,6 +26,9 @@
#ifndef DumpFrame_h
#define DumpFrame_h
#include "G4FastVector.hh"
#include "G4ReactionProduct.hh"
class DumpFrames
{
public:
@@ -43,9 +43,9 @@
#ifndef G4GHEKinematicsVector_h
#define G4GHEKinematicsVector_h 1
#include "G4ios.hh"
#include <CLHEP/Units/PhysicalConstants.h>
#include "G4ios.hh"
#include "G4ParticleMomentum.hh"
class G4GHEKinematicsVector
{
@@ -29,7 +29,7 @@
#define G4StableIsotopes_h 1
// Class Description
// class utility that knows about all naturally occuring isotopes.;
// class utility that knows about all naturally occuring isotopes.;
// to be used in your process implementation in case you need this.
// Class Description - End
@@ -52,12 +52,12 @@ class G4StableIsotopes
public:
G4String GetName(G4int Z) {return elementName[Z-1];}
G4int GetNumberOfIsotopes(G4int Z) {return nIsotopes[Z-1];}
G4int GetFirstIsotope(G4int Z) {return start[Z-1];}
G4int GetIsotopeNucleonCount(G4int number) {return nucleonCount[number];}
G4double GetAbundance(G4int number) {return abundance[number];}
G4int GetProtonCount(G4int Z) {return protonCount[Z-1];}
G4String GetName(G4int Z);
G4int GetNumberOfIsotopes(G4int Z);
G4int GetFirstIsotope(G4int Z);
G4int GetIsotopeNucleonCount(G4int number);
G4double GetAbundance(G4int number);
G4int GetProtonCount(G4int Z);
private:
@@ -26,7 +26,8 @@
#ifndef G4ping_h
#define G4ping_h
#include "G4String.hh"
#include <vector>
#include "globals.hh"
#include "G4LorentzVector.hh"
@@ -33,4 +33,34 @@ const G4String G4StableIsotopes::elementName[92] = {"H", "He", "Li", "Be", "B",
const G4int G4StableIsotopes::nIsotopes[92] = {2, 2, 2, 1, 2, 2, 2, 3, 1, 3, 1, 3, 1, 3, 1, 4, 2, 3, 3, 6, 1, 5, 2, 4, 1, 4, 1, 5, 2, 5, 2, 5, 1, 6, 2, 6, 2, 4, 1, 5, 1, 7, 0, 7, 1, 6, 2, 8, 2, 10, 2, 8, 1, 9, 1, 7, 2, 4, 1, 7, 0, 7, 2, 7, 1, 7, 1, 6, 1, 7, 2, 6, 2, 5, 2, 7, 2, 6, 1, 7, 2, 4, 1, 0, 0, 0, 0, 0, 0, 1, 0, 3};
const G4int G4StableIsotopes::start[92] = {0, 2, 4, 6, 7, 9, 11, 13, 16, 17, 20, 21, 24, 25, 28, 29, 33, 35, 38, 41, 47, 48, 53, 55, 59, 60, 64, 65, 70, 72, 77, 79, 84, 85, 91, 93, 99, 101, 105, 106, 111, 112, 119, 119, 126, 127, 133, 135, 143, 145, 155, 157, 165, 166, 175, 176, 183, 185, 189, 190, 197, 197, 204, 206, 213, 214, 221, 222, 228, 229, 236, 238, 244, 246, 251, 253, 260, 262, 268, 269, 276, 278, 282, 283, 283, 283, 283, 283, 283, 283, 284, 284};
const G4int G4StableIsotopes::nucleonCount[287] = {1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 35, 37, 36, 38, 40, 39, 40, 41, 40, 42, 43, 44, 46, 48, 45, 46, 47, 48, 49, 50, 50, 51, 50, 52, 53, 54, 55, 54, 56, 57, 58, 59, 58, 60, 61, 62, 64, 63, 65, 64, 66, 67, 68, 70, 69, 71, 70, 72, 73, 74, 76, 75, 74, 76, 77, 78, 80, 82, 79, 81, 78, 80, 82, 83, 84, 86, 85, 87, 84, 86, 87, 88, 89, 90, 91, 92, 94, 96, 93, 92, 94, 95, 96, 97, 98, 100, 96, 98, 99, 100, 101, 102, 104, 103, 102, 104, 105, 106, 108, 110, 107, 109, 106, 108, 110, 111, 112, 113, 114, 116, 113, 115, 112, 114, 115, 116, 117, 118, 119, 120, 122, 124, 121, 123, 120, 122, 123, 124, 125, 126, 128, 130, 127, 124, 126, 128, 129, 130, 131, 132, 134, 136, 133, 130, 132, 134, 135, 136, 137, 138, 138, 139, 136, 138, 140, 142, 141, 142, 143, 144, 145, 146, 148, 150, 144, 147, 148, 149, 150, 152, 154, 151, 153, 152, 154, 155, 156, 157, 158, 160, 159, 156, 158, 160, 161, 162, 163, 164, 165, 162, 164, 166, 167, 168, 170, 169, 168, 170, 171, 172, 173, 174, 176, 175, 176, 174, 176, 177, 178, 179, 180, 180, 181, 180, 182, 183, 184, 186, 185, 187, 184, 186, 187, 188, 189, 190, 192, 191, 193, 190, 192, 194, 195, 196, 198, 197, 196, 198, 199, 200, 201, 202, 204, 203, 205, 204, 206, 207, 208, 209, 232, 234, 235, 238};
const G4double G4StableIsotopes::abundance[287] = {99.985, 0.015, 0.000137, 99.9999, 7.5, 92.5, 100, 19.9, 80.1, 98.9, 1.1, 99.634, 0.366, 99.762, 0.038, 0.2, 100, 90.48, 0.27, 9.25, 100, 78.99, 10, 11.01, 100, 92.23, 4.67, 3.1, 100, 95.02, 0.75, 4.21, 0.02, 75.77, 24.23, 0.337, 0.063, 99.6, 93.2581, 0.0117, 6.7302, 96.941, 0.647, 0.135, 2.086, 0.004, 0.187, 100, 8, 7.2, 73.8, 5.5, 5.4, 0.25, 99.75, 4.345, 83.789, 9.501, 2.365, 100, 5.8, 91.72, 2.2, 0.28, 100, 68.277, 26.223, 1.14, 3.634, 0.926, 69.17, 30.83, 48.6, 27.9, 4.1, 18.8, 0.6, 60.108, 39.892, 21.23, 27.66, 7.73, 36.94, 7.44, 100, 0.89, 9.36, 7.63, 23.78, 49.61, 8.73, 50.69, 49.31, 0.35, 2.25, 11.6, 11.5, 57, 17.3, 72.165, 27.835, 0.56, 9.86, 7, 82.58, 100, 51.45, 11.22, 17.15, 17.38, 2.8, 100, 14.84, 9.25, 15.92, 16.68, 9.55, 24.13, 9.63, 5.52, 1.88, 12.7, 12.6, 17, 31.6, 18.7, 100, 1.02, 11.14, 22.33, 27.33, 26.46, 11.72, 51.839, 48.161, 1.25, 0.89, 12.49, 12.8, 24.13, 12.22, 28.73, 7.49, 4.3, 95.7, 0.97, 0.65, 0.36, 14.53, 7.68, 24.22, 8.58, 32.59, 4.63, 5.79, 57.36, 42.64, 0.096, 2.6, 0.908, 4.816, 7.14, 18.95, 31.69, 33.8, 100, 0.1, 0.09, 1.91, 26.4, 4.1, 21.2, 26.9, 10.4, 8.9, 100, 0.106, 0.101, 2.417, 6.592, 7.854, 11.23, 71.7, 0.0902, 99.9098, 0.19, 0.25, 88.48, 11.08, 100, 27.13, 12.18, 23.8, 8.3, 17.19, 5.76, 5.64, 3.1, 15, 11.3, 13.8, 7.4, 26.7, 22.7, 47.8, 52.2, 0.2, 2.18, 14.8, 20.47, 15.65, 24.84, 21.86, 100, 0.06, 0.1, 2.34, 18.9, 25.5, 24.9, 28.2, 100, 0.14, 1.61, 33.6, 22.95, 26.8, 14.9, 100, 0.13, 3.05, 14.3, 21.9, 16.12, 31.8, 12.7, 97.41, 2.59, 0.162, 5.206, 18.606, 27.297, 13.629, 35.1, 0.012, 99.988, 0.13, 26.3, 14.3, 30.67, 28.6, 37.4, 62.6, 0.02, 1.58, 1.6, 13.3, 16.1, 26.4, 41, 37.3, 62.7, 0.01, 0.79, 32.9, 33.8, 25.3, 7.2, 100, 0.15, 9.97, 16.87, 23.1, 13.18, 29.86, 6.87, 29.524, 70.476, 1.4, 24.1, 22.1, 52.4, 100, 100, 0.005, 0.72, 99.275};
const G4double G4StableIsotopes::abundance[287] = {99.985, 0.015, 0.000137, 99.9999, 7.5, 92.5, 100, 19.9, 80.1, 98.9, 1.1, 99.634, 0.366, 99.762, 0.038, 0.2, 100, 90.48, 0.27, 9.25, 100, 78.99, 10, 11.01, 100, 92.23, 4.67, 3.1, 100, 95.02, 0.75, 4.21, 0.02, 75.77, 24.23, 0.337, 0.063, 99.6, 93.2581, 0.0117, 6.7302, 96.941, 0.647, 0.135, 2.086, 0.004, 0.187, 100, 8, 7.2, 73.8, 5.5, 5.4, 0.25, 99.75, 4.345, 83.789, 9.501, 2.365, 100, 5.8, 91.72, 2.2, 0.28, 100, 68.277, 26.223, 1.14, 3.634, 0.926, 69.17, 30.83, 48.6, 27.9, 4.1, 18.8, 0.6, 60.108, 39.892, 21.23, 27.66, 7.73, 36.94, 7.44, 100, 0.89, 9.36, 7.63, 23.78, 49.61, 8.73, 50.69, 49.31, 0.35, 2.25, 11.6, 11.5, 57, 17.3, 72.165, 27.835, 0.56, 9.86, 7, 82.58, 100, 51.45, 11.22, 17.15, 17.38, 2.8, 100, 14.84, 9.25, 15.92, 16.68, 9.55, 24.13, 9.63, 5.52, 1.88, 12.7, 12.6, 17, 31.6, 18.7, 100, 1.02, 11.14, 22.33, 27.33, 26.46, 11.72, 51.839, 48.161, 1.25, 0.89, 12.49, 12.8, 24.13, 12.22, 28.73, 7.49, 4.3, 95.7, 0.97, 0.65, 0.36, 14.53, 7.68, 24.22, 8.58, 32.59, 4.63, 5.79, 57.36, 42.64, 0.096, 2.6, 0.908, 4.816, 7.14, 18.95, 31.69, 33.8, 100, 0.1, 0.09, 1.91, 26.4, 4.1, 21.2, 26.9, 10.4, 8.9, 100, 0.106, 0.101, 2.417, 6.592, 7.854, 11.23, 71.7, 0.0902, 99.9098, 0.19, 0.25, 88.48, 11.08, 100, 27.13, 12.18, 23.8, 8.3, 17.19, 5.76, 5.64, 3.1, 15, 11.3, 13.8, 7.4, 26.7, 22.7, 47.8, 52.2, 0.2, 2.18, 14.8, 20.47, 15.65, 24.84, 21.86, 100, 0.06, 0.1, 2.34, 18.9, 25.5, 24.9, 28.2, 100, 0.14, 1.61, 33.6, 22.95, 26.8, 14.9, 100, 0.13, 3.05, 14.3, 21.9, 16.12, 31.8, 12.7, 97.41, 2.59, 0.162, 5.206, 18.606, 27.297, 13.629, 35.1, 0.012, 99.988, 0.13, 26.3, 14.3, 30.67, 28.6, 37.4, 62.6, 0.02, 1.58, 1.6, 13.3, 16.1, 26.4, 41, 37.3, 62.7, 0.01, 0.79, 32.9, 33.8, 25.3, 7.2, 100, 0.15, 9.97, 16.87, 23.1, 13.18, 29.86, 6.87, 29.524, 70.476, 1.4, 24.1, 22.1, 52.4, 100, 100, 0.005, 0.72, 99.275};
G4String G4StableIsotopes::GetName(G4int Z)
{
return elementName[Z-1];
}
G4int G4StableIsotopes::GetNumberOfIsotopes(G4int Z)
{
return nIsotopes[Z-1];
}
G4int G4StableIsotopes::GetFirstIsotope(G4int Z)
{
return start[Z-1];
}
G4int G4StableIsotopes::GetIsotopeNucleonCount(G4int number)
{
return nucleonCount[number];
}
G4double G4StableIsotopes::GetAbundance(G4int number)
{
return abundance[number];
}
G4int G4StableIsotopes::GetProtonCount(G4int Z) {
return protonCount[Z-1];
}