Import Geant4 9.2.0 source tree
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user