Import Geant4 9.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:16:48 +02:00
parent 75c7fd177d
commit a8e9364cea
6592 changed files with 84274 additions and 69292 deletions
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4BGGNucleonElasticXS.hh,v 1.1 2007/03/13 15:19:30 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-03 $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4BGGNucleonInelasticXS.hh,v 1.1 2007/03/13 15:19:30 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-03 $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4BGGPionElasticXS.hh,v 1.1 2007/03/13 15:19:30 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-03 $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4BGGPionInelasticXS.hh,v 1.1 2007/03/13 15:19:30 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-03 $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// GEANT4 tag $Name: geant4-08-03 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// GEANT4 physics class: G4ElectroNuclearCrossSection -- header file
@@ -50,12 +50,8 @@ class G4ElectroNuclearCrossSection : public G4VCrossSectionDataSet
{
public:
G4ElectroNuclearCrossSection() // Constructor @@??
{
//theHadronCrossSections = G4HadronCrossSections::Instance();
}
~G4ElectroNuclearCrossSection() {}
G4ElectroNuclearCrossSection();
~G4ElectroNuclearCrossSection();
G4bool IsApplicable(const G4DynamicParticle* aParticle, const G4Element* )
{
@@ -114,6 +110,10 @@ private:
static G4double lastSig; // Last value of the Cross Section
static G4double lastG; // Last value of gamma=lnE-ln(me)
static G4double lastH; // Last value of the High energy A-dependence
static std::vector <G4double*> J1; // Vector of pointers to the J1 tabulated functions
static std::vector <G4double*> J2; // Vector of pointers to the J2 tabulated functions
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)
@@ -82,14 +82,23 @@ public:
void DumpPhysicsTable(const G4ParticleDefinition&)
{G4cout << "G4GlauberGribovCrossSection: uses Glauber-Gribov formula"<<G4endl;}
G4double GetHadronNucleaonXsc(const G4DynamicParticle*, const G4Element*);
G4double GetHadronNucleaonXsc(const G4DynamicParticle*, G4double At, G4double Zt);
G4double GetRatioSD(const G4DynamicParticle*, G4double At, G4double Zt);
G4double GetRatioQE(const G4DynamicParticle*, G4double At, G4double Zt);
G4double GetHadronNucleaonXscPDG(const G4DynamicParticle*, const G4Element*);
G4double GetHadronNucleaonXscPDG(const G4DynamicParticle*, G4double At, G4double Zt);
G4double GetHadronNucleonXsc(const G4DynamicParticle*, const G4Element*);
G4double GetHadronNucleonXsc(const G4DynamicParticle*, G4double At, G4double Zt);
G4double GetHadronNucleaonXscNS(const G4DynamicParticle*, const G4Element*);
G4double GetHadronNucleaonXscNS(const G4DynamicParticle*,G4double At, G4double Zt);
G4double GetHadronNucleonXscPDG(const G4DynamicParticle*, const G4Element*);
G4double GetHadronNucleonXscPDG(const G4DynamicParticle*, G4double At, G4double Zt);
G4double GetHadronNucleonXscNS(const G4DynamicParticle*, const G4Element*);
G4double GetHadronNucleonXscNS(const G4DynamicParticle*,G4double At, G4double Zt);
G4double GetHNinelasticXsc(const G4DynamicParticle*, const G4Element*);
G4double GetHNinelasticXsc(const G4DynamicParticle*, G4double At, G4double Zt);
G4double GetHNinelasticXscVU(const G4DynamicParticle*, G4double At, G4double Zt);
G4double GetHadronNucleonXscMK(const G4DynamicParticle* aParticle,
const G4ParticleDefinition* nucleon );
G4double CalculateEcmValue ( const G4double , const G4double , const G4double );
@@ -101,6 +110,8 @@ public:
G4double GetTotalGlauberGribovXsc() { return fTotalXsc; };
G4double GetElasticGlauberGribovXsc() { return fElasticXsc; };
G4double GetInelasticGlauberGribovXsc(){ return fInelasticXsc; };
G4double GetProductionGlauberGribovXsc(){ return fProductionXsc; };
G4double GetDiffractionGlauberGribovXsc(){ return fDiffractionXsc; };
G4double GetRadiusConst() { return fRadiusConst; };
G4double GetNucleusRadius(const G4DynamicParticle*, const G4Element*);
@@ -112,7 +123,7 @@ private:
const G4double fLowerLimit;
const G4double fRadiusConst;
G4double fTotalXsc, fElasticXsc, fInelasticXsc;
G4double fTotalXsc, fElasticXsc, fInelasticXsc, fProductionXsc, fDiffractionXsc;
G4double fHadronNucleonXsc;
G4ParticleDefinition* theGamma;
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// GEANT4 tag $Name: geant4-08-03 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// GEANT4 Hadron physics class -- header file
@@ -86,7 +86,7 @@
//#include "G4LPhysicsFreeVector.hh"
enum { TSIZE=41, PSIZE=35, NELAB=17, NCNLW=15, NFISS=21 };
enum { TSIZE=41, NPARTS=35, NELAB=17, NCNLW=15, NFISS=21 };
class G4HadronCrossSections
{
@@ -193,8 +193,8 @@ private:
// data hiding.
static G4float plab[TSIZE];
static G4float csel[PSIZE][TSIZE];
static G4float csin[PSIZE][TSIZE];
static G4float csel[NPARTS][TSIZE];
static G4float csin[NPARTS][TSIZE];
static G4float cspiel[3][TSIZE];
@@ -210,7 +210,7 @@ private:
static G4float ekfiss[NFISS], csfiss[4][NFISS];
static G4float alpha[PSIZE], alphac[TSIZE];
static G4float alpha[NPARTS], alphac[TSIZE];
static G4float partel[35], partin[35];
static G4int icorr[35], intrc[35];
@@ -43,12 +43,11 @@
#include "G4Proton.hh"
#include "G4Nucleus.hh"
#include "G4VCrossSectionDataSet.hh"
class G4ParticleDefinition;
class G4DynamicParticle;
class G4HadronNucleonXsc : public G4VCrossSectionDataSet
class G4HadronNucleonXsc
{
public:
@@ -78,6 +77,8 @@ public:
G4double GetHadronNucleonXscVU(const G4DynamicParticle*, const G4ParticleDefinition*);
G4double GetHadronNucleonXscMK(const G4DynamicParticle*, const G4ParticleDefinition*);
// kinematics and set/get
G4double CalculateEcmValue ( const G4double , const G4double , const G4double );
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// GEANT4 tag $Name: geant4-08-03 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// GEANT4 physics class: G4PhotoNuclearCrossSection -- header file
@@ -49,12 +49,8 @@ class G4PhotoNuclearCrossSection : public G4VCrossSectionDataSet
{
public:
G4PhotoNuclearCrossSection() // Constructor @@??
{
//theHadronCrossSections = G4HadronCrossSections::Instance();
}
~G4PhotoNuclearCrossSection() {}
G4PhotoNuclearCrossSection();
~G4PhotoNuclearCrossSection();
G4bool IsApplicable(const G4DynamicParticle* particle, const G4Element* )
@@ -100,6 +96,9 @@ private:
static G4double lastTH; // Last value of the Energy Threshold (A-dependent)
static G4double lastSP; // Last value of the ShadowingPomeron (A-dependent)
static std::vector <G4double*> GDR; // Vector of pointers to the GDRPhotonuclearCrossSection
static std::vector <G4double*> HEN; // Vector of pointers to the HighEnPhotonuclearCrossSect
//G4HadronCrossSections* theHadronCrossSections;
};