Import Geant4 4.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 16:39:52 +02:00
parent 921d3b1cda
commit 330b82b769
4524 changed files with 178689 additions and 43575 deletions
@@ -22,7 +22,7 @@
//
//
// $Id: G4AtomicTransitionManager.hh,v 1.2 ????
// GEANT4 tag $Name: geant4-04-00 $
// GEANT4 tag $Name: geant4-04-01 $
//
// Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
// Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
@@ -36,8 +36,8 @@
// -------------------------------------------------------------------
// Class description:
// Low Energy Electromagnetic Physics, fills and manages G4AtomicShell
// and G4AtomicTransition objects
// Low Energy Electromagnetic Physics: create or fills and manages G4AtomicShell,
// G4FluoTransition, G4AugerTransition objects.
// Further documentation available from http://www.ge.infn.it/geant4/lowE
// -------------------------------------------------------------------
@@ -47,9 +47,10 @@
#include "G4ShellData.hh"
#include "G4FluoData.hh"
#include "G4AtomicTransition.hh"
#include "G4AugerData.hh"
#include "G4FluoTransition.hh"
#include "G4AtomicShell.hh"
#include "g4std/map"
// #include "g4std/map"
#include "g4std/vector"
#include "globals.hh"
@@ -64,20 +65,37 @@ public:
// Z is the atomic number of the element, shellIndex is the
// index (in EADL) of the shell
const G4AtomicShell* Shell(G4int Z, size_t shellIndex);
G4AtomicShell* Shell(G4int Z, size_t shellIndex) const;
// Z is the atomic number of the element, shellIndex is the
// index (in EADL) of the final shell for the transition
const G4AtomicTransition* ReachableShell(G4int Z, size_t shellIndex);
// This function gives, upon Z and the Index of the initial shell where te vacancy is,
// the radiative transition that can happen (originating shell, energy, probability)
const G4FluoTransition* ReachableShell(G4int Z, size_t shellIndex) const ;
// This function gives, upon Z and the Index of the initial shell where te vacancy is,
// the NON-radiative transition that can happen with originating shell for the transition, and the
// data for the possible auger electrons emitted (originating vacancy, energy amnd probability)
const G4AugerTransition* ReachableAugerShell(G4int Z, G4int shellIndex) const ;
// This function returns the number of shells of the element
// whose atomic number is Z
G4int NumberOfShells(G4int Z);
G4int NumberOfShells(G4int Z) const;
// This function returns the number of those shells of the element
// whose atomic number is Z which are reachable through a radiative
// transition
G4int NumberOfReachableShells(G4int Z);
// This function returns the number of possible radiative transitions for the atom with atomic number Z
// i.e. the number of shell in wich a vacancy can be filled with a radiative transition
G4int NumberOfReachableShells(G4int Z)const ;
// This function returns the number of possible NON-radiative transitions for the atom with atomic number Z
// i.e. the number of shell in wich a vacancy can be filled by a NON-radiative transition
G4int NumberOfReachableAugerShells(G4int Z)const ;
// Gives the sum of the probabilities of radiative transition towards the
// shell whose index is shellIndex
@@ -94,6 +112,9 @@ protected:
~G4AtomicTransitionManager();
private:
// Hide copy constructor and assignment operator
G4AtomicTransitionManager& operator=(const G4AtomicTransitionManager& right);
G4AtomicTransitionManager(const G4AtomicTransitionManager&);
static G4AtomicTransitionManager* instance;
@@ -103,8 +124,12 @@ private:
// the first element of the map is the atomic number Z.
// the second element is a vector of G4AtomicTransition*.
G4std::map<G4int,G4std::vector<G4AtomicTransition*>,G4std::less<G4int> > transitionTable;
G4std::map<G4int,G4std::vector<G4FluoTransition*>,G4std::less<G4int> > transitionTable;
// since Augereffect data r stored as a table in G4AugerData, we have here a pointer to an element of that class itself.
G4AugerData* augerData;
// Minimum and maximum Z in EADL table containing identities and binding
// energies of shells
G4int zMin;