Import Geant4 8.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:07:44 +02:00
parent fe73f43734
commit 75c7fd177d
764 changed files with 45230 additions and 95238 deletions
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 1.7 2006/10/24 11:37:56 vnivanch Exp $
# $Id: GNUmakefile,v 1.8 2007/01/12 16:35:21 maire Exp $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
@@ -14,7 +14,7 @@ endif
.PHONY: all
all: lib bin
#### G4ANALYSIS_USE := true
### G4ANALYSIS_USE := true
ifdef G4ANALYSIS_USE
CPPFLAGS += -DG4ANALYSIS_USE
@@ -1,4 +1,4 @@
$Id: History,v 1.44 2006/12/11 20:13:53 vnivanch Exp $
$Id: History,v 1.47 2007/04/24 13:10:12 vnivanch Exp $
-------------------------------------------------------------------
=========================================================
@@ -15,6 +15,16 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
24-04-07: V.Ivant (testem7-V08-02-02)
- use standard names for "livermore" and "penelope" PhysLists
- use skin = 1 as default
20-03-07: V.Ivant (testem7-V08-02-01)
- Fix usage elastic builders in PhysicsList
12-01-07: mma (testem7-V08-02-00)
- cleanup macros
11-12-06: V.Ivant (testem7-V08-01-03)
- fix Livermore phys constructor
- fix use of elastic constructor
@@ -1,26 +1,11 @@
*************************************************************
Geant4 version Name: global-V08-01-05 (15-December-2006)
Geant4 version Name: geant4-08-03-cand-00 (5-May-2007)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
*************************************************************
***** Table : Nb of materials = 3 *****
Material: Water density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.084 cm
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.19 % ElmAbundance 66.67 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.81 % ElmAbundance 33.33 %
Material: Air density: 1.290 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.161 m
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 70.00 % ElmAbundance 72.71 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 30.00 % ElmAbundance 27.29 %
Material: Galactic density: 0.000 mg/cm3 temperature: 2.73 K pressure: 0.00 atm RadLength: 204322175.595 pc
---> Element: Galactic ( ) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Visualization Manager instantiating...
Visualization Manager initialising...
Registering graphics systems...
@@ -72,6 +57,21 @@ PhysicsList::AddPhysicsList: <standard>
/run/initialize
userDetector->Construct() start.
***** Table : Nb of materials = 3 *****
Material: Water density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.084 cm
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.19 % ElmAbundance 66.67 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.81 % ElmAbundance 33.33 %
Material: Air density: 1.290 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.161 m
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 70.00 % ElmAbundance 72.71 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 30.00 % ElmAbundance 27.29 %
Material: Galactic density: 0.000 mg/cm3 temperature: 2.73 K pressure: 0.00 atm RadLength: 204322175.595 pc
---> Element: Galactic ( ) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
---------------------------------------------------------
---> The Absorber is 20 cm of Water
@@ -114,30 +114,33 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f
msc: Model variant of multiple scattering for e-
Lambda tables from 100 eV to 100 TeV in 120 bins.
LateralDisplacementFlag= 1 Skin= 1
Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1
eIoni: tables are built for e-
dE/dx and range tables from 100 eV to 100 TeV in 480 bins.
Lambda tables from threshold to 100 TeV in 480 bins.
Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
Delta cross sections and sampling from MollerBhabha model
Good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
eBrem: tables are built for e-
dE/dx and range tables from 100 eV to 100 TeV in 480 bins.
Lambda tables from threshold to 100 TeV in 480 bins.
Total cross sections from a parametrisation based on the EEDL data library.
Total cross sections and sampling from StandBrem model (based on the EEDL data library)
Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
eIoni: tables are built for e+
dE/dx and range tables from 100 eV to 100 TeV in 480 bins.
Lambda tables from threshold to 100 TeV in 480 bins.
Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
Delta cross sections and sampling from MollerBhabha model
Good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
eBrem: tables are built for e+
dE/dx and range tables from 100 eV to 100 TeV in 480 bins.
Lambda tables from threshold to 100 TeV in 480 bins.
Total cross sections from a parametrisation based on the EEDL data library.
Total cross sections and sampling from StandBrem model (based on the EEDL data library)
Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
annihil: Sampling according eplus2gg model
@@ -146,35 +149,42 @@ annihil: Sampling according eplus2gg model
msc: Model variant of multiple scattering for proton
Lambda tables from 100 eV to 100 TeV in 120 bins.
LateralDisplacementFlag= 1 Skin= 1
Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0
hIoni: tables are built for proton
dE/dx and range tables from 100 eV to 100 TeV in 480 bins.
Lambda tables from threshold to 100 TeV in 480 bins.
Scaling relation is used to proton dE/dx and range
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below.
Scaling relation is used from proton dE/dx and range.
Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV
Parametrisation from Bragg for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
msc: Model variant of multiple scattering for GenericIon
LateralDisplacementFlag= 0 Skin= 0
Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0
ionIoni: tables are built for GenericIon
dE/dx and range tables from 100 eV to 100 TeV in 480 bins.
Lambda tables from threshold to 100 TeV in 480 bins.
Scaling relation is used to proton dE/dx and range
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for alpha particles below.
Scaling relation is used from proton dE/dx and range.
Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV
Parametrisation from BraggIon for protons below.
Stopping Power data for 8 ion/material pairs are used.
Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1
hIoni: tables are built for anti_proton
dE/dx and range tables from 100 eV to 100 TeV in 480 bins.
Lambda tables from threshold to 100 TeV in 480 bins.
Scaling relation is used to proton dE/dx and range
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below.
Scaling relation is used from proton dE/dx and range.
Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV
Parametrisation from Bragg for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
msc: Model variant of multiple scattering for mu+
Lambda tables from 100 eV to 100 TeV in 120 bins.
LateralDisplacementFlag= 1 Skin= 1
Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0
muIoni: tables are built for mu+
@@ -214,19 +224,22 @@ muPairProd: tables are built for mu-
hIoni: tables are built for pi+
dE/dx and range tables from 100 eV to 100 TeV in 480 bins.
Lambda tables from threshold to 100 TeV in 480 bins.
Scaling relation is used to proton dE/dx and range
Bether-Bloch model for Escaled > 0.297504 MeV, ICRU49 parametrisation for protons below.
Scaling relation is used from proton dE/dx and range.
Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV
Parametrisation from Bragg for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
msc: Model variant of multiple scattering for pi-
Lambda tables from 100 eV to 100 TeV in 120 bins.
LateralDisplacementFlag= 1 Skin= 1
Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0
hIoni: tables are built for pi-
dE/dx and range tables from 100 eV to 100 TeV in 480 bins.
Lambda tables from threshold to 100 TeV in 480 bins.
Scaling relation is used to proton dE/dx and range
Bether-Bloch model for Escaled > 0.297504 MeV, ICRU49 parametrisation for protons below.
Scaling relation is used from proton dE/dx and range.
Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV
Parametrisation from Bragg for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Region <DefaultRegionForTheWorld> -- appears in <World> world volume
@@ -255,7 +268,7 @@ Start closing geometry.
G4GeometryManager::ReportVoxelStats -- Voxel Statistics
Total memory consumed for geometry optimisation: 0 kByte
Total CPU time elapsed for geometry optimisation: 0 seconds
Total CPU time elapsed for geometry optimisation: 0.01 seconds
Voxelisation: top CPU users:
Percent Total CPU System CPU Memory Volume
@@ -296,25 +309,25 @@ Start Run processing.
Run terminated.
Run Summary
Number of events processed : 10000
User=185.08s Real=285.56s Sys=25.33s
User=363.7s Real=513.8s Sys=55.26s
The run consists of 10000 proton of 160 MeV through 20 cm of Water (density: 1 g/cm3 )
projected Range= 17.7591 cm rms= 2.39362 mm
projected Range= 17.6112 cm rms= 5.18638 mm
---------------------------------------------------------
Cumulated Doses : Edep Edep/Ebeam Dose
tally 0: 4.63463 GeV 0.289665 % 9.28188e-05 Gy
tally 1: 4.94989 GeV 0.309368 % 9.91325e-05 Gy
tally 2: 3.37934 GeV 0.211209 % 6.76787e-05 Gy
tally 3: 1.99408 GeV 0.12463 % 3.99359e-05 Gy
tally 0: 4.54547 GeV 0.284092 % 9.10332e-05 Gy
tally 1: 5.16219 GeV 0.322637 % 0.000103384 Gy
tally 2: 3.50818 GeV 0.219261 % 7.0259e-05 Gy
tally 3: 2.02558 GeV 0.126599 % 4.05666e-05 Gy
---------------------------------------------------------
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 921989408, 1028175994
Current couple of seeds = 1072961543, 392647795
----------------------------------------
#
/gun/particle ion
@@ -349,7 +362,7 @@ Index : 1 used in the geometry : Yes recalculation needed : No
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 921989408, 1028175994
Current couple of seeds = 1072961543, 392647795
----------------------------------------
Start Run processing.
@@ -357,25 +370,25 @@ Start Run processing.
Run terminated.
Run Summary
Number of events processed : 1000
User=63.73s Real=91.39s Sys=6.83s
User=123.16s Real=151.84s Sys=17.2s
The run consists of 1000 C12[0.0] of 3.5 GeV through 20 cm of Water (density: 1 g/cm3 )
projected Range= 16.4657 cm rms= 464.552 um
projected Range= 16.4644 cm rms= 475.555 um
---------------------------------------------------------
Cumulated Doses : Edep Edep/Ebeam Dose
tally 0: 11.0529 GeV 0.315798 % 0.00022136 Gy
tally 1: 13.0458 GeV 0.372738 % 0.000261272 Gy
tally 2: 15.891 GeV 0.454029 % 0.000318253 Gy
tally 3: 24.2011 GeV 0.69146 % 0.000484681 Gy
tally 0: 10.5221 GeV 0.300632 % 0.000210729 Gy
tally 1: 12.0963 GeV 0.345608 % 0.000242255 Gy
tally 2: 14.322 GeV 0.409199 % 0.000286829 Gy
tally 3: 20.975 GeV 0.599285 % 0.00042007 Gy
---------------------------------------------------------
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 30782651, 380120556
Current couple of seeds = 1027675449, 1113632438
----------------------------------------
Graphics systems deleted.
Visualization Manager deleting...
@@ -1,4 +1,4 @@
# $Id: ionC12.mac,v 1.15 2006/12/11 20:13:53 vnivanch Exp $
# $Id: ionC12.mac,v 1.16 2007/01/12 16:35:21 maire Exp $
#
# Macro file for "TestEm7.cc"
# (can be run in batch, without graphic)
@@ -8,35 +8,28 @@
/run/verbose 2
#
/testem/det/setMat Water
#/testem/det/setMat G4_WATER
/testem/det/setSizeX 20 cm
/testem/det/setSizeYZ 20 cm
#
/testem/det/tallyMat Water
#/testem/det/tallyMat G4_WATER
/testem/det/tallySize 2. 2. 2. mm
/testem/det/tallyPosition -9.9 0. 0. cm
/testem/det/tallyPosition -5. 0. 0. cm
/testem/det/tallyPosition 0. 0. 0. cm
/testem/det/tallyPosition 5. 0. 0. cm
#
#/testem/phys/addPhysics standard #em physics
/testem/phys/addPhysics Livermore #em physics
#
#/testem/phys/addPhysics binary #hadronic physics
#/testem/phys/addPhysics binary_ion #hadronic physics
#/testem/phys/addPhysics elastic #hadronic physics
/testem/phys/addPhysics standard #em physics
#
/run/initialize
#
/gun/particle ion
/gun/ion 6 12 6
#/gun/energy 3.5 GeV
/gun/energy 2.4 GeV
/gun/energy 3.5 GeV
#
# beam size
/testem/gun/rndm 2 mm
#
# step linit
# step limit
/testem/stepMax 1 mm
#
/testem/event/printModulo 1000
@@ -1,4 +1,4 @@
# $Id: proton.mac,v 1.4 2006/10/26 17:52:42 vnivanch Exp $
# $Id: proton.mac,v 1.6 2007/01/12 16:35:21 maire Exp $
#
# Macro file for "TestEm7.cc"
# (can be run in batch, without graphic)
@@ -11,13 +11,7 @@
/testem/det/setSizeX 30 cm
/testem/det/setSizeYZ 30 cm
#
/testem/phys/addPhysics standard #defult em physics
#/testem/phys/addPhysics standardMSC #precise msc
#/testem/phys/addPhysics standardSS #msc replaced by single scattering
#
####/testem/phys/addPhysics binary #hadronic physics
####/testem/phys/addPhysics binary_ion #hadronic physics
####/testem/phys/addPhysics elastic #hadronic physics
/testem/phys/addPhysics standard #em physics
#
/run/initialize
#
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: DetectorConstruction.cc,v 1.7 2006/11/15 18:48:17 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: DetectorConstruction.cc,v 1.8 2007/01/11 15:41:46 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-03 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -90,44 +90,42 @@ G4VPhysicalVolume* DetectorConstruction::Construct()
void DetectorConstruction::DefineMaterials()
{
//
// define Elements
//
G4double z, a;
//
// define Elements
//
G4double z, a;
G4Element* H = new G4Element("Hydrogen", "H", z= 1, a= 1.008*g/mole);
G4Element* N = new G4Element("Nitrogen", "N", z= 7, a= 14.01*g/mole);
G4Element* O = new G4Element("Oxygen" , "O", z= 8, a= 16.00*g/mole);
G4Element* H = new G4Element("Hydrogen", "H", z= 1, a= 1.008*g/mole);
G4Element* N = new G4Element("Nitrogen", "N", z= 7, a= 14.01*g/mole);
G4Element* O = new G4Element("Oxygen" , "O", z= 8, a= 16.00*g/mole);
//
// define Materials.
//
G4double density, temperature, pressure;
G4int ncomponents, natoms;
G4double fractionmass;
//
// define Materials.
//
G4double density, temperature, pressure;
G4int ncomponents, natoms;
G4double fractionmass;
G4Material* H2O =
new G4Material("Water", density= 1.000*g/cm3, ncomponents=2);
H2O->AddElement(H, natoms=2);
H2O->AddElement(O, natoms=1);
H2O->GetIonisation()->SetMeanExcitationEnergy(75.0*eV);
G4Material* H2O =
new G4Material("Water", density= 1.0*g/cm3, ncomponents=2);
H2O->AddElement(H, natoms=2);
H2O->AddElement(O, natoms=1);
H2O->GetIonisation()->SetMeanExcitationEnergy(75.0*eV);
G4Material* Air =
new G4Material("Air" , density= 1.290*mg/cm3, ncomponents=2);
Air->AddElement(N, fractionmass=0.7);
Air->AddElement(O, fractionmass=0.3);
G4Material* Air =
new G4Material("Air" , density= 1.290*mg/cm3, ncomponents=2);
Air->AddElement(N, fractionmass=0.7);
Air->AddElement(O, fractionmass=0.3);
density = universe_mean_density; //from PhysicalConstants.h
pressure = 3.e-18*pascal;
temperature = 2.73*kelvin;
G4Material* vacuum =
new G4Material("Galactic",z= 1,a= 1.008*g/mole,density,
kStateGas,temperature,pressure);
density = universe_mean_density; //from PhysicalConstants.h
pressure = 3.e-18*pascal;
temperature = 2.73*kelvin;
G4Material* vacuum =
new G4Material("Galactic",z= 1,a= 1.008*g/mole,density,
kStateGas,temperature,pressure);
G4cout << *(G4Material::GetMaterialTable()) << G4endl;
//default materials
worldMaterial = vacuum;
//default materials
worldMaterial = vacuum;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -212,6 +210,7 @@ G4VPhysicalVolume* DetectorConstruction::ConstructVolumes()
void DetectorConstruction::PrintParameters()
{
G4cout << *(G4Material::GetMaterialTable()) << G4endl;
G4cout << "\n---------------------------------------------------------\n";
G4cout << "---> The Absorber is " << G4BestUnit(absorSizeX,"Length")
<< " of " << absorMaterial->GetName() << G4endl;
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: PhysListEmStandard.cc,v 1.6 2006/10/24 11:37:56 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: PhysListEmStandard.cc,v 1.7 2007/04/24 13:10:12 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-03 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -51,6 +51,7 @@
#include "G4hIonisation.hh"
#include "G4ionIonisation.hh"
#include "G4EmProcessOptions.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -114,6 +115,8 @@ void PhysListEmStandard::ConstructProcess()
pmanager->AddProcess(new G4hIonisation, -1,2,2);
}
}
G4EmProcessOptions opt;
opt.SetSkin(1.0);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysicsList.cc,v 1.21 2006/12/11 20:13:53 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: PhysicsList.cc,v 1.23 2007/04/24 13:10:13 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-03 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -38,6 +38,7 @@
#include "PhysListEmPenelope.hh"
#include "G4EmStandardPhysics.hh"
#include "G4EmStandardPhysics71.hh"
#include "G4EmStandardPhysics72.hh"
#include "G4HadronElasticPhysics.hh"
#include "G4HadronHElasticPhysics.hh"
@@ -215,18 +216,24 @@ void PhysicsList::AddPhysicsList(const G4String& name)
delete emPhysicsList;
emPhysicsList = new G4EmStandardPhysics71(name);
} else if (name == "G4standard_exp") {
emName = name;
delete emPhysicsList;
emPhysicsList = new G4EmStandardPhysics72(name);
} else if (name == "standardSS") {
emName = name;
delete emPhysicsList;
emPhysicsList = new PhysListEmStandardSS(name);
} else if (name == "Livermore") {
} else if (name == "livermore") {
emName = name;
delete emPhysicsList;
emPhysicsList = new PhysListEmLivermore();
} else if (name == "Penelope") {
} else if (name == "penelope") {
emName = name;
delete emPhysicsList;
emPhysicsList = new PhysListEmPenelope();
@@ -236,11 +243,11 @@ void PhysicsList::AddPhysicsList(const G4String& name)
helIsRegisted = true;
} else if (name == "HElastic" && !helIsRegisted) {
hadronPhys.push_back( new G4HadronElasticPhysics(name));
hadronPhys.push_back( new G4HadronHElasticPhysics(name));
helIsRegisted = true;
} else if (name == "QElastic" && !helIsRegisted) {
hadronPhys.push_back( new G4HadronElasticPhysics(name));
hadronPhys.push_back( new G4HadronQElasticPhysics(name));
helIsRegisted = true;
} else if (name == "binary" && !bicIsRegisted) {