Import Geant4 10.5.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2018-06-29 10:58:11 +02:00
parent fe81a77428
commit 6aa23be517
1581 changed files with 124288 additions and 83758 deletions
+32 -41
View File
@@ -32,6 +32,8 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "G4Types.hh"
#ifdef G4MULTITHREADED
#include "G4MTRunManager.hh"
#else
@@ -46,18 +48,17 @@
#include "ActionInitialization.hh"
#include "SteppingVerbose.hh"
#ifdef G4VIS_USE
#include "G4VisExecutive.hh"
#endif
#ifdef G4UI_USE
#include "G4UIExecutive.hh"
#endif
#include "G4VisExecutive.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
int main(int argc,char** argv) {
//detect interactive mode (if no arguments) and define UI session
G4UIExecutive* ui = nullptr;
if (argc == 1) ui = new G4UIExecutive(argc,argv);
//choose the Random engine
G4Random::setTheEngine(new CLHEP::RanecuEngine);
@@ -66,54 +67,44 @@ int main(int argc,char** argv) {
G4MTRunManager* runManager = new G4MTRunManager;
G4int nThreads = G4Threading::G4GetNumberOfCores();
if (argc==3) nThreads = G4UIcommand::ConvertToInt(argv[2]);
runManager->SetNumberOfThreads(nThreads);
runManager->SetNumberOfThreads(nThreads);
#else
//my Verbose output class
G4VSteppingVerbose::SetInstance(new SteppingVerbose);
G4RunManager* runManager = new G4RunManager;
#endif
// set mandatory initialization classes
//set mandatory initialization classes
DetectorConstruction* det = new DetectorConstruction;
runManager->SetUserInitialization(det);
PhysicsList* phys = new PhysicsList;
PhysicsList* phys = new PhysicsList;
runManager->SetUserInitialization(phys);
runManager->SetUserInitialization(new ActionInitialization(det));
// get the pointer to the User Interface manager
G4UImanager* UI = G4UImanager::GetUIpointer();
runManager->SetUserInitialization(new ActionInitialization(det));
if (argc!=1) // batch mode
{
G4String command = "/control/execute ";
G4String fileName = argv[1];
UI->ApplyCommand(command+fileName);
}
//initialize visualization
G4VisManager* visManager = nullptr;
else //define visualization and UI terminal for interactive mode
{
#ifdef G4VIS_USE
G4VisManager* visManager = new G4VisExecutive;
//get the pointer to the User Interface manager
G4UImanager* UImanager = G4UImanager::GetUIpointer();
if (ui) {
//interactive mode
visManager = new G4VisExecutive;
visManager->Initialize();
#endif
ui->SessionStart();
delete ui;
}
else {
//batch mode
G4String command = "/control/execute ";
G4String fileName = argv[1];
UImanager->ApplyCommand(command+fileName);
}
#ifdef G4UI_USE
G4UIExecutive * ui = new G4UIExecutive(argc,argv);
ui->SessionStart();
delete ui;
#endif
#ifdef G4VIS_USE
delete visManager;
#endif
}
// job termination
//
//job termination
delete visManager;
delete runManager;
return 0;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+15 -2
View File
@@ -1,4 +1,4 @@
$Id: History 105744 2017-08-16 13:13:16Z gcosmo $
$Id: History 109858 2018-05-09 12:15:01Z gcosmo $
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
@@ -13,7 +13,20 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
09-05-18 B. Morgan (exhadr03-V10-04-03)
- Include G4Types before use of G4MULTITHREADED. For forward
compatibility with move to #defines over -D for G4 preprocessor
symbols.
05-04-18 mma (exhadr03-V10-04-02)
- Hadr03.cc : set visualisation only in interactive session.
16-03-18 mma (exhadr03-V10-04-01)
- Hadr03.cc : C++ 11 feature
15-03-18 mma (exhadr03-V10-04-00)
- Hadr03.cc : remove G4UI_USE and G4VIS_USE
04-07-17 mma (exhadr03-V10-03-04)
- SteppingAction() : take into account e- from internal conversion
+48 -57
View File
@@ -4,7 +4,7 @@
############################################
**************************************************************
Geant4 version Name: geant4-10-04-patch-02 (25-May-2018)
Geant4 version Name: geant4-10-05-beta-01 (29-June-2018)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -31,6 +31,13 @@ Command is ignored.
---> Isotope: Mo98 Z = 42 N = 98 A = 97.91 g/mole abundance: 100.000 %
ElmMassFraction: 100.00 % ElmAbundance 100.00 %
FTFP_BERT_HP : new threshold between BERT and FTFP is over the interval
for pions : 3 to 12 GeV
for kaons : 3 to 12 GeV
for proton : 3 to 12 GeV
for neutron : 3 to 12 GeV
/cvmfs/geant4.cern.ch/share/data/G4NDL4.5
@@@ G4ParticleHPInelastic instantiated for particle neutron data directory variable is G4NEUTRONHPDATA pointing to /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Inelastic
@@@ G4ParticleHPInelasticData instantiated for particle neutron data directory variable is G4NEUTRONHPDATA pointing to /cvmfs/geant4.cern.ch/share/data/G4NDL4.5
@@ -40,6 +47,9 @@ NeutronHP: /Inelastic file for Z = 6, A = 12 is not found and NeutronHP will use
NeutronHP: /Capture file for Z = 6, A = 13 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Capture/CrossSection/6_nat_Carbon
NeutronHP: /Elastic file for Z = 6, A = 13 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Elastic/CrossSection/6_nat_Carbon
NeutronHP: /Inelastic file for Z = 6, A = 13 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Inelastic/CrossSection/6_nat_Carbon
NeutronHP: /Capture file for Z = 8, A = 18 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Capture/CrossSection/8_17_Oxygen
NeutronHP: /Elastic file for Z = 8, A = 18 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Elastic/CrossSection/8_17_Oxygen
NeutronHP: /Inelastic file for Z = 8, A = 18 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Inelastic/CrossSection/8_17_Oxygen
#
/process/list
Transportation, hadElastic, neutronInelastic, nCapture
@@ -65,11 +75,16 @@ NeutronHP: /Inelastic file for Z = 6, A = 12 is not found and NeutronHP will use
NeutronHP: /Capture file for Z = 6, A = 13 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Capture/CrossSection/6_nat_Carbon
NeutronHP: /Elastic file for Z = 6, A = 13 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Elastic/CrossSection/6_nat_Carbon
NeutronHP: /Inelastic file for Z = 6, A = 13 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Inelastic/CrossSection/6_nat_Carbon
NeutronHP: /Capture file for Z = 8, A = 18 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Capture/CrossSection/8_17_Oxygen
NeutronHP: /Elastic file for Z = 8, A = 18 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Elastic/CrossSection/8_17_Oxygen
NeutronHP: /Inelastic file for Z = 8, A = 18 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Inelastic/CrossSection/8_17_Oxygen
NeutronHP: /Elastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Elastic/CrossSection/6_nat_Carbon
NeutronHP: /Elastic file for Z = 6, A = 13 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Elastic/CrossSection/6_nat_Carbon
NeutronHP: /Elastic file for Z = 8, A = 18 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Elastic/CrossSection/8_17_Oxygen
@@@ G4ParticleHPInelastic instantiated for particle neutron data directory variable is G4NEUTRONHPDATA pointing to /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Inelastic
NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Capture/CrossSection/6_nat_Carbon
NeutronHP: /Capture file for Z = 6, A = 13 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Capture/CrossSection/6_nat_Carbon
NeutronHP: /Capture file for Z = 8, A = 18 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.5/Capture/CrossSection/8_17_Oxygen
====================================================================
HADRONIC PROCESSES SUMMARY (verbose level 1)
@@ -227,9 +242,8 @@ NeutronHP: /Capture file for Z = 6, A = 13 is not found and NeutronHP will use /
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: kaon+Inelastic
Model: QGSP: 12 GeV ---> 100 TeV
Model: FTFP: 4 GeV ---> 25 GeV
Model: BertiniCascade: 0 eV ---> 5 GeV
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: ChipsKaonPlusInelasticXS: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
@@ -243,9 +257,8 @@ NeutronHP: /Capture file for Z = 6, A = 13 is not found and NeutronHP will use /
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: kaon-Inelastic
Model: QGSP: 12 GeV ---> 100 TeV
Model: FTFP: 4 GeV ---> 25 GeV
Model: BertiniCascade: 0 eV ---> 5 GeV
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: ChipsKaonMinusInelasticXS: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
@@ -274,14 +287,11 @@ NeutronHP: /Capture file for Z = 6, A = 13 is not found and NeutronHP will use /
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: neutronInelastic
Model: QGSP: 12 GeV ---> 100 TeV
Model: FTFP: 9.5 GeV ---> 25 GeV
Model: Binary Cascade: 19.9 MeV ---> 9.9 GeV
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 19.9 MeV ---> 12 GeV
Model: NeutronHPInelastic: 0 eV ---> 20 MeV
Cr_sctns: NeutronHPInelasticXS: 0 eV ---> 20 MeV
Cr_sctns: Barashenkov-Glauber: 0 eV ---> 100 TeV
Cr_sctns: Barashenkov-Glauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
Process: nCapture
Model: NeutronHPCapture: 0 eV ---> 20 MeV
@@ -304,15 +314,10 @@ NeutronHP: /Capture file for Z = 6, A = 13 is not found and NeutronHP will use /
Model: hElasticLHEP: 0 eV ---> 1.0001 GeV
Model: hElasticGlauber: 1 GeV ---> 100 TeV
Cr_sctns: Barashenkov-Glauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: pi+Inelastic
Model: QGSP: 12 GeV ---> 100 TeV
Model: FTFP: 4 GeV ---> 25 GeV
Model: BertiniCascade: 0 eV ---> 5 GeV
Cr_sctns: G4CrossSectionPairGG: 0 eV ---> 100 TeV
G4CrossSectionPairGG: G4PiNuclearCrossSection cross sections
below 91 GeV, Glauber-Gribov above
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Cr_sctns: G4CrossSectionPairGG: 0 eV ---> 100 TeV
G4CrossSectionPairGG: G4PiNuclearCrossSection cross sections
below 91 GeV, Glauber-Gribov above
@@ -325,15 +330,10 @@ NeutronHP: /Capture file for Z = 6, A = 13 is not found and NeutronHP will use /
Model: hElasticLHEP: 0 eV ---> 1.0001 GeV
Model: hElasticGlauber: 1 GeV ---> 100 TeV
Cr_sctns: Barashenkov-Glauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: pi-Inelastic
Model: QGSP: 12 GeV ---> 100 TeV
Model: FTFP: 4 GeV ---> 25 GeV
Model: BertiniCascade: 0 eV ---> 5 GeV
Cr_sctns: G4CrossSectionPairGG: 0 eV ---> 100 TeV
G4CrossSectionPairGG: G4PiNuclearCrossSection cross sections
below 91 GeV, Glauber-Gribov above
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Cr_sctns: G4CrossSectionPairGG: 0 eV ---> 100 TeV
G4CrossSectionPairGG: G4PiNuclearCrossSection cross sections
below 91 GeV, Glauber-Gribov above
@@ -348,12 +348,9 @@ NeutronHP: /Capture file for Z = 6, A = 13 is not found and NeutronHP will use /
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: protonInelastic
Model: QGSP: 12 GeV ---> 100 TeV
Model: FTFP: 9.5 GeV ---> 25 GeV
Model: Binary Cascade: 0 eV ---> 9.9 GeV
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Cr_sctns: Barashenkov-Glauber: 0 eV ---> 100 TeV
Cr_sctns: Barashenkov-Glauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for triton
@@ -419,17 +416,17 @@ Index : 0 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 10000
User=0.21s Real=0.28s Sys=0s
User=0.340000s Real=0.347708s Sys=0.000000s
The run is 10000 proton of 10 MeV through 10 m of Molybdenum98 (density: 10.28 g/cm3 )
Process calls frequency:
hadElastic= 7743 protonInelastic= 2257
hadElastic= 7785 protonInelastic= 2215
MeanFreePath: 4.8475 cm +- 4.8676 cm massic: 49.833 g/cm2
CrossSection: 0.20629 cm^-1 massic: 2.0067 mm2/g
crossSection per atom: 3.2624 barn
MeanFreePath: 4.9024 cm +- 4.7786 cm massic: 50.397 g/cm2
CrossSection: 0.20398 cm^-1 massic: 1.9843 mm2/g
crossSection per atom: 3.2259 barn
Verification: crossSections from G4HadronicProcessStore:
hadElastic= 1.5534 mm2/g 2.5254 barn
@@ -438,37 +435,31 @@ Run Summary
List of nuclear reactions:
proton + Mo98 --> N gamma or e- + Tc99[142.683]: 2 Q = 6.3518 MeV
proton + Mo98 --> N gamma or e- + alpha + Nb95: 1 Q = 3.5405 MeV
proton + Mo98 --> N gamma or e- + alpha + Nb95[235.690]: 2 Q = 3.3048 MeV
proton + Mo98 --> N gamma or e- + neutron + Tc98: 2245 Q = -2.4725 MeV
proton + Mo98 --> N gamma or e- + proton + Mo98: 7 Q = -2.8616e-06 eV
proton + Mo98 --> proton + Mo98: 7743 Q = 2.0955e-06 eV
proton + Mo98 --> 2 neutron + Tc97: 2 Q = -9.7671 MeV
proton + Mo98 --> N gamma or e- + neutron + Tc98: 2154 Q = -2.5094 MeV
proton + Mo98 --> N gamma or e- + proton + Mo98: 59 Q = -36.442 keV
proton + Mo98 --> proton + Mo98: 7785 Q = 2.0783e-06 eV
number of gamma or e- (ic): N = 2 --> 10
number of gamma or e- (ic): N = 1 --> 6
List of generated particles:
Mo98: 7750 Emean = 32.229 keV ( 4.9231 eV --> 405.17 keV)
Nb95: 1 Emean = 592.94 keV ( 592.94 keV --> 592.94 keV)
Nb95[235.690]: 2 Emean = 372.57 keV ( 154.06 keV --> 591.08 keV)
Tc98: 2245 Emean = 116.98 keV ( 13.293 keV --> 286.04 keV)
Tc99[142.683]: 2 Emean = 94.747 keV ( 91.882 keV --> 97.612 keV)
alpha: 3 Emean = 8.8556 MeV ( 7.6705 MeV --> 9.746 MeV)
e-: 649 Emean = 123.98 keV ( 21.502 keV --> 2.097 MeV)
gamma: 14692 Emean = 915.46 keV ( 9.0862 keV --> 12.224 MeV)
neutron: 2245 Emean = 1.412 MeV ( 29.546 keV --> 7.1181 MeV)
proton: 7 Emean = 7.1739 MeV ( 6.2599 MeV --> 8.2372 MeV)
Mo98: 7844 Emean = 31.072 keV ( 0.34594 eV --> 405.17 keV)
Tc97: 2 Emean = 100.76 keV ( 92.412 keV --> 109.12 keV)
Tc98: 2154 Emean = 114.52 keV ( 7.072 keV --> 260.55 keV)
gamma: 7509 Emean = 1.7386 MeV ( 23.477 keV --> 7.2969 MeV)
neutron: 2158 Emean = 1.3769 MeV ( 13.199 keV --> 6.318 MeV)
proton: 59 Emean = 7.5141 MeV ( 4.8375 MeV --> 8.9155 MeV)
Momentum balance: Pmean = 51.635 eV ( 2.63e-07 eV --> 3.3923 keV)
Momentum balance: Pmean = 0.167 eV ( 0 eV --> 10.264 eV )
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 918861189, 1035502328
Current couple of seeds = 1979579493, 1262131973
----------------------------------------
G4 kernel has come to Quit state.
================== Deleting memory pools ===================
Number of memory pools allocated: 11 of which, static: 0
Dynamic pools deleted: 11 / Total memory freed: 0.021 MB
Number of memory pools allocated: 9 of which, static: 0
Dynamic pools deleted: 9 / Total memory freed: 0.014 MB
============================================================
RunManagerKernel is deleted. Good bye :)
@@ -26,7 +26,7 @@
/// \file DetectorConstruction.cc
/// \brief Implementation of the DetectorConstruction class
//
// $Id: DetectorConstruction.cc 98748 2016-08-09 13:42:11Z gcosmo $
// $Id: DetectorConstruction.cc 108917 2018-03-16 07:18:27Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -85,17 +85,37 @@ void DetectorConstruction::DefineMaterials()
//NE213
G4Element* H = new G4Element("Hydrogen" ,"H" , 1., 1.01*g/mole);
G4Element* C = new G4Element("Hydrogen" ,"C" , 6., 12.00*g/mole);
G4Element* C = new G4Element("Carbon" ,"C" , 6., 12.00*g/mole);
G4Material* ne213 =
new G4Material("NE213", 0.874*g/cm3, 2);
ne213->AddElement(H, 9.2*perCent);
ne213->AddElement(C, 90.8*perCent);
ne213->AddElement(C, 90.8*perCent);
G4Material* hydrogen =
new G4Material("hydrogen", 1.0*g/cm3, 1);
hydrogen->AddElement(H, 1);
G4Material* carbon =
new G4Material("carbon", 1.0*g/cm3, 1);
carbon->AddElement(C, 1);
G4Material* plastic =
new G4Material("plastic", 1.0*g/cm3, 2);
plastic->AddElement(H, 1);
plastic->AddElement(C, 1);
// or use G4-NIST materials data base
//
G4NistManager* man = G4NistManager::Instance();
man->FindOrBuildMaterial("G4_B");
G4Element* O = man->FindOrBuildElement("O");
G4Element* Hf = man->FindOrBuildElement("Hf");
G4Material* HfO2 = new G4Material("HfO2", 9.68*g/cm3, 2);
HfO2->AddElement(Hf, 1);
HfO2->AddElement(O , 2);
///G4cout << *(G4Material::GetMaterialTable()) << G4endl;
}
@@ -26,7 +26,7 @@
/// \file PhysicsList.cc
/// \brief Implementation of the PhysicsList class
//
// $Id: PhysicsList.cc 105744 2017-08-16 13:13:16Z gcosmo $
// $Id: PhysicsList.cc 108917 2018-03-16 07:18:27Z gcosmo $
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -80,8 +80,8 @@ PhysicsList::PhysicsList()
// Hadron Inelastic physics
//
////RegisterPhysics( new G4HadronPhysicsFTFP_BERT_HP(verb));
RegisterPhysics( new G4HadronPhysicsQGSP_BIC_HP(verb));
RegisterPhysics( new G4HadronPhysicsFTFP_BERT_HP(verb));
////RegisterPhysics( new G4HadronPhysicsQGSP_BIC_HP(verb));
////RegisterPhysics( new G4HadronPhysicsQGSP_BIC_AllHP(verb));
////RegisterPhysics( new G4HadronInelasticQBBC(verb));
////RegisterPhysics( new G4HadronPhysicsINCLXX(verb));
@@ -134,7 +134,7 @@ void PhysicsList::ConstructParticle()
void PhysicsList::SetCuts()
{
SetCutValue(0*mm, "proton");
SetCutValue(0.*mm, "proton");
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Macro file for the initialization phase of "TestEm6.cc"
# Macro file for the initialization phase of "Hadr03.cc"
#
# Sets some default verbose
# and initializes the graphic.