Import Geant4 8.2.0 source tree
This commit is contained in:
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4AtomicShells.hh,v 1.6 2006/06/29 19:10:52 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// $Id: G4AtomicShells.hh,v 1.7 2006/10/17 15:15:46 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
|
||||
// class description
|
||||
//
|
||||
@@ -65,6 +65,7 @@ public : //with description
|
||||
static G4int GetNumberOfShells(G4int Z);
|
||||
static G4int GetNumberOfElectrons(G4int Z, G4int SubshellNb);
|
||||
static G4double GetBindingEnergy (G4int Z, G4int SubshellNb);
|
||||
G4double GetTotalBindingEnergy (G4int Z);
|
||||
|
||||
private :
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Element.hh,v 1.21 2006/06/29 19:10:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// $Id: G4Element.hh,v 1.22 2006/10/17 15:15:46 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
//
|
||||
|
||||
// class description
|
||||
@@ -69,6 +69,7 @@
|
||||
// 14-09-01, fCountUse: nb of materials which use this element
|
||||
// 26-02-02, fIndexInTable renewed
|
||||
// 01-04-05, new data member fIndexZ to count the number of elements with same Z
|
||||
// 17-10-06: Add Get/Set fNaturalAbandances (V.Ivanchenko)
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -121,6 +122,9 @@ public: // with description
|
||||
G4double GetZ() const {return fZeff;}; //atomic number
|
||||
G4double GetN() const {return fNeff;}; //number of nucleons
|
||||
G4double GetA() const {return fAeff;}; //mass of a mole
|
||||
G4bool GetNaturalAbandancesFlag();
|
||||
|
||||
void SetNaturalAbandancesFlag(G4bool);
|
||||
|
||||
//the number of atomic shells in this element:
|
||||
//
|
||||
@@ -238,6 +242,7 @@ private:
|
||||
// Set up the static Table of Elements
|
||||
static G4ElementTable theElementTable;
|
||||
size_t fIndexInTable;
|
||||
G4bool fNaturalAbandances;
|
||||
|
||||
//
|
||||
// Derived data members (computed from the basic data members)
|
||||
@@ -247,6 +252,16 @@ private:
|
||||
G4IonisParamElm* fIonisation; // Pointer to ionisation parameters
|
||||
};
|
||||
|
||||
inline G4bool G4Element::GetNaturalAbandancesFlag()
|
||||
{
|
||||
return fNaturalAbandances;
|
||||
}
|
||||
|
||||
inline void G4Element::SetNaturalAbandancesFlag(G4bool val)
|
||||
{
|
||||
fNaturalAbandances = val;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ElementTable.hh,v 1.6 2006/06/29 19:10:58 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ElementVector.hh,v 1.6 2006/06/29 19:11:00 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4IonisParamElm.hh,v 1.9 2006/06/29 19:11:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
//
|
||||
|
||||
// class description
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4IonisParamMat.hh,v 1.9 2006/06/29 19:11:05 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
//
|
||||
|
||||
// class description
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4Isotope.hh,v 1.19 2006/06/29 19:11:07 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4IsotopeVector.hh,v 1.6 2006/06/29 19:11:09 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4MPVEntry.hh,v 1.6 2006/06/29 19:11:11 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4Material.hh,v 1.25 2006/06/29 19:11:13 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
//
|
||||
|
||||
// class description
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4MaterialPropertiesTable.hh,v 1.18 2006/06/29 19:11:15 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4MaterialPropertyVector.hh,v 1.10 2006/06/29 19:11:17 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4MaterialTable.hh,v 1.6 2006/06/29 19:11:19 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4NistElementBuilder.hh,v 1.9 2006/06/29 19:11:21 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// $Id: G4NistElementBuilder.hh,v 1.10 2006/10/17 15:15:46 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
|
||||
#ifndef G4NistElementBuilder_h
|
||||
#define G4NistElementBuilder_h 1
|
||||
@@ -41,6 +41,7 @@
|
||||
// Modifications:
|
||||
// 27.02.06 V.Ivanchenko Return m=0 if Z&N combination is out of NIST
|
||||
// 27.02.06 V.Ivanchneko add GetAtomicMassAmu
|
||||
// 17.10.06 V.Ivanchneko add GetAtomicMass and GetNistElementNames methods
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
@@ -52,6 +53,7 @@
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4AtomicShells.hh"
|
||||
#include <vector>
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -70,6 +72,7 @@ public:
|
||||
G4int GetZ (const G4String& symb);
|
||||
G4double GetA (G4int Z);
|
||||
G4double GetIsotopeMass (G4int Z, G4int N);
|
||||
G4double GetAtomicMass (G4int Z, G4int N);
|
||||
|
||||
G4double GetIsotopeAbundance (G4int Z, G4int N);
|
||||
|
||||
@@ -83,7 +86,10 @@ public:
|
||||
|
||||
// Find or build a G4Element by symbol
|
||||
G4Element* FindOrBuildElement (const G4String& symb,
|
||||
G4bool buildIsotopes = true);
|
||||
G4bool buildIsotopes = true);
|
||||
|
||||
// Return reference to vector of element names
|
||||
const std::vector<G4String>& GetElementNames() const;
|
||||
|
||||
private:
|
||||
|
||||
@@ -111,6 +117,8 @@ private:
|
||||
G4int verbose;
|
||||
G4bool first;
|
||||
|
||||
std::vector<G4String> elmNames;
|
||||
G4AtomicShells aShell;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -138,7 +146,20 @@ inline G4double G4NistElementBuilder::GetIsotopeMass(G4int Z, G4int N)
|
||||
{
|
||||
G4double m = 0.0;
|
||||
G4int i = N - nFirstIsotope[Z];
|
||||
if(i >= 0 && i <nIsotopes[Z]) m = massIsotopes[i + idxIsotopes[Z]];
|
||||
if(i >= 0 && i <nIsotopes[Z])
|
||||
m = massIsotopes[i + idxIsotopes[Z]]*amu_c2
|
||||
- Z*electron_mass_c2 + aShell.GetTotalBindingEnergy(Z);
|
||||
return m;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline G4double G4NistElementBuilder::GetAtomicMass(G4int Z, G4int N)
|
||||
{
|
||||
G4double m = 0.0;
|
||||
G4int i = N - nFirstIsotope[Z];
|
||||
if(i >= 0 && i <nIsotopes[Z])
|
||||
m = massIsotopes[i + idxIsotopes[Z]]*amu_c2;
|
||||
return m;
|
||||
}
|
||||
|
||||
@@ -154,5 +175,13 @@ inline G4double G4NistElementBuilder::GetIsotopeAbundance(G4int Z, G4int N)
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline
|
||||
const std::vector<G4String>& G4NistElementBuilder::GetElementNames() const
|
||||
{
|
||||
return elmNames;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4NistManager.hh,v 1.8 2006/06/29 19:11:38 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// $Id: G4NistManager.hh,v 1.9 2006/10/17 15:15:46 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
//
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
@@ -40,6 +40,8 @@
|
||||
// Modifications:
|
||||
// 27.02.06 V.Ivanchneko add GetAtomicMassAmu and ConstructNewGasMaterial
|
||||
// 11.05.06 V.Ivanchneko add warning flag to FindMaterial method
|
||||
// 17.10.06 V.Ivanchneko add methods: GetAtomicMass, GetNistElementNames,
|
||||
// GetNistMaterialNames
|
||||
//
|
||||
// Class Description:
|
||||
//
|
||||
@@ -93,8 +95,14 @@ public:
|
||||
|
||||
size_t GetNumberOfElements() const;
|
||||
G4int GetZ(const G4String& symb) const;
|
||||
|
||||
// Mass in amu
|
||||
G4double GetAtomicMassAmu(G4int Z) const;
|
||||
|
||||
// Mass in Geant4 units
|
||||
G4double GetIsotopeMass(G4int Z, G4int N) const;
|
||||
G4double GetAtomicMass(G4int Z, G4int N) const;
|
||||
|
||||
G4double GetIsotopeAbundance(G4int Z, G4int N) const;
|
||||
|
||||
void PrintElement(const G4String&);
|
||||
@@ -102,9 +110,10 @@ public:
|
||||
|
||||
void PrintG4Element(const G4String&);
|
||||
|
||||
const std::vector<G4String>& GetNistElementNames() const;
|
||||
|
||||
// Materials
|
||||
//
|
||||
// Materials
|
||||
//
|
||||
void RegisterMaterial (G4Material*);
|
||||
void DeRegisterMaterial(G4Material*);
|
||||
|
||||
@@ -144,6 +153,8 @@ public:
|
||||
void ListMaterials(const G4String&);
|
||||
void PrintG4Material(const G4String&);
|
||||
|
||||
const std::vector<G4String>& GetNistMaterialNames() const;
|
||||
|
||||
private:
|
||||
|
||||
G4NistManager();
|
||||
@@ -224,6 +235,14 @@ G4double G4NistManager::GetIsotopeMass(G4int Z, G4int N) const
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline
|
||||
G4double G4NistManager::GetAtomicMass(G4int Z, G4int N) const
|
||||
{
|
||||
return elmBuilder->GetAtomicMass(Z, N);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline
|
||||
G4double G4NistManager::GetIsotopeAbundance(G4int Z, G4int N) const
|
||||
{
|
||||
@@ -232,6 +251,14 @@ G4double G4NistManager::GetIsotopeAbundance(G4int Z, G4int N) const
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline
|
||||
const std::vector<G4String>& G4NistManager::GetNistElementNames() const
|
||||
{
|
||||
return elmBuilder->GetElementNames();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline
|
||||
G4Material* G4NistManager::GetMaterial(size_t index)
|
||||
{
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4NistMaterialBuilder.hh,v 1.8 2006/06/29 19:12:00 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// $Id: G4NistMaterialBuilder.hh,v 1.9 2006/10/17 15:15:46 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
|
||||
#ifndef G4NistMaterialBuilder_h
|
||||
#define G4NistMaterialBuilder_h 1
|
||||
@@ -102,6 +102,8 @@ public:
|
||||
void ListNistCompoundMaterials();
|
||||
void ListHepMaterials();
|
||||
|
||||
const std::vector<G4String>& GetMaterialNames() const;
|
||||
|
||||
private:
|
||||
|
||||
void Initialise();
|
||||
@@ -161,4 +163,10 @@ private:
|
||||
|
||||
};
|
||||
|
||||
inline const std::vector<G4String>&
|
||||
G4NistMaterialBuilder::GetMaterialNames() const
|
||||
{
|
||||
return names;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4NistMessenger.hh,v 1.2 2006/06/29 19:12:29 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
//
|
||||
// File name: G4NistMessenger
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4OpticalSurface.hh,v 1.8 2006/06/29 19:12:31 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4SandiaTable.hh,v 1.14 2006/06/29 19:12:33 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
|
||||
// class description
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4StaticSandiaData.hh,v 1.7 2006/06/29 19:12:35 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4SurfaceProperty.hh,v 1.3 2006/06/29 19:12:37 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user