Import Geant4 10.7.0 source tree

This commit is contained in:
Gabriele Cosmo
2020-12-04 12:30:43 +01:00
parent 67ba86d073
commit dab42d2018
3770 changed files with 226369 additions and 286486 deletions
@@ -1,6 +1,9 @@
#----------------------------------------------------------------------------
# Setup the project
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
cmake_minimum_required(VERSION 3.8...3.18)
if(${CMAKE_VERSION} VERSION_LESS 3.12)
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
endif()
project(extensibleFactory)
#----------------------------------------------------------------------------
@@ -23,8 +26,8 @@ include(${Geant4_USE_FILE})
#----------------------------------------------------------------------------
# Locate sources and headers for this project
#
include_directories(${PROJECT_SOURCE_DIR}/include
${PROJECT_SOURCE_DIR}/shared/include
include_directories(${PROJECT_SOURCE_DIR}/include
${PROJECT_SOURCE_DIR}/shared/include
${Geant4_INCLUDE_DIR})
file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc
${PROJECT_SOURCE_DIR}/shared/src/*.cc)
@@ -34,8 +37,8 @@ file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh
#----------------------------------------------------------------------------
# Add the executable, and link it to the Geant4 libraries
#
add_executable(extensibleFactory extensibleFactory.cc
${sources} ${add_sources} ${fortran_sources}
add_executable(extensibleFactory extensibleFactory.cc
${sources} ${add_sources} ${fortran_sources}
${headers} ${add_headers})
target_link_libraries(extensibleFactory ${Geant4_LIBRARIES} ${HBOOK_LIBRARIES})
@@ -14,6 +14,10 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
10/11/20 I. Hrivnacova (extFactory-V10-06-00)
- Migration to G4RunManagerFactory
- Removed trailing whitespaces
26/11/19 I. Hrivnacova (extFactory-V10-05-00)
- Fixed Doxygen warnings
@@ -25,7 +29,7 @@ track of all tags.
15/1/18 G.Folger (extFactory-V10-04-00)
- Correct G4INSTALL in GNUmakefile.
06/11/17 I. Hrivnacova (extFactory-V10-03-00)
- The first tag
@@ -53,11 +53,7 @@
#include "ActionInitialization.hh"
#include "PrimaryGeneratorAction.hh"
#ifdef G4MULTITHREADED
#include "G4MTRunManager.hh"
#else
#include "G4RunManager.hh"
#endif
#include "G4RunManagerFactory.hh"
/////////////////////////////////////////////////////////////////////////////
// The following change is the _only_ required changed to move from
@@ -188,13 +184,11 @@ int main(int argc,char** argv)
G4Random::setTheEngine(new CLHEP::RanecuEngine());
// Construct the run manager
auto* runManager = G4RunManagerFactory::CreateRunManager();
#ifdef G4MULTITHREADED
G4MTRunManager * runManager = new G4MTRunManager();
if ( nofThreads > 0 ) {
runManager->SetNumberOfThreads(nofThreads);
}
#else
G4RunManager * runManager = new G4RunManager();
#endif
// g4alt::G4PhysListFactoryAlt is the extensible factory
@@ -279,7 +273,7 @@ int main(int argc,char** argv)
runManager->SetUserInitialization(physList);
// set user action classes
ActionInitialization* actinit =
ActionInitialization* actinit =
new ActionInitialization("extensibleFactory");
runManager->SetUserInitialization(actinit);
@@ -1,10 +1,11 @@
Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Forcing G4RunManager type...
############################################
!!! WARNING - FPE detection is activated !!!
############################################
**************************************************************
Geant4 version Name: geant4-10-06-ref-06 (26-June-2020)
Geant4 version Name: geant4-10-07-ref-00 (4-December-2020)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -17,6 +18,15 @@ G4PhysListRegistry::GetModularPhysicsList <MySpecialPhysList>, as "MySpecialPhys
<<< Reference Physics List MySpecialPhysList is built
Using Root
-------- WWWW ------- G4Exception-START -------- WWWW -------
*** G4Exception : Analysis_W013
issued by : G4RootNtupleFileManager::SetNtupleMergingMode
Merging ntuples is not applicable in sequential application.
Setting was ignored.
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------
Visualization Manager instantiating with verbosity "warnings (3)"...
Visualization Manager initialising...
Registering graphics systems...
@@ -31,10 +41,12 @@ Registered graphics systems are:
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
gMocrenFile (gMocrenFile)
OpenGLImmediateXm (OGLIXm, OGLI)
OpenGLStoredXm (OGLSXm, OGL, OGLS)
OpenGLImmediateX (OGLIX, OGLIXm_FALLBACK)
OpenGLStoredX (OGLSX, OGLSXm_FALLBACK)
OpenGLImmediateQt (OGLIQt, OGLI)
OpenGLStoredQt (OGLSQt, OGL, OGLS)
OpenGLImmediateXm (OGLIXm, OGLIQt_FALLBACK)
OpenGLStoredXm (OGLSXm, OGLSQt_FALLBACK)
OpenGLImmediateX (OGLIX, OGLIQt_FALLBACK, OGLIXm_FALLBACK)
OpenGLStoredX (OGLSX, OGLSQt_FALLBACK, OGLSXm_FALLBACK)
RayTracerX (RayTracerX)
Registering model factories...
@@ -112,6 +124,10 @@ Some /vis commands (optionally) take a string to specify colour.
Checking overlaps for volume Box (G4Box) ... OK!
Checking overlaps for volume Screen (G4Box) ... OK!
### HadronInelasticQBBC Construct Process:
Emin(FTFP)= 3 GeV Emax(FTFP)= 100000 GeV
Emin(BERT)= 1 GeV Emax(BERT)= 6 GeV Emax(BERTpions)= 12 GeV
Emin(BIC) = 0 GeV Emax(BIC)= 1.5 GeV.
### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0
phot: for gamma SubType=12 BuildTable=0
@@ -137,10 +153,11 @@ Rayl: for gamma SubType=11 BuildTable=1
LivermoreRayleigh : Emin= 0 eV Emax= 100 TeV CullenGenerator
msc: for e- SubType= 10
RangeFactor= 0.04, stepLimType: 1, latDisp: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 100 MeV Nbins=42 100 eV - 100 MeV
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llimit=1
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=42 100 MeV - 100 TeV
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llimit=1
eIoni: for e- SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -164,10 +181,11 @@ CoulombScat: for e-, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
msc: for e+ SubType= 10
RangeFactor= 0.04, stepLimType: 1, latDisp: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 100 MeV Nbins=42 100 eV - 100 MeV
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llimit=1
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=42 100 MeV - 100 TeV
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llimit=1
eIoni: for e+ SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -195,9 +213,9 @@ CoulombScat: for e+, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
msc: for proton SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
hIoni: for proton SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -211,14 +229,14 @@ hBrems: for proton SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 100 TeV
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
hPairProd: for proton SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 17x1001 from 7.50618 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for proton, integral:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
@@ -227,9 +245,9 @@ CoulombScat: for proton, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for GenericIon SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
ionIoni: for GenericIon SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -241,9 +259,9 @@ ionIoni: for GenericIon SubType=2
BetheBloch : Emin= 2 MeV Emax= 100 TeV
msc: for alpha SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
ionIoni: for alpha SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -254,9 +272,9 @@ ionIoni: for alpha SubType=2
BetheBloch : Emin=7.9452 MeV Emax= 100 TeV
msc: for anti_proton SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
hIoni: for anti_proton SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -270,14 +288,14 @@ hBrems: for anti_proton SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 100 TeV
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
hPairProd: for anti_proton SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 17x1001 from 7.50618 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for anti_proton, integral:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
@@ -286,9 +304,9 @@ CoulombScat: for anti_proton, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon+ SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
hIoni: for kaon+ SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -302,14 +320,14 @@ hBrems: for kaon+ SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 100 TeV
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
hPairProd: for kaon+ SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 18x1001 from 3.94942 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for kaon+, integral:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
@@ -318,9 +336,9 @@ CoulombScat: for kaon+, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon- SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
hIoni: for kaon- SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -334,14 +352,14 @@ hBrems: for kaon- SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 100 TeV
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
hPairProd: for kaon- SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 18x1001 from 3.94942 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for kaon-, integral:1 SubType=1 BuildTable=1
Used Lambda table of kaon+
@@ -350,9 +368,9 @@ CoulombScat: for kaon-, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for mu+ SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0, polarAngLim(deg)= 180
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
muIoni: for mu+ SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -367,14 +385,14 @@ muBrems: for mu+ SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
MuBrem : Emin= 0 eV Emax= 100 TeV
MuBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
muPairProd: for mu+ SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 21x1001 from 1 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
muPairProd : Emin= 0 eV Emax= 100 TeV
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for mu+, integral:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
@@ -383,9 +401,9 @@ CoulombScat: for mu+, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for mu- SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0, polarAngLim(deg)= 180
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
muIoni: for mu- SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -400,14 +418,14 @@ muBrems: for mu- SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
MuBrem : Emin= 0 eV Emax= 100 TeV
MuBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
muPairProd: for mu- SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 21x1001 from 1 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
muPairProd : Emin= 0 eV Emax= 100 TeV
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for mu-, integral:1 SubType=1 BuildTable=1
Used Lambda table of mu+
@@ -416,9 +434,9 @@ CoulombScat: for mu-, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi+ SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
hIoni: for pi+ SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -432,14 +450,14 @@ hBrems: for pi+ SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 100 TeV
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
hPairProd: for pi+ SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 20x1001 from 1.11656 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for pi+, integral:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
@@ -448,9 +466,9 @@ CoulombScat: for pi+, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi- SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
hIoni: for pi- SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -464,14 +482,14 @@ hBrems: for pi- SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 100 TeV
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
hPairProd: for pi- SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 20x1001 from 1.11656 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Used Lambda table of pi+
@@ -501,6 +519,28 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Process: nKiller
---------------------------------------------------
Hadronic Processes for B-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: B-Inelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for D-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: D-Inelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for GenericIon
@@ -579,6 +619,19 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Process: hFritiofCaptureAtRest
---------------------------------------------------
Hadronic Processes for anti_lambda
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: anti_lambdaInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
Hadronic Processes for anti_neutron
@@ -719,7 +772,8 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Process: pi+Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Model: BertiniCascade: 1 GeV ---> 12 GeV
Model: Binary Cascade: 0 eV ---> 1.5 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -731,7 +785,8 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Process: pi-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Model: BertiniCascade: 1 GeV ---> 12 GeV
Model: Binary Cascade: 0 eV ---> 1.5 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
@@ -799,12 +854,12 @@ Store e- internal conversion data 0
Electron internal conversion ID 2
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
Upload data before 1st event for Z < 9
=======================================================================
G4VisManager: Using G4TrajectoryDrawByCharge as fallback trajectory model.
See commands in /vis/modeling/trajectories/ for other options.
### Run 0 starts.
... open Root analysis file : extensibleFactory.root - done
... create file : extensibleFactory.root - done
... open analysis file : extensibleFactory.root - done
--> Event 0 starts.
--> Event 100 starts.
--> Event 200 starts.
@@ -815,7 +870,10 @@ See commands in /vis/modeling/trajectories/ for other options.
--> Event 700 starts.
--> Event 800 starts.
--> Event 900 starts.
... write Root file : extensibleFactory.root - done
... close Root file : extensibleFactory.root - done
... write file : extensibleFactory.root - done
... close file : extensibleFactory.root - done
0 events have been kept for refreshing and/or reviewing.
"/vis/reviewKeptEvents" to review them one by one.
"/vis/enable", then "/vis/viewer/flush" or "/vis/viewer/rebuild" to see them accumulated.
Graphics systems deleted.
Visualization Manager deleting...
@@ -51,4 +51,4 @@ class ActionInitialization : public G4VUserActionInitialization
#endif
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
/// \file DetectorConstruction.hh
/// \brief Definition of the DetectorConstruction class
@@ -49,7 +49,7 @@ class G4GlobalMagFieldMessenger;
///
/// In ConstructSDandField() sensitive detectors of CalorimeterSD type
/// are created and associated with the Absorber and Gap volumes.
/// In addition a transverse uniform magnetic field is defined
/// In addition a transverse uniform magnetic field is defined
/// via G4GlobalMagFieldMessenger class.
class DetectorConstruction : public G4VUserDetectorConstruction
@@ -61,11 +61,11 @@ class DetectorConstruction : public G4VUserDetectorConstruction
public:
virtual G4VPhysicalVolume* Construct();
virtual void ConstructSDandField();
private:
// data members
//
static G4ThreadLocal G4GlobalMagFieldMessenger* fMagFieldMessenger;
static G4ThreadLocal G4GlobalMagFieldMessenger* fMagFieldMessenger;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
/// \file PrimaryGeneratorAction.hh
/// \brief Definition of the PrimaryGeneratorAction class
@@ -38,19 +38,19 @@ class G4Event;
/// The primary generator action class with particle gum.
///
/// It defines a single particle which hits the calorimeter
/// It defines a single particle which hits the calorimeter
/// perpendicular to the input face. The type of the particle
/// can be changed via the G4 build-in commands of G4ParticleGun class
/// can be changed via the G4 build-in commands of G4ParticleGun class
/// (see the macros provided with this example).
class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
PrimaryGeneratorAction();
PrimaryGeneratorAction();
virtual ~PrimaryGeneratorAction();
virtual void GeneratePrimaries(G4Event* event);
// set methods
void SetRandomFlag(G4bool value);
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
/// \file RunAction.hh
/// \brief Definition of the RunAction class
@@ -37,9 +37,9 @@ class G4Run;
/// Run action class
///
/// It accumulates statistic and computes dispersion of the energy deposit
/// It accumulates statistic and computes dispersion of the energy deposit
/// and track lengths of charged particles with use of analysis tools:
/// H1D histograms are created in BeginOfRunAction() for the following
/// H1D histograms are created in BeginOfRunAction() for the following
/// physics quantities:
/// - Edep in absorber
/// - Edep in gap
@@ -49,7 +49,7 @@ class G4Run;
/// The histograms and ntuple are saved in the output file in a format
/// accoring to a selected technology in Analysis.hh.
///
/// In EndOfRunAction(), the accumulated statistic and computed
/// In EndOfRunAction(), the accumulated statistic and computed
/// dispersion is printed.
///
@@ -9,10 +9,10 @@ DIRNAME=$1
for FILE in `ls $DIRNAME/include`; do
rm -f include/$FILE
done
done
for FILE in `ls $DIRNAME/src`; do
rm -f src/$FILE
done
done
echo "... clean_files.sh from $1 finished"
@@ -56,6 +56,6 @@ void ActionInitialization::Build() const
{
SetUserAction(new PrimaryGeneratorAction);
SetUserAction(new RunAction(fFileName));
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
/// \file DetectorConstruction.cc
/// \brief Implementation of the DetectorConstruction class
@@ -45,8 +45,8 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4ThreadLocal
G4GlobalMagFieldMessenger* DetectorConstruction::fMagFieldMessenger = 0;
G4ThreadLocal
G4GlobalMagFieldMessenger* DetectorConstruction::fMagFieldMessenger = 0;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -57,7 +57,7 @@ DetectorConstruction::DetectorConstruction()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
DetectorConstruction::~DetectorConstruction()
{}
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -71,11 +71,11 @@ G4VPhysicalVolume* DetectorConstruction::Construct()
G4Material* csi = nistManager->FindOrBuildMaterial("G4_CESIUM_IODIDE");
// There is no need to test if materials were built/found
// as G4NistManager would issue an error otherwise
// Try the code with "XYZ".
// Try the code with "XYZ".
// Print all materials
G4cout << *(G4Material::GetMaterialTable()) << G4endl;
G4cout << *(G4Material::GetMaterialTable()) << G4endl;
// Option to switch on/off checking of volumes overlaps
G4bool checkOverlaps = true;
@@ -85,12 +85,12 @@ G4VPhysicalVolume* DetectorConstruction::Construct()
// The world dimensions
G4double worldHxyz = 2.*m;
// world volume
G4Box* worldS = new G4Box("World", worldHxyz, worldHxyz, worldHxyz);
G4Box* worldS = new G4Box("World", worldHxyz, worldHxyz, worldHxyz);
G4LogicalVolume* worldLV = new G4LogicalVolume(worldS, air, "World");
G4VPhysicalVolume* worldPV
= new G4PVPlacement(
0, G4ThreeVector(), worldLV, "World", 0, false, 0, checkOverlaps);
@@ -102,12 +102,12 @@ G4VPhysicalVolume* DetectorConstruction::Construct()
// The box dimensions
G4double boxHxy = 1.*m;
G4double boxHz = 10.*cm;
// box volume
G4Box* boxS = new G4Box("World", boxHxy, boxHxy, boxHz);
G4Box* boxS = new G4Box("World", boxHxy, boxHxy, boxHz);
G4LogicalVolume* boxLV = new G4LogicalVolume(boxS, csi, "Box");
// The box position
G4double posz = 0.*m;
@@ -121,12 +121,12 @@ G4VPhysicalVolume* DetectorConstruction::Construct()
// The screen dimensions
G4double screenHxy = 1.999*m;
G4double screenHz = 1.*mm;
// Screen volume
G4Box* screenS = new G4Box("World", screenHxy, screenHxy, screenHz);
G4Box* screenS = new G4Box("World", screenHxy, screenHxy, screenHz);
G4LogicalVolume* screenLV = new G4LogicalVolume(screenS, air, "Screen");
// The screen position
posz += boxHz + screenHz;
@@ -134,7 +134,7 @@ G4VPhysicalVolume* DetectorConstruction::Construct()
0, G4ThreeVector(0, 0, posz),
screenLV, "Screen", worldLV, false, 0, checkOverlaps);
//
//
// Visualization attributes
//
worldLV->SetVisAttributes(G4VisAttributes::GetInvisible());
@@ -156,14 +156,14 @@ void DetectorConstruction::ConstructSDandField()
{
// G4SDManager::GetSDMpointer()->SetVerboseLevel(1);
//
//
// Sensitive detectors
//
auto screenSD = new ScreenSD("ScreenSD");
G4SDManager::GetSDMpointer()->AddNewDetector(screenSD);
SetSensitiveDetector("Screen", screenSD);
//
//
// Magnetic field
//
// Create global magnetic field messenger.
@@ -172,7 +172,7 @@ void DetectorConstruction::ConstructSDandField()
G4ThreeVector fieldValue;
fMagFieldMessenger = new G4GlobalMagFieldMessenger(fieldValue);
fMagFieldMessenger->SetVerboseLevel(1);
// Register the field messenger for deleting
G4AutoDelete::Register(fMagFieldMessenger);
}
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
/// \file PrimaryGeneratorAction.cc
/// \brief Implementation of the PrimaryGeneratorAction class
@@ -69,7 +69,7 @@ void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
// This function is called at the begining of event
// In order to avoid dependence of PrimaryGeneratorAction
// on DetectorConstruction class we get world volume
// on DetectorConstruction class we get world volume
// from G4LogicalVolumeStore
//
G4double worldZHalfLength = 0.;
@@ -82,7 +82,7 @@ void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
}
if ( worldBox ) {
worldZHalfLength = worldBox->GetZHalfLength();
worldZHalfLength = worldBox->GetZHalfLength();
}
else {
G4ExceptionDescription msg;
@@ -91,8 +91,8 @@ void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
msg << "The gun will be place in the center.";
G4Exception("PrimaryGeneratorAction::GeneratePrimaries()",
"MyCode0002", JustWarning, msg);
}
}
// Set gun position
fParticleGun
->SetParticlePosition(G4ThreeVector(0., 0., -worldZHalfLength));
@@ -40,7 +40,7 @@
RunAction::RunAction(const G4String& fileName)
: G4UserRunAction(),
fFileName(fileName)
{
{
// Create analysis manager
// The choice of analysis technology is done via selectin of a namespace
// in Analysis.hh
@@ -59,7 +59,7 @@ RunAction::RunAction(const G4String& fileName)
analysisManager->CreateNtupleIColumn("ID"); // column id = 0
analysisManager->CreateNtupleIColumn("PDG"); // column id = 1
analysisManager->CreateNtupleDColumn("Ekin"); // column id = 2
analysisManager->CreateNtupleDColumn("Xpos"); // column id = 3
analysisManager->CreateNtupleDColumn("Xpos"); // column id = 3
analysisManager->CreateNtupleDColumn("Ypos"); // column id = 4
analysisManager->CreateNtupleDColumn("time"); // column id = 5
analysisManager->FinishNtuple();
@@ -69,13 +69,13 @@ RunAction::RunAction(const G4String& fileName)
RunAction::~RunAction()
{
delete G4AnalysisManager::Instance();
delete G4AnalysisManager::Instance();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void RunAction::BeginOfRunAction(const G4Run* /*run*/)
{
{
// Get analysis manager
auto analysisManager = G4AnalysisManager::Instance();
@@ -76,16 +76,16 @@ G4bool ScreenSD::ProcessHits(G4Step* step, G4TouchableHistory* /*history*/)
// Obtain local coordinates:
const G4VTouchable* touchable = preStepPoint->GetTouchable();
G4ThreeVector globalPosition = preStepPoint->GetPosition();
G4ThreeVector localPosition
G4ThreeVector localPosition
= touchable->GetHistory()->GetTopTransform().TransformPoint(globalPosition);
// // Example for obtaining the local direction:
// G4ThreeVector globalDirection = preStepPoint->GetMomentumDirection();
// G4ThreeVector localDirection
// G4ThreeVector localDirection
// = touchable->GetHistory()->GetTopTransform().TransformAxis(localDirection);
// Time
G4double time = preStepPoint->GetGlobalTime();
// Store hit in the ntuple
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
analysisManager->FillNtupleIColumn(0, ID);
@@ -94,7 +94,7 @@ G4bool ScreenSD::ProcessHits(G4Step* step, G4TouchableHistory* /*history*/)
analysisManager->FillNtupleDColumn(3, localPosition.x()/cm);
analysisManager->FillNtupleDColumn(4, localPosition.y()/cm);
analysisManager->FillNtupleDColumn(5, time/ns);
analysisManager->AddNtupleRow();
analysisManager->AddNtupleRow();
return true;
}