Import Geant4 3.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 16:10:37 +02:00
parent 137e303ecc
commit 36c080dca6
3464 changed files with 119310 additions and 52696 deletions
@@ -1,12 +1,25 @@
// This code implementation is the intellectual property of
// 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.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of 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.2 1999/12/15 14:52:06 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
//
// GEANT4 physics class: G4CrossSectionDataStore
@@ -18,7 +31,8 @@
G4double
G4CrossSectionDataStore::GetCrossSection(const G4DynamicParticle* aParticle,
const G4Element* anElement)
const G4Element* anElement,
G4double aTemperature)
{
if (NDataSetList == 0) {
G4Exception("G4CrossSectionDataStore: no data sets registered");
@@ -26,7 +40,7 @@ G4CrossSectionDataStore::GetCrossSection(const G4DynamicParticle* aParticle,
}
for (G4int i = NDataSetList-1; i >= 0; i--) {
if (DataSetList[i]->IsApplicable(aParticle, anElement))
return DataSetList[i]->GetCrossSection(aParticle, anElement);
return DataSetList[i]->GetCrossSection(aParticle, anElement, aTemperature);
}
G4Exception("G4CrossSectionDataStore: no applicable data set found "
"for particle/element");
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// 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.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of 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.2 1999/12/15 14:52:06 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4HadronCaptureDataSet.cc,v 1.2.8.1 2001/06/28 19:12:53 gunter Exp $
// GEANT4 tag $Name: $
//
//
// G4 Physics class: HadronCaptureDataSet for cross sections
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// 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.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of 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.3 2001/02/26 17:09:14 hpw Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4HadronCrossSections.cc,v 1.4.2.1 2001/06/28 19:12:54 gunter Exp $
// GEANT4 tag $Name: $
//
//
// G4 Hadron Physics class G4HadronCrossSections
@@ -1485,7 +1501,7 @@ G4HadronCrossSections::GetCaptureCrossSection(
G4double ekx = G4std::max(ek, 1.e-9);
G4double z = anElement->GetZ();
G4int izno = z + 0.01;
G4int izno = static_cast<G4int> (z + 0.01);
if (izno > 100) izno = 100; // Not in GHESIG
izno = izno - 1; // For array indexing
G4double sigcap = 11.12*cscap[izno]/pow(ekx*1.e6, 0.577);
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// 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.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of 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.2 1999/12/15 14:52:07 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4HadronElasticDataSet.cc,v 1.2.8.1 2001/06/28 19:12:54 gunter Exp $
// GEANT4 tag $Name: $
//
//
// G4 Physics class: HadronElasticDataSet for cross sections
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// 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.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of 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.2 1999/12/15 14:52:07 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4HadronFissionDataSet.cc,v 1.2.8.1 2001/06/28 19:12:54 gunter Exp $
// GEANT4 tag $Name: $
//
//
// G4 Physics class: HadronFissionDataSet for cross sections
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// 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.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of 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.2 1999/12/15 14:52:07 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4HadronInelasticDataSet.cc,v 1.2.8.1 2001/06/28 19:12:54 gunter Exp $
// GEANT4 tag $Name: $
//
//
// G4 Physics class: HadronInelasticDataSet for cross sections
@@ -1,10 +1,33 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of 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. *
// ********************************************************************
//
// By JPW, working, but to be cleaned up. @@@
#include "G4NeutronInelasticCrossSection.hh"
#include "globals.hh"
G4double G4NeutronInelasticCrossSection::
GetCrossSection(const G4DynamicParticle* aPart, const G4Element* anEle)
GetCrossSection(const G4DynamicParticle* aPart,
const G4Element* anEle, G4double aTemperature)
{
G4double atomicNumber = anEle->GetN();
G4double nOfProtons = anEle->GetZ();
@@ -1,10 +1,33 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of 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. *
// ********************************************************************
//
// By JPW, working, but to be cleaned up. @@@
#include "G4ProtonInelasticCrossSection.hh"
#include "globals.hh"
G4double G4ProtonInelasticCrossSection::
GetCrossSection(const G4DynamicParticle* aPart, const G4Element* anEle)
GetCrossSection(const G4DynamicParticle* aPart,
const G4Element* anEle, G4double aTemperature)
{
G4double atomicNumber = anEle->GetN();
G4double nOfProtons = anEle->GetZ();
@@ -1,3 +1,25 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of 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. *
// ********************************************************************
//
// Implementation of formulas in analogy to NASA technical paper 3621 by Tripathi, et al.
#include "G4TripathiCrossSection.hh"
@@ -5,7 +27,8 @@
#include "G4IonTable.hh"
G4double G4TripathiCrossSection::
GetCrossSection(const G4DynamicParticle* aPart, const G4Element*anEle)
GetCrossSection(const G4DynamicParticle* aPart,
const G4Element*anEle, G4double aTemperature)
{
G4double result = 0;
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// 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.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of 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.2 1999/12/15 14:52:07 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4VCrossSectionDataSet.cc,v 1.2.8.1 2001/06/28 19:12:54 gunter Exp $
// GEANT4 tag $Name: $
//
//
// GEANT4 physics abstract class: G4VCrossSectionDataSet