Import Geant4 9.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:58:43 +02:00
parent 96c8bcd0af
commit b79225fb37
7544 changed files with 245407 additions and 91099 deletions
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// GEANT4 physics class: G4ElectroNuclearCrossSection -- header file
@@ -40,7 +40,6 @@
#include "G4Element.hh"
#include "G4ParticleTable.hh"
#include "G4NucleiProperties.hh"
#include "G4NucleiPropertiesTable.hh"
#include <vector>
#include "Randomize.hh"
#include "G4Electron.hh"
@@ -51,7 +50,7 @@ class G4ElectroNuclearCrossSection : public G4VCrossSectionDataSet
public:
G4ElectroNuclearCrossSection();
~G4ElectroNuclearCrossSection();
virtual ~G4ElectroNuclearCrossSection();
G4bool IsApplicable(const G4DynamicParticle* aParticle, const G4Element* )
{
@@ -116,40 +115,6 @@ private:
static std::vector <G4double*> J3; // Vector of pointers to the J3 tabulated functions
};
// Gives the threshold energy for different nuclei (min of p- and n-threshold)
inline G4double G4ElectroNuclearCrossSection::ThresholdEnergy(G4int Z, G4int N)
{
// CHIPS - Direct GEANT
//static const G4double mNeut = G4QPDGCode(2112).GetMass();
//static const G4double mProt = G4QPDGCode(2212).GetMass();
static const G4double mNeut = G4NucleiProperties::GetNuclearMass(1,0);
static const G4double mProt = G4NucleiProperties::GetNuclearMass(1,1);
// ---------
static const G4double infEn = 9.e27;
G4int A=Z+N;
if(A<1) return infEn;
else if(A==1) return 134.9766; // Pi0 threshold for the nucleon
// CHIPS - Direct GEANT
//G4double mT= G4QPDGCode(111).GetNuclMass(Z,N,0);
G4double mT= 0.;
if(G4NucleiPropertiesTable::IsInTable(Z,A)) mT=G4NucleiProperties::GetNuclearMass(A,Z);
else return 0.; // If it is not in the Table of Stable Nuclei, then the Threshold=0
// ---------
G4double mP= infEn;
//if(Z) mP= G4QPDGCode(111).GetNuclMass(Z-1,N,0);
if(Z&&G4NucleiPropertiesTable::IsInTable(Z-1,A-1)) mP=G4NucleiProperties::GetNuclearMass(A-1,Z-1);
else return infEn;
G4double mN= infEn;
//if(N) mN= G4QPDGCode(111).GetNuclMass(Z,N-1,0);
if(N&&G4NucleiPropertiesTable::IsInTable(Z,A-1)) mN=G4NucleiProperties::GetNuclearMass(A-1,Z);
else return infEn;
G4double dP= mP+mProt-mT;
G4double dN= mN+mNeut-mT;
if(dP<dN)dN=dP;
return dN;
}
inline G4double G4ElectroNuclearCrossSection::DFun(G4double x)// Parametrization of the PhotoNucCS
{
static const G4double shd=1.0734; // HE PomShadowing(D)