Import Geant4 1.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:28:20 +02:00
parent aaa409b6ee
commit ca1c8cb059
2995 changed files with 106830 additions and 299600 deletions
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4CrossSectionDataStore.cc,v 1.1 1999/01/07 16:11:33 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4CrossSectionDataStore.cc,v 1.1.10.1 1999/12/07 20:51:28 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// GEANT4 physics class: G4CrossSectionDataStore
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HadronCaptureDataSet.cc,v 1.1 1999/01/07 16:11:33 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4HadronCaptureDataSet.cc,v 1.1.10.1 1999/12/07 20:51:29 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// G4 Physics class: HadronCaptureDataSet for cross sections
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HadronCrossSections.cc,v 1.1 1999/01/07 16:11:33 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4HadronCrossSections.cc,v 1.1.10.1 1999/12/07 20:51:29 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// G4 Hadron Physics class G4HadronCrossSections
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HadronElasticDataSet.cc,v 1.1 1999/01/07 16:11:34 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4HadronElasticDataSet.cc,v 1.1.10.1 1999/12/07 20:51:29 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// G4 Physics class: HadronElasticDataSet for cross sections
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HadronFissionDataSet.cc,v 1.1 1999/01/07 16:11:34 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4HadronFissionDataSet.cc,v 1.1.10.1 1999/12/07 20:51:29 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// G4 Physics class: HadronFissionDataSet for cross sections
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HadronInelasticDataSet.cc,v 1.1 1999/01/07 16:11:34 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4HadronInelasticDataSet.cc,v 1.1.10.1 1999/12/07 20:51:30 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// G4 Physics class: HadronInelasticDataSet for cross sections
@@ -0,0 +1,40 @@
// By JPW, working, but to be cleaned up. @@@
#include "G4NeutronInelasticCrossSection.hh"
#include "globals.hh"
G4double G4NeutronInelasticCrossSection::
GetCrossSection(const G4DynamicParticle* aPart, const G4Element* anEle)
{
G4double atomicNumber = anEle->GetN();
G4double nOfProtons = anEle->GetZ();
return GetCrossSection(aPart->GetKineticEnergy(), atomicNumber, nOfProtons);
}
G4double G4NeutronInelasticCrossSection::
GetCrossSection(G4double anEnergy, G4double atomicNumber, G4double nOfProtons)
{
G4double kineticEnergy = log10(anEnergy/MeV);
G4double nOfNeutrons = atomicNumber-nOfProtons;
const G4double p1=1.3773;
const G4double p2=1.+10./atomicNumber-0.0006*atomicNumber;
const G4double p3=0.6+13./atomicNumber-0.0005*atomicNumber;
const G4double p4=7.2449-0.018242*atomicNumber;
const G4double p5=1.64-1.8/atomicNumber-0.0005*atomicNumber;
const G4double p6=1.+200./atomicNumber+0.02*atomicNumber;
const G4double p7=(atomicNumber-70.)*(atomicNumber-200.)/11000.;
double part1 = pi*(p1*p1)*log(nOfNeutrons);
double part2 = 1.+ pow(atomicNumber, 1./3.) - p2*(1.-1./pow(atomicNumber, 1./3.));
double firstexp = -p4*(kineticEnergy-p5);
double first=1.+exp(firstexp);
double corr = 1.+p3*(1.-1./first);
double secondexp = -p6*(kineticEnergy-p7);
double second=1.+exp(secondexp);
double corr2 =1./second;
double xsec = corr*corr2*part1*part2*10.*millibarn;
return xsec;
}
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VCrossSectionDataSet.cc,v 1.1 1999/01/07 16:11:34 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4VCrossSectionDataSet.cc,v 1.1.10.1 1999/12/07 20:51:30 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// GEANT4 physics abstract class: G4VCrossSectionDataSet