Import Geant4 10.7.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2020-06-26 10:23:25 +02:00
parent c02c370437
commit 67ba86d073
1871 changed files with 174422 additions and 131884 deletions
@@ -23,99 +23,76 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// G4NucleiProperties
//
// Class description:
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// ------------------------------------------------------------
// Hadronic Process: Nuclear De-excitations by V. Lara (Oct 1998)
// Migrate into particles category by H.Kurashige (17 Nov. 98)
// Added Shell-Pairing corrections to the Cameron mass
// excess formula by V.Lara (9 May 99)
//
// 090331 Migrate to AME03 by Koi, Tatsumi
// Utility class to provide mass formula of nuclei (i.e. it has static
// member function only).
#ifndef G4NucleiProperties_h
#define G4NucleiProperties_h 1
// Author: V.Lara, October 1998
// History:
// - 17.11.1998, H.Kurashige - Migrated into particles category
// - 31.03.2009, T.Koi - Migrated to AME03
// --------------------------------------------------------------------
#ifndef G4NucleiProperties_hh
#define G4NucleiProperties_hh 1
#include "globals.hh"
#include "G4ios.hh"
class G4NucleiProperties
{
// Class Description
// G4NucleiProperties is an utility class to provide mass formula of nuclei
// (i.e. it has static member function only)
public:
public:
G4NucleiProperties() {}
~G4NucleiProperties() {}
// Destructor
~G4NucleiProperties() { };
static G4double GetNuclearMass(const G4double A, const G4double Z);
static G4double GetNuclearMass(const G4int A, const G4int Z);
// Give mass of nucleus A,Z
// Default constructor ()
G4NucleiProperties() { };
static G4bool IsInStableTable(const G4double A, const G4double Z);
static G4bool IsInStableTable(const G4int A, const G4int Z);
// Return 'true' if the nucleus is in the stable table
// (i.e. in G4NucleiPropertiesTable)
static G4double GetBindingEnergy(const G4int A, const G4int Z);
static G4double GetBindingEnergy(const G4double A, const G4double Z);
// Give binding energy
public: // With Description
static G4double GetMassExcess(const G4int A, const G4int Z);
static G4double GetMassExcess(const G4double A, const G4double Z);
// Calculate Mass Excess of nucleus A,Z
// Give mass of nucleus A,Z
static G4double GetNuclearMass(const G4double A, const G4double Z);
static G4double GetNuclearMass(const G4int A, const G4int Z);
private:
// return 'true' if the nucleus in the stable table
// (i.e.in G4NucleiPropertiesTable)
static bool IsInStableTable(const G4double A, const G4double Z);
static bool IsInStableTable(const G4int A, const G4int Z);
// Hidden methods to enforce using GetNuclearMass
// Give binding energy
static G4double GetBindingEnergy(const G4int A, const G4int Z);
static G4double GetBindingEnergy(const G4double A, const G4double Z);
// Calculate Mass Excess of nucleus A,Z
static G4double GetMassExcess(const G4int A, const G4int Z);
static G4double GetMassExcess(const G4double A, const G4double Z);
private:
// hidie methods to enforce using GetNuclearMass
// Give mass of Atom A,Z
static G4double GetAtomicMass(const G4double A, const G4double Z);
static G4double GetAtomicMass(const G4double A, const G4double Z);
// Give mass of Atom A,Z
private:
static G4double AtomicMass(G4double A, G4double Z);
static G4double AtomicMass(G4double A, G4double Z);
static G4double NuclearMass(G4double A, G4double Z);
static G4double NuclearMass(G4double A, G4double Z);
static G4double BindingEnergy(G4double A, G4double Z);
static G4double BindingEnergy(G4double A, G4double Z);
static G4double MassExcess(G4double A, G4double Z);
static G4double MassExcess(G4double A, G4double Z);
private:
// table of orbit electrons mass - binding energy
enum {MaxZ = 120};
static G4ThreadLocal G4double electronMass[MaxZ];
private:
private:
static G4ThreadLocal G4bool isIntialized;
static G4ThreadLocal G4double mass_proton;
static G4ThreadLocal G4double mass_neutron;
static G4ThreadLocal G4double mass_deuteron;
static G4ThreadLocal G4double mass_triton;
static G4ThreadLocal G4double mass_alpha;
static G4ThreadLocal G4double mass_He3;
enum {MaxZ = 120};
static G4ThreadLocal G4double electronMass[MaxZ];
// table of orbit electrons mass - binding energy
static G4ThreadLocal G4bool isIntialized;
static G4ThreadLocal G4double mass_proton;
static G4ThreadLocal G4double mass_neutron;
static G4ThreadLocal G4double mass_deuteron;
static G4ThreadLocal G4double mass_triton;
static G4ThreadLocal G4double mass_alpha;
static G4ThreadLocal G4double mass_He3;
};
#endif