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
+15
View File
@@ -49,6 +49,21 @@ Survey energy deposition and particle's flux from an hadronic cascade.
Use PhysicsConstructor objects rather than predefined G4 PhysicsLists.
Show how to plot a depth dose profile in a rectangular box.
\link ExampleHadr08 Hadr08 \endlink
This example shows how to get "hadronic model per region" using generic
biasing: in particular, it is shown how to use "FTFP+INCLXX" in one region,
while using the default "FTFP+BERT" in all other regions.
Notice that we use the generic biasing machinery, but the actual weights
of all tracks remain to the usual value (1.0) as in the normal (unbiased)
case.
\link ExampleHadr09 Hadr09 \endlink
This example shows how to use Geant4 as a generator for simulating
inelastic hadron-nuclear interactions.
Notice that the Geant4 run-manager is not used.
\link ExampleFissionFragment FissionFragment \endlink
This example demonstrates the Fission Fragment model as used within the
+5 -1
View File
@@ -1,6 +1,9 @@
#---Adding all hadronic examples subdirectories explicitly
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()
add_subdirectory(Hadr00)
add_subdirectory(Hadr01)
@@ -10,5 +13,6 @@ add_subdirectory(Hadr04)
add_subdirectory(Hadr06)
add_subdirectory(Hadr07)
add_subdirectory(Hadr08)
add_subdirectory(Hadr09)
add_subdirectory(FissionFragment)
add_subdirectory(NeutronSource)
@@ -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(FissionFragment)
#----------------------------------------------------------------------------
@@ -54,6 +54,8 @@
//
// Modified:
//
// ??-??-20 ARibon
// Replaced deprecated HP environmental variables with UI commands
// 23-06-14 BWendt
// Added check for NeutronHP fission generator environment variable
//
@@ -61,11 +63,7 @@
#include "globals.hh"
#ifdef G4MULTITHREADED
#include "G4MTRunManager.hh"
#else
#include "G4RunManager.hh"
#endif // G4MULTITHREADED
#include "G4RunManagerFactory.hh"
#include "G4UImanager.hh"
#include "QGSP_BIC_HP.hh"
@@ -77,6 +75,7 @@
#include "G4VisExecutive.hh"
#include "G4UIExecutive.hh"
#include "G4ParticleHPManager.hh"
// Entry point
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -84,50 +83,23 @@ int main(int argc, char* argv[])
{
int result;
unsigned int numberOfThreads = 1;
G4String scriptFileName = "";
G4String outputFileName = "FF_Neutron_HP.out";
G4UImanager* UIManager = NULL;
char makeFissionFragments[] = "G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS";
char useWendtFission[] = "G4NEUTRON_HP_USE_WENDT_FISSION_MODEL";
// Activate production of fission fragments in neutronHP
G4ParticleHPManager::GetInstance()->SetProduceFissionFragments( true );
char Force[] = "G4FORCENUMBEROFTHREADS";
if(std::getenv(Force) != NULL) {
char doNotForce[]="G4FORCENUMBEROFTHREADS=1";
putenv(doNotForce);
}
// Indicate the example is starting
G4cout << "#### Starting: " << argv[0] << " ####" << G4endl;
// Verify that NeutronHP is going to create fission fragments
// Throw and error if it isn't.
if(std::getenv(makeFissionFragments) == NULL)
{
G4cerr << G4endl << "!!!!" << G4endl;
G4cerr << "!!!! Error in example" << argv[0] << G4endl;
G4cerr << "!!!! The \"" << makeFissionFragments << "\" "
"environment variable is not set!" << G4endl;
G4cerr << "!!!! Please set it in order to use this example." << G4endl;
G4cerr << "!!!!" << G4endl << G4endl;
return EXIT_FAILURE;
}
// We are trying to use the Wendt fission model in Neutron_HP
// Warn the user if the appropriate environment variable is not set up
if(std::getenv(useWendtFission) == NULL)
{
G4cout << G4endl << "!!!!" << G4endl;
G4cout << "!!!! Warning in example" << argv[0] << G4endl;
G4cout << "!!!! The \"" << useWendtFission << "\" "
"environment variable is not set!" << G4endl;
G4cout << "!!!! Please set it if you wish to use this fission model, "
"otherwise the default fission model will be used" << G4endl;
G4cout << "!!!!" << G4endl << G4endl;
}
// Parse the command line arguments, if any
for(int i = 1;
i < argc;
@@ -142,10 +114,10 @@ int main(int argc, char* argv[])
<< argv[i] << "\" was found" << G4endl;
G4cerr << "!!!! " << argv[0] << " will now terminate" << G4endl;
G4cerr << "!!!!" << G4endl << G4endl;
return EXIT_FAILURE;
}
// Ensure that the command-line option has an associated argument
if(!(i + 1 < argc))
{
@@ -157,10 +129,10 @@ int main(int argc, char* argv[])
"option and argument" << G4endl;
G4cerr << "!!!! " << argv[0] << " will now terminate" << G4endl;
G4cerr << "!!!!" << G4endl << G4endl;
return EXIT_FAILURE;
}
switch(argv[i][1])
{
case 'i':
@@ -171,7 +143,7 @@ int main(int argc, char* argv[])
case 'o':
outputFileName = argv[i + 1];
break;
case 'n':
result = sscanf(argv[i + 1],
"%u",
@@ -185,11 +157,11 @@ int main(int argc, char* argv[])
G4cerr << "!!!! " << argv[0] << " will now terminate"
<< G4endl;
G4cerr << "!!!!" << G4endl << G4endl;
return EXIT_FAILURE;
}
break;
default:
G4cout << G4endl << "!!!!" << G4endl;
G4cout << "!!!! Warning for command " << i + 1 << G4endl;
@@ -200,7 +172,7 @@ int main(int argc, char* argv[])
G4cout << "!!!!" << G4endl << G4endl;
}
}
// Instantiate G4UIExecutive if interactive mode
G4UIExecutive* ui = nullptr;
if (scriptFileName.length() == 0) {
@@ -216,27 +188,17 @@ int main(int argc, char* argv[])
#endif // NDEBUG
G4Random::setTheEngine(new CLHEP::MTwistEngine(seed));
// The 'runManger' type must be declared here at initialization to provide for
// 'SetNumberOfThreads()' method required for multithreading
#ifdef G4MULTITHREADED
// Initialize the multithreaded run manager
G4MTRunManager* const runManager = new G4MTRunManager();
auto* runManager = G4RunManagerFactory::CreateRunManager();
runManager->SetNumberOfThreads(numberOfThreads);
G4cout << "Multithreading enabled" << G4endl;
G4cout << " Threads requested: " << numberOfThreads << G4endl;
G4cout << " Threads started: " << runManager->GetNumberOfThreads()
<< G4endl;
#else
// Multithreading not available
G4RunManager* const runManager = new G4RunManager();
#endif // G4MULTITHREADED
G4cout << " Threads started: " << runManager->GetNumberOfThreads() << G4endl;
// Set mandatory initialization classes
runManager->SetUserInitialization(new FFDetectorConstruction());
runManager->SetUserInitialization(new QGSP_BIC_HP());
runManager->SetUserInitialization(new FFActionInitialization());
// Initialize the Geant4 kernel
runManager->Initialize();
@@ -246,7 +208,7 @@ int main(int argc, char* argv[])
// Get the pointer to the User Interface manager
UIManager = G4UImanager::GetUIpointer();
if(!ui)
{
// Batch mode
@@ -260,11 +222,11 @@ int main(int argc, char* argv[])
// Job termination
// Free the store: user actions, physics_list and detector_description are
// owned and deleted by the run manager, so they should not be deleted
// owned and deleted by the run manager, so they should not be deleted
// in the main() program !
delete visManager;
delete runManager;
return 0;
}
@@ -1,11 +1,12 @@
#### Starting: /mnt/build/jenkins/workspace/g4n-centos7/COMPILER/gcc9/LABEL/centos7/THREAD/Seq/build/examples/extended/hadronic/FissionFragment/FissionFragment ####
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
@@ -13,6 +14,8 @@
WWW : http://geant4.org/
**************************************************************
Threads requested: 1
Threads started: 1
<<< Geant4 Physics List simulation engine: QGSP_BIC_HP
Checking overlaps for volume Plate@Location X:0.00 Y:1.20 (G4Box) ... OK!
@@ -348,10 +351,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...
@@ -415,10 +420,11 @@ Rayl: for gamma SubType=11 BuildTable=1
LivermoreRayleigh : Emin= 0 eV Emax= 100 TeV CullenGenerator
msc: for e- SubType= 10
RangeFactor= 0.08, stepLimType: 2, latDisp: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
GoudsmitSaunderson : Emin= 0 eV Emax= 100 MeV Nbins=120 100 eV - 100 MeV
StepLim=SafetyPlus Rfact=0.08 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llimit=1
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=120 100 MeV - 100 TeV
StepLim=SafetyPlus Rfact=0.08 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llimit=1
eIoni: for e- SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
@@ -441,7 +447,7 @@ ePairProd: for e- SubType=4
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
Sampling table 25x1001 from 0.1 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
ePairProd : Emin= 0 eV Emax= 100 TeV
ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for e-, integral:1 SubType=1 BuildTable=1
Lambda table from 100 MeV to 100 TeV, 20 bins/decade, spline: 1
@@ -450,10 +456,11 @@ CoulombScat: for e-, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
msc: for e+ SubType= 10
RangeFactor= 0.08, stepLimType: 2, latDisp: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
GoudsmitSaunderson : Emin= 0 eV Emax= 100 MeV Nbins=120 100 eV - 100 MeV
StepLim=SafetyPlus Rfact=0.08 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llimit=1
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=120 100 MeV - 100 TeV
StepLim=SafetyPlus Rfact=0.08 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llimit=1
eIoni: for e+ SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
@@ -476,7 +483,7 @@ ePairProd: for e+ SubType=4
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
Sampling table 25x1001 from 0.1 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
ePairProd : Emin= 0 eV Emax= 100 TeV
ePairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
annihil: for e+, integral:1 SubType=5 BuildTable=0
===== EM models for the G4Region DefaultRegionForTheWorld ======
@@ -489,9 +496,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: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llimit=1
hIoni: for proton SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
@@ -505,14 +512,14 @@ hBrems: for proton SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
Lambda tables from threshold to 100 TeV, 20 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 240 bins
Lambda tables from threshold to 100 TeV, 20 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, 20 bins/decade, spline: 1
@@ -525,9 +532,9 @@ nuclearStopping: for proton SubType=8 BuildTable=0
ICRU49NucStopping : Emin= 0 eV Emax= 1 MeV
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:1 Skin=3 Llimit=1
ionIoni: for GenericIon SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
@@ -555,9 +562,9 @@ Use Bearden atomic level energies 0
======================================================================
msc: for alpha SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llimit=1
ionIoni: for alpha SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
@@ -572,9 +579,9 @@ nuclearStopping: for alpha SubType=8 BuildTable=0
ICRU49NucStopping : Emin= 0 eV Emax= 1 MeV
msc: for anti_proton SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llimit=1
hIoni: for anti_proton SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
@@ -588,14 +595,14 @@ hBrems: for anti_proton SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
Lambda tables from threshold to 100 TeV, 20 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 240 bins
Lambda tables from threshold to 100 TeV, 20 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, 20 bins/decade, spline: 1
@@ -604,9 +611,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: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llimit=1
hIoni: for kaon+ SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
@@ -620,14 +627,14 @@ hBrems: for kaon+ SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
Lambda tables from threshold to 100 TeV, 20 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 240 bins
Lambda tables from threshold to 100 TeV, 20 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, 20 bins/decade, spline: 1
@@ -636,9 +643,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: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llimit=1
hIoni: for kaon- SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
@@ -652,14 +659,14 @@ hBrems: for kaon- SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
Lambda tables from threshold to 100 TeV, 20 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 240 bins
Lambda tables from threshold to 100 TeV, 20 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+
@@ -668,9 +675,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: 1, polarAngLim(deg)= 180
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llimit=1
muIoni: for mu+ SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
@@ -685,14 +692,14 @@ muBrems: for mu+ SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
Lambda tables from threshold to 100 TeV, 20 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 240 bins
Lambda tables from threshold to 100 TeV, 20 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, 20 bins/decade, spline: 1
@@ -701,9 +708,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: 1, polarAngLim(deg)= 180
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llimit=1
muIoni: for mu- SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
@@ -718,14 +725,14 @@ muBrems: for mu- SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
Lambda tables from threshold to 100 TeV, 20 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 240 bins
Lambda tables from threshold to 100 TeV, 20 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+
@@ -736,6 +743,19 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
NeutronHP: /Elastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Elastic/CrossSection/6_nat_Carbon
NeutronHP: /Inelastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Inelastic/CrossSection/6_nat_Carbon
NeutronHP: /Elastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Elastic/CrossSection/6_nat_Carbon
=======================================================
====== ParticleHP Physics Parameters ========
=======================================================
UseOnlyPhotoEvaporation ? 0
SkipMissingIsotopes ? 0
NeglectDoppler ? 0
DoNotAdjustFinalState ? 0
ProduceFissionFragments ? 1
UseWendtFissionModel ? 0
UseNRESP71Model ? 0
=======================================================
@@@ G4ParticleHPInelastic instantiated for particle neutron data directory variable is G4NEUTRONHPDATA pointing to /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Inelastic
NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Capture/CrossSection/6_nat_Carbon
Fission fragment production is now activated in HP package for Z = 92, A = 235
@@ -744,9 +764,9 @@ Fission fragment production is now activated in HP package for Z = 92, A = 238
As currently modeled this option precludes production of delayed neutrons from fission fragments.
msc: for pi+ SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llimit=1
hIoni: for pi+ SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
@@ -760,14 +780,14 @@ hBrems: for pi+ SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
Lambda tables from threshold to 100 TeV, 20 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 240 bins
Lambda tables from threshold to 100 TeV, 20 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, 20 bins/decade, spline: 1
@@ -776,9 +796,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: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llimit=1
hIoni: for pi- SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
@@ -792,14 +812,14 @@ hBrems: for pi- SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
Lambda tables from threshold to 100 TeV, 20 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 240 bins
Lambda tables from threshold to 100 TeV, 20 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+
@@ -857,9 +877,7 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_He3Inelastic
Model: FTFP: 0 eV /n ---> 25 GeV/n
Model: FTFP: 12 GeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
@@ -873,9 +891,7 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_alphaInelastic
Model: FTFP: 0 eV /n ---> 25 GeV/n
Model: FTFP: 12 GeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
@@ -889,13 +905,25 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_deuteronInelastic
Model: FTFP: 0 eV /n ---> 25 GeV/n
Model: FTFP: 12 GeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
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: QGSP: 12 GeV ---> 100 TeV
Model: FTFP: 0 eV ---> 25 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
Hadronic Processes for anti_neutron
@@ -905,9 +933,7 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_neutronInelastic
Model: FTFP: 0 eV ---> 25 GeV
Model: QGSP: 12 GeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
@@ -921,9 +947,7 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_protonInelastic
Model: FTFP: 0 eV ---> 25 GeV
Model: QGSP: 12 GeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
@@ -937,9 +961,7 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_tritonInelastic
Model: FTFP: 0 eV /n ---> 25 GeV/n
Model: FTFP: 12 GeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
@@ -1015,10 +1037,9 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: lambdaInelastic
Model: BertiniCascade: 0 eV ---> 6 GeV
Model: FTFP: 3 GeV ---> 25 GeV
Model: QGSP: 12 GeV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Model: FTFP: 3 GeV ---> 25 GeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -1115,10 +1136,9 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: sigma-Inelastic
Model: BertiniCascade: 0 eV ---> 6 GeV
Model: FTFP: 3 GeV ---> 25 GeV
Model: QGSP: 12 GeV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Model: FTFP: 3 GeV ---> 25 GeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
@@ -1136,6 +1156,7 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
================================================================
### G4LevelReader: broken transition 0 from level 24 to 24 for isotope Z= 89 A= 219 - use ground level
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
=======================================================================
@@ -1159,7 +1180,11 @@ Store e- internal conversion data 1
Electron internal conversion ID 0
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.
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...
@@ -14,18 +14,26 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
08-05-18 J. Allison (exExtHadFissFrag-V10-04-01)
- FissionFragment.cc:
o Move instantiation of G4UIExecutive beyond the point where the main
program could exit, for example, if environment variables are incorrectly
set. The problem was that if G4UIExecutive invokes G4UIQt, and if the
program exits after instantiation but before SessionStart, all output
is lost.
03-05-18 J. Allison (exExtHadFissFrag-V10-04-00)
- FissionFragment.cc:
o Remove G4_VIS_USE and G4UI_USE.
o Move instantiation of G4UIExecutive to start of main.
10-11-20 B, Morgan (exExtHadFissFrag-V10-06-01)
- Migration to G4RunManagerFactory.
05-08-20 A. Ribon (exExtHadFissFrag-V10-06-00)
- FissionFragment.cc , batch.in , README , .README.txt :
o Replaced deprecated HP environmental variables with corresponding
UI commands.
08-05-18 J. Allison (exExtHadFissFrag-V10-04-01)
- FissionFragment.cc:
o Move instantiation of G4UIExecutive beyond the point where the main
program could exit, for example, if environment variables are incorrectly
set. The problem was that if G4UIExecutive invokes G4UIQt, and if the
program exits after instantiation but before SessionStart, all output
is lost.
03-05-18 J. Allison (exExtHadFissFrag-V10-04-00)
- FissionFragment.cc:
o Remove G4_VIS_USE and G4UI_USE.
o Move instantiation of G4UIExecutive to start of main.
26-10-15 T. Koi (exExtHadFissFrag-V10-01-01)
- Fix compiler waring message in previous tag
@@ -57,17 +65,17 @@ track of all tags.
- Fixed fuel plate placement issue. Removed need for tag
"exExtHadFissFrag-V10-00-08"
- Fixed sampling location for neutron source
23-06-14 B. Wendt (exExtHadFissFrag-V10-00-08)
- Attempt to correct compilation warnings on gcc-4.1 regarding a call
to "int abs(int)" in FFDetectorConstruction.cc
13-06-14 Gunter Folger (exExtHadFissFrag-V10-00-07)
- correct compilation warning on unused variable run in FFRunAction
- add input file for testing: batch.in
06-06-13 B. Wendt (exExtHadFissFrag-V10-00-06)
- First release
@@ -17,18 +17,14 @@
1 - EXECUTION
A - ENVIRONMENT
G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS - REQUIRED
The example requires this enviroment variable to be set. An error will be
displayed and the example will terminate if this environment variable is
not set.
G4NEUTRON_HP_USE_WENDT_FISSION_MODEL - OPTIONAL
This environment variable enables the Wendt fission model contained
within the NeutronHP model for simulating fission events. The default model
will be used otherwise. A warning will be displayed if this environment
variable is not set.
A - Enable the following UI command :
/process/had/particle_hp/use_Wendt_fission_model true
to use the alternative Wendt fission model contained within the
NeutronHP model for simulating fission events
(else, the default fission model will be used).
B - COMMAND LINE ARGUMENTS
The example can be run without any input arguments. However, a few options
are available:
@@ -46,7 +42,9 @@
C - INTERACTIVE
No specialized UI commands are currently provided.
To run the simulation, use the standard UI command:
To run the simulation, use the standard UI command (after eventually
the above UI command to use the alternative Wendt fission model):
/run/beamOn
@@ -1,2 +1,6 @@
# To use the alternative Wendt fission model enable the following UI command
# (else, the default one will be used):
#/process/had/particle_hp/use_Wendt_fission_model true
#
/run/beamOn 50
exit
@@ -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(Hadr00)
#----------------------------------------------------------------------------
+6 -13
View File
@@ -35,7 +35,7 @@
//
// Author: V.Ivanchenko 20 June 2008
//
// Modified:
// Modified:
//
// -------------------------------------------------------------
//
@@ -43,8 +43,7 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "G4RunManager.hh"
#include "G4MTRunManager.hh"
#include "G4RunManagerFactory.hh"
#include "G4UImanager.hh"
#include "Randomize.hh"
@@ -65,8 +64,7 @@ int main(int argc,char** argv) {
G4UIExecutive* ui = nullptr;
if (argc == 1) { ui = new G4UIExecutive(argc,argv); }
#ifdef G4MULTITHREADED
G4MTRunManager * runManager = new G4MTRunManager();
auto* runManager = G4RunManagerFactory::CreateRunManager();
// Number of threads can be defined via 3rd argument
if (argc==4) {
@@ -75,11 +73,6 @@ int main(int argc,char** argv) {
}
G4cout << "##### Hadr00 started for " << runManager->GetNumberOfThreads()
<< " threads" << " #####" << G4endl;
#else
G4RunManager * runManager = new G4RunManager();
G4cout << "##### Hadr00 started in sequential mode"
<< " #####" << G4endl;
#endif
//set mandatory initialization classes
DetectorConstruction* det = new DetectorConstruction();
@@ -116,7 +109,7 @@ int main(int argc,char** argv) {
G4VisManager* visManager = nullptr;
//get the pointer to the User Interface manager
G4UImanager* UImanager = G4UImanager::GetUIpointer();
G4UImanager* UImanager = G4UImanager::GetUIpointer();
if (ui) {
//interactive mode
@@ -125,13 +118,13 @@ int main(int argc,char** argv) {
ui->SessionStart();
delete ui;
} else {
//batch mode
//batch mode
G4String command = "/control/execute ";
G4String fileName = argv[1];
UImanager->ApplyCommand(command+fileName);
}
//job termination
//job termination
delete visManager;
delete runManager;
}
+14 -11
View File
@@ -14,6 +14,9 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
10-11-20 B, Morgan (exhadr00-V10-06-01)
- Migration to G4RunManagerFactory.
13-02-20 V.Ivanchenko (exhadr00-V10-06-00)
- HistoManagerMessenger - fixed destructor
@@ -32,7 +35,7 @@ track of all tags.
29-03-18 V.Ivanchenko (exhadr00-V10-04-02)
- DetectorConstruction - cleanup geometry
- Hadr00.cc - more cleanup visualisation
24-03-18 M.Maire (exhadr00-V10-04-01)
- Hadr00.cc : come back to FTFP_BERT
@@ -53,15 +56,15 @@ track of all tags.
27-11-13 I. Hrivnacova (exhadr00-V09-06-06)
- Removed #ifdef G4MULTITHREADED from RunAction (not needed)
- Fixed .README
- Fixed .README
21-11-13 A. Dotti (exhadr00-V09-06-05)
- USe G4RunManager::ReinitializeGeometry() to trigger geometry
rebuilds.
rebuilds.
- Remove ui command /testhadr/Update and corresponding
DetectorConstruction::Update method
- Mark UI command to change detector as ToBeBroadcasted(false)
- Update README file for change in ui command
- Update README file for change in ui command
06-11-13 V.Ivanchenko (exhadr00-V09-06-04)
- Fixed for MT
@@ -70,11 +73,11 @@ track of all tags.
- Fixed for sequential
05-11-13 V.Ivanchenko (exhadr00-V09-06-02)
- Appling review recommendations, migration to MT, simplified access
- Appling review recommendations, migration to MT, simplified access
to histograms
05-06-13 I. Hrivnacova (exhadr00-V09-06-01)
- Applied coding guidelines (data members names and initialization,
- Applied coding guidelines (data members names and initialization,
tabulations, separators)
05-04-13 V.Ivanchenko (exhadr00-V09-06-00)
@@ -111,10 +114,10 @@ track of all tags.
- Cleanup AIDA interface
06-06-10 J.Perl (exhadr00-V09-03-03)
- Remove unused variable in EventAction
- Remove unused variable in EventAction
03-06-10 J.Perl (exhadr00-V09-03-02)
- Updated vis usage
- Updated vis usage
27-05-10 V.Ivant (exhadr00-V09-03-01)
- Improved printout
@@ -123,8 +126,8 @@ track of all tags.
- Introduced G4UIExecutive.
26-06-09 V.Ivant (exhadr00-V09-02-00)
- added a possibility to define Physics List as a job parameter
- added script for the test run of all Physics Lists
- added a possibility to define Physics List as a job parameter
- added script for the test run of all Physics Lists
20-11-08 V.Ivant (exhadr00-V09-01-02)
- added charge exchange cross section
@@ -134,4 +137,4 @@ track of all tags.
07-07-08 V.Ivant (exhadr00-V09-01-00)
- first release
+73 -36
View File
@@ -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
@@ -12,7 +13,7 @@
WWW : http://geant4.org/
**************************************************************
##### Hadr00 started in sequential mode #####
##### Hadr00 started for 1 threads #####
G4PhysListFactory::GetReferencePhysList <FTFP_BERT> EMoption= 0
<<< Geant4 Physics List simulation engine: FTFP_BERT
@@ -39,7 +40,7 @@ G4PhysListFactory::GetReferencePhysList <FTFP_BERT> EMoption= 0
ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: G4_Galactic density: 0.000 kg/m3 RadL: 204310101.835 pc Nucl.Int.Length: 113427275.267 pc
Material: G4_Galactic density: 0.000 mg/cm3 RadL: 204310098.490 pc Nucl.Int.Length: 113427284.261 pc
Imean: 21.800 eV temperature: 2.73 K pressure: 0.00 atm
---> Element: H (H) Z = 1.0 N = 1 A = 1.008 g/mole
@@ -50,7 +51,7 @@ G4PhysListFactory::GetReferencePhysList <FTFP_BERT> EMoption= 0
FTFP_BERT : new threshold between BERT and FTFP is over the interval
hInelastic FTFP_BERT : threshold between BERT and FTFP is over the interval
for pions : 3 to 6 GeV
for kaons : 3 to 6 GeV
for proton : 3 to 6 GeV
@@ -92,10 +93,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
@@ -119,10 +121,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
@@ -150,9 +153,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
@@ -166,14 +169,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
@@ -182,9 +185,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
@@ -210,9 +213,9 @@ Use Bearden atomic level energies 0
======================================================================
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
@@ -223,9 +226,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
@@ -239,14 +242,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
@@ -255,9 +258,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
@@ -271,14 +274,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
@@ -287,9 +290,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
@@ -303,14 +306,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+
@@ -319,9 +322,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
@@ -336,14 +339,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
@@ -352,9 +355,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
@@ -369,14 +372,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+
@@ -385,9 +388,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
@@ -401,14 +404,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
@@ -417,9 +420,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
@@ -433,14 +436,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+
@@ -469,6 +472,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
@@ -545,6 +570,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
@@ -656,8 +694,8 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: lambdaInelastic
Model: BertiniCascade: 0 eV ---> 6 GeV
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -722,8 +760,8 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: sigma-Inelastic
Model: BertiniCascade: 0 eV ---> 6 GeV
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
@@ -764,7 +802,6 @@ Store e- internal conversion data 1
Electron internal conversion ID 0
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
Upload data before 1st event for Z < 9
=======================================================================
========= Table of registered couples ============================
@@ -792,7 +829,7 @@ EventAction: Event # 0 started
Run terminated.
Run Summary
Number of events processed : 10
User=0.030000s Real=0.122365s Sys=0.010000s
User=0.010000s Real=0.032741s Sys=0.000000s
RunAction: End of run actions are started
HistoManager: End of run actions are started
### Fill Cross Sections for proton off Al
View File
View File
View File
View File
@@ -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(Hadr01)
#----------------------------------------------------------------------------
+8 -8
View File
@@ -36,7 +36,7 @@
//
// Authors: A.Bagulya, I.Gudowska, V.Ivanchenko, N.Starkov
//
// Modified:
// Modified:
// 29.12.2009 V.Ivanchenko introduced access to reference PhysLists
//
// -------------------------------------------------------------
@@ -45,7 +45,7 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "G4RunManager.hh"
#include "G4RunManagerFactory.hh"
#include "G4UImanager.hh"
#include "Randomize.hh"
@@ -71,8 +71,8 @@ int main(int argc,char** argv) {
G4UIExecutive* ui = nullptr;
if (argc == 1) { ui = new G4UIExecutive(argc,argv); }
//Construct the default run manager
G4RunManager * runManager = new G4RunManager();
//Construct a serial run manager
auto* runManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::SerialOnly);
//set mandatory initialization classes
runManager->SetUserInitialization(new DetectorConstruction());
@@ -97,7 +97,7 @@ int main(int argc,char** argv) {
// instantiated messenger
mess = new PhysicsListMessenger();
}
}
//local Physics List
if(!phys) { phys = new PhysicsList(); }
@@ -115,7 +115,7 @@ int main(int argc,char** argv) {
G4VisManager* visManager = nullptr;
//get the pointer to the User Interface manager
G4UImanager* UImanager = G4UImanager::GetUIpointer();
G4UImanager* UImanager = G4UImanager::GetUIpointer();
if (ui) {
//interactive mode
@@ -124,13 +124,13 @@ int main(int argc,char** argv) {
ui->SessionStart();
delete ui;
} else {
//batch mode
//batch mode
G4String command = "/control/execute ";
G4String fileName = argv[1];
UImanager->ApplyCommand(command+fileName);
}
//job termination
//job termination
delete mess;
delete visManager;
delete runManager;
+25 -17
View File
@@ -14,19 +14,27 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
10-11-20 B. Morgan (exhadr01-V10-06-02)
- Migration to G4RunManagerFactory.
22-07-20 V.Ivanchenko (exhadr01-V10-06-01)
- PhysicsList - make it coherent with current reference lists
- RunAction - improved pritouts
- hadr01.in - switched from Al to W
18-01-20 V.Ivanchenko (exhadr01-V10-06-00)
- HistoManager - removed FPE error (happens if check volume
material is not vacuum)
21-08-19 V.Ivanchenko (exhadr01-V10-05-01)
- DetectorConstruction - added "Battery" material from problem
- DetectorConstruction - added "Battery" material from problem
report 2175 and new macro test_battery.in
17-12-18 V.Ivanchenko (exhadr01-V10-05-00)
- HistoManager - added linear histogram for pion energy at production
08-11-18 V.Ivanchenko (exhadr01-V10-04-05)
- PhysicsList - make local PhysicsList to be coherent with
- PhysicsList - make local PhysicsList to be coherent with
physics_list library
14-08-18 V.Ivanchenko (exhadr01-V10-04-04)
@@ -51,7 +59,7 @@ track of all tags.
- Hadr01.cc : remove G4UI_USE and G4VIS_USE
21-11-17 V.Ivanchenko (exhadr01-V10-03-00)
- Fixed histograms and radioactive decay
- Fixed histograms and radioactive decay
09-11-16 V.Ivanchenko (exhadr01-V10-02-03)
- PhysicsList - synchronisation with physics_list library of 10.3
@@ -63,7 +71,7 @@ track of all tags.
30-08-16 I. Hrivnacova (exhadr01-V10-02-00)
- Removed data. functions and commands to define cuts
from PhysicsList and PhysicsListMessenger;
using Geant4 commands
using Geant4 commands
31-08-15 V.Ivanchenko (exhadr01-V10-01-00)
- PhysicsList - syncronisation with physics_list library
@@ -73,18 +81,18 @@ track of all tags.
21-11-13 A. Dotti (exhadr01-V09-06-06)
- USe G4RunManager::ReinitializeGeometry() to trigger geometry
rebuilds.
rebuilds.
- Remove ui command /testhadr/Update and corresponding
DetectorConstruction::Update method
- Mark UI command to change detector as ToBeBroadcasted(false)
- Update README file for change in ui command
- Start migration to MT: added CreateSDandField method
- Update README file for change in ui command
- Start migration to MT: added CreateSDandField method
29-07-13 P. Gumplinger (exhadr01-V09-06-05)
- fix MAC/clang32 compilation warnings
05-06-13 I. Hrivnacova (exhadr01-V09-06-04)
- Applied coding guidelines (data members names and initialization,
- Applied coding guidelines (data members names and initialization,
tabulations, separators)
05-04-13 V.Ivanchenko (exhadr01-V09-06-03)
@@ -129,7 +137,7 @@ track of all tags.
- Applied code convension
06-01-12 V.Ivant (exhadr01-V09-05-00)
- DetectorMessenger - fixed deletion of objects
- DetectorMessenger - fixed deletion of objects
21-04-11 V.Ivant (exhadr01-V09-04-01)
- Added new builders for ions
@@ -141,11 +149,11 @@ track of all tags.
- PhysicsList - update according to Physics List library
25-10-10 V.Ivant (exhadr01-V09-03-09)
- PhysicsList - removed unused headers and double definition of
QGSP_BIC_EMY
- PhysicsList - removed unused headers and double definition of
QGSP_BIC_EMY
11-10-10 V.Ivant (exhadr01-V09-03-08)
- PhysicsList - removed TRV physics lists and cleanup elastic
- PhysicsList - removed TRV physics lists and cleanup elastic
- Histo - use default options for AIDA
17-08-10 V.Ivant (exhadr01-V09-03-07)
@@ -156,10 +164,10 @@ track of all tags.
- Cleanup PhysList according to update of physics_list library
06-06-10 J.Perl (exhadr01-V09-03-05)
- Remove unused variable in EventAction
- Remove unused variable in EventAction
04-06-10 J.Perl (exhadr01-V09-03-04)
- Updated vis usage
- Updated vis usage
26-05-10 J.Allsion (exhadr01-V09-03-03)
- Introduced G4UIExecutive.
@@ -227,7 +235,7 @@ track of all tags.
16-05-07 V.Ivant (exhadr01-V08-03-00)
- Added histogram on total energy deposit in the target
- Use renamed EM builders G4EmStandardPhysics_option1 and
- Use renamed EM builders G4EmStandardPhysics_option1 and
G4EmStandardPhysics_option2
26-04-07 V.Ivant (exhadr01-V08-02-01)
@@ -270,7 +278,7 @@ track of all tags.
07-06-06 V.Ivant (exhadr01-V08-00-01)
- cleanup output, README, visulisation, and histograms
06-06-06 V.Ivant (exhadr01-V08-00-00)
- first release
+1 -1
View File
@@ -6,7 +6,7 @@
/run/verbose 2
/tracking/verbose 0
#
/testhadr/TargetMat G4_Al
/testhadr/TargetMat G4_W
/testhadr/TargetRadius 1 cm
/testhadr/TargetLength 10 cm
/testhadr/NumberDivZ 100
+124 -70
View File
@@ -4,7 +4,7 @@
############################################
**************************************************************
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
@@ -15,7 +15,7 @@
/run/verbose 2
/tracking/verbose 0
#
/testhadr/TargetMat G4_Al
/testhadr/TargetMat G4_W
/testhadr/TargetRadius 1 cm
/testhadr/TargetLength 10 cm
/testhadr/NumberDivZ 100
@@ -28,9 +28,9 @@ PhysicsList::AddPhysicsList: <emstandard_opt0>
#
/run/initialize
userDetector->Construct() start.
### Target consist of 100 disks of G4_Al with R(mm)= 10 Width(mm)= 1 Total Length(mm)= 100 ###
### Target consist of 100 disks of G4_W with R(mm)= 10 Width(mm)= 1 Total Length(mm)= 100 ###
***** Table : Nb of materials = 3 *****
***** Table : Nb of materials = 4 *****
Material: G4_Al density: 2.699 g/cm3 RadL: 8.896 cm Nucl.Int.Length: 38.894 cm
Imean: 166.000 eV temperature: 293.15 K pressure: 1.00 atm
@@ -40,7 +40,7 @@ userDetector->Construct() start.
ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: G4_Galactic density: 0.000 kg/m3 RadL: 204310101.835 pc Nucl.Int.Length: 113427275.267 pc
Material: G4_Galactic density: 0.000 mg/cm3 RadL: 204310098.490 pc Nucl.Int.Length: 113427284.261 pc
Imean: 21.800 eV temperature: 2.73 K pressure: 0.00 atm
---> Element: H (H) Z = 1.0 N = 1 A = 1.008 g/mole
@@ -95,10 +95,26 @@ userDetector->Construct() start.
ElmMassFraction: 0.70 % ElmAbundance 13.16 %
Material: G4_W density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.312 cm
Imean: 727.000 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: W (W) Z = 74.0 N = 184 A = 183.842 g/mole
---> Isotope: W180 Z = 74 N = 180 A = 179.95 g/mole abundance: 0.120 %
---> Isotope: W182 Z = 74 N = 182 A = 181.95 g/mole abundance: 26.500 %
---> Isotope: W183 Z = 74 N = 183 A = 182.95 g/mole abundance: 14.310 %
---> Isotope: W184 Z = 74 N = 184 A = 183.95 g/mole abundance: 30.640 %
---> Isotope: W186 Z = 74 N = 186 A = 185.95 g/mole abundance: 28.430 %
ElmMassFraction: 100.00 % ElmAbundance 100.00 %
World is registered to the default region.
physicsList->Construct() start.
### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0
### 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.
physicsList->CheckParticleList() start.
physicsList->setCut() start.
#
@@ -129,10 +145,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
@@ -156,10 +173,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
@@ -187,9 +205,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
@@ -203,14 +221,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
@@ -219,9 +237,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
@@ -233,9 +251,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
@@ -246,9 +264,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
@@ -262,14 +280,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
@@ -278,9 +296,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
@@ -294,14 +312,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
@@ -310,9 +328,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
@@ -326,14 +344,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+
@@ -342,9 +360,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
@@ -359,14 +377,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
@@ -375,9 +393,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
@@ -392,14 +410,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+
@@ -408,9 +426,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
@@ -424,14 +442,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
@@ -440,9 +458,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
@@ -456,14 +474,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+
@@ -493,6 +511,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
@@ -571,6 +611,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
@@ -711,7 +764,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
---------------------------------------------------
@@ -723,7 +777,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
@@ -791,14 +846,13 @@ 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
=======================================================================
Region <DefaultRegionForTheWorld> -- -- appears in <World> world volume
This region is in the mass world.
Root logical volume(s) : World
Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0]
Materials : G4_Galactic G4_Al
Materials : G4_Galactic G4_W
Production cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm
Region <DefaultRegionForParallelWorld> -- -- is not associated to any world.
@@ -817,9 +871,9 @@ Index : 0 used in the geometry : Yes
DefaultRegionForTheWorld
Index : 1 used in the geometry : Yes
Material : G4_Al
Material : G4_W
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm
Energy thresholds : gamma 6.90532 keV e- 597.637 keV e+ 574.097 keV proton 100 keV
Energy thresholds : gamma 106.569 keV e- 2.30976 MeV e+ 2.13081 MeV proton 100 keV
Region(s) which use this couple :
DefaultRegionForTheWorld
@@ -828,22 +882,21 @@ Index : 1 used in the geometry : Yes
Start closing geometry.
G4GeometryManager::ReportVoxelStats -- Voxel Statistics
Total memory consumed for geometry optimisation: 17 kByte
Total memory consumed for geometry optimisation: 10 kByte
Total CPU time elapsed for geometry optimisation: 0 seconds
Voxelisation: top CPU users:
Percent Total CPU System CPU Memory Volume
------- ---------- ---------- -------- ----------
0.00 0.00 0.00 17k Check
0.00 0.00 0.00 11k Check
Voxelisation: top memory users:
Percent Memory Heads Nodes Pointers Total CPU Volume
------- -------- ------ ------ -------- ---------- ----------
100.00 17k 1 197 200 0.00 Check
100.00 10k 1 197 200 0.00 Check
### Run 0 starts.
### Run 0 start
RunAction::BeginOfRunAction: User=1.010000s Real=1.034615s Sys=0.010000s
NuclearData: User=0.000000s Real=0.000004s Sys=0.000000s
Initialisation time: User=1.710000s Real=6.139790s Sys=0.210000s
EventAction: Event # 0 started
EventAction: Event # 10 started
EventAction: Event # 20 started
@@ -857,33 +910,34 @@ EventAction: Event # 90 started
Run terminated.
Run Summary
Number of events processed : 100
User=0.300000s Real=0.312422s Sys=0.010000s
User=1.050000s Real=1.065735s Sys=0.000000s
RunAction::EndOfRunAction: User=1.050000s Real=1.065825s Sys=0.000000s
RunAction: End of run actions are started
HistoManager: End of run actions are started
========================================================
Beam particle proton
Beam Energy(MeV) 3000
Number of events 100
Average energy deposit (MeV) 62.25 RMS(MeV) 57.77
Average number of steps 187.1
Average number of gamma 1.11
Average number of e- 3.58
Average number of e+ 0.03
Average number of neutrons 0.7
Average number of protons 0.78
Average energy deposit (MeV) 609.9 RMS(MeV) 347.3
Average number of steps 1038
Average number of gamma 71.42
Average number of e- 92.88
Average number of e+ 4.79
Average number of neutrons 23.78
Average number of protons 4.84
Average number of antiprotons 0
Average number of pi+ & pi- 0.18
Average number of pi0 0.06
Average number of kaons 0
Average number of muons 0
Average number of deuterons+tritons 0.16
Average number of He3+alpha 0.31
Average number of ions 0.42
Average number of pi+ & pi- 0.75
Average number of pi0 0.34
Average number of kaons 0.01
Average number of muons 0.12
Average number of deuterons+tritons 2.31
Average number of He3+alpha 0.52
Average number of ions 6.12
Average number of forward neutrons 0
Average number of reflected neutrons 0.66
Average number of reflected neutrons 19.33
Average number of leaked neutrons 0
Average number of proton leak 0.48
Average number of pion leak 0.17
Average number of proton leak 1.14
Average number of pion leak 0.42
========================================================
#
@@ -897,22 +951,22 @@ G4SDManager deleted.
EventManager deleted.
Units table cleared.
TransportationManager deleted.
Total navigation history collections cleaned: 13
Total navigation history collections cleaned: 26
================== Deleting memory pools ===================
Pool ID '20G4NavigationLevelRep', size : 0.0183 MB
Pool ID '20G4NavigationLevelRep', size : 0.0375 MB
Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB
Pool ID '7G4Event', size : 0.000961 MB
Pool ID '15G4PrimaryVertex', size : 0.000961 MB
Pool ID '17G4PrimaryParticle', size : 0.000961 MB
Pool ID '15G4HCofThisEvent', size : 0.000961 MB
Pool ID '17G4DynamicParticle', size : 0.00385 MB
Pool ID '7G4Track', size : 0.00769 MB
Pool ID '18G4TouchableHistory', size : 0.00192 MB
Pool ID '17G4DynamicParticle', size : 0.0125 MB
Pool ID '7G4Track', size : 0.024 MB
Pool ID '18G4TouchableHistory', size : 0.00288 MB
Pool ID '15G4CountedObjectIvE', size : 0.000961 MB
Pool ID '10G4Fragment', size : 0.00192 MB
Pool ID '17G4ReactionProduct', size : 0.00192 MB
Pool ID '10G4Fragment', size : 0.00673 MB
Pool ID '17G4ReactionProduct', size : 0.00673 MB
Number of memory pools allocated: 12 of which, static: 0
Dynamic pools deleted: 12 / Total memory freed: 0.041 MB
Dynamic pools deleted: 12 / Total memory freed: 0.096 MB
============================================================
G4Allocator objects are deleted.
UImanager deleted.
View File
View File
View File
View File
View File
View File
View File
View File
+8 -4
View File
@@ -207,8 +207,6 @@ void PhysicsList::AddPhysicsList(const G4String& name)
} else if (name == "FTFP_BERT_TRV") {
AddPhysicsList("emstandardGS");
G4EmParameters::Instance()->SetMscStepLimitType( fUseSafety );
SetBuilderList1(false);
fHadronPhys.push_back( new G4HadronPhysicsFTFP_BERT_TRV(verboseLevel));
@@ -252,6 +250,7 @@ void PhysicsList::AddPhysicsList(const G4String& name)
SetBuilderList0(true);
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BERT_HP(verboseLevel));
AddPhysicsList("RadioactiveDecay");
} else if (name == "QGSP_BIC") {
@@ -273,6 +272,7 @@ void PhysicsList::AddPhysicsList(const G4String& name)
SetBuilderList0(true);
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BIC_HP(verboseLevel));
AddPhysicsList("RadioactiveDecay");
} else if (name == "RadioactiveDecay") {
@@ -298,7 +298,9 @@ void PhysicsList::SetBuilderList0(G4bool flagHP)
}
fHadronPhys.push_back( new G4StoppingPhysics(verboseLevel));
fHadronPhys.push_back( new G4IonPhysics(verboseLevel));
fHadronPhys.push_back( new G4NeutronTrackingCut(verboseLevel));
if(!flagHP) {
fHadronPhys.push_back( new G4NeutronTrackingCut(verboseLevel));
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -313,7 +315,9 @@ void PhysicsList::SetBuilderList1(G4bool flagHP)
}
fHadronPhys.push_back( new G4StoppingPhysics(verboseLevel));
fHadronPhys.push_back( new G4IonPhysics(verboseLevel));
fHadronPhys.push_back( new G4NeutronTrackingCut(verboseLevel));
if(!flagHP) {
fHadronPhys.push_back( new G4NeutronTrackingCut(verboseLevel));
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
+3 -4
View File
@@ -65,14 +65,11 @@ void RunAction::BeginOfRunAction(const G4Run* aRun)
G4int id = aRun->GetRunID();
G4cout << "### Run " << id << " start" << G4endl;
fTimer->Stop();
G4cout << "RunAction::BeginOfRunAction: " << *fTimer << G4endl;
G4cout << "Initialisation time: " << *fTimer << G4endl;
delete fTimer;
fTimer = new G4Timer();
fTimer->Start();
G4NuclearLevelData::GetInstance();
fTimer->Stop();
G4cout << "NuclearData: " << *fTimer << G4endl;
(HistoManager::GetPointer())->BeginOfRun();
}
@@ -82,6 +79,8 @@ void RunAction::BeginOfRunAction(const G4Run* aRun)
void RunAction::EndOfRunAction(const G4Run*)
{
fTimer->Stop();
G4cout << "RunAction::EndOfRunAction: " << *fTimer << G4endl;
G4cout << "RunAction: End of run actions are started" << G4endl;
(HistoManager::GetPointer())->EndOfRun();
}
@@ -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(Hadr02)
#----------------------------------------------------------------------------
+11 -11
View File
@@ -34,12 +34,12 @@
//
// Author: V.Ivanchenko 20 June 2008
//
// Modified:
// Modified:
//
// -------------------------------------------------------------
//
//
#include "G4RunManager.hh"
#include "G4RunManagerFactory.hh"
#include "G4UImanager.hh"
#include "Randomize.hh"
#include "DetectorConstruction.hh"
@@ -65,8 +65,8 @@ int main(int argc,char** argv) {
//choose the Random engine
CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine());
//Construct the default run manager
G4RunManager * runManager = new G4RunManager();
//Construct a serial run manager
auto* runManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::SerialOnly);
//set mandatory initialization classes
runManager->SetUserInitialization(new DetectorConstruction());
@@ -83,12 +83,12 @@ int main(int argc,char** argv) {
char* path = std::getenv("PHYSLIST");
if (path) { physName = G4String(path); }
}
if ( physName == "UrQMD" ) {
phys = new UrQMD;
if ( physName == "UrQMD" ) {
phys = new UrQMD;
} else if ( physName == "CRMC_FTFP_BERT" ) {
phys = new CRMC_FTFP_BERT;
} else {
phys = factory.GetReferencePhysList( physName );
} else {
phys = factory.GetReferencePhysList( physName );
}
// Physics List is defined via environment variable PHYSLIST
@@ -112,7 +112,7 @@ int main(int argc,char** argv) {
visManager->Initialize();
//get the pointer to the User Interface manager
G4UImanager* UImanager = G4UImanager::GetUIpointer();
G4UImanager* UImanager = G4UImanager::GetUIpointer();
if (ui) {
//interactive mode
@@ -120,13 +120,13 @@ int main(int argc,char** argv) {
delete ui;
}
else {
//batch mode
//batch mode
G4String command = "/control/execute ";
G4String fileName = argv[1];
UImanager->ApplyCommand(command+fileName);
}
//job termination
//job termination
delete visManager;
delete runManager;
}
+7 -4
View File
@@ -14,6 +14,9 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
10-11-20 B. Morgan (exhadr02-V10-06-01)
- Migration to G4RunManagerFactory.
07-05-20 A. Ribon (exhadr02-V10-06-00)
- HadronPhysicsCRMC_FTFP_BERT , HadronPhysicsHIJING , HadronPhysicsUrQMD :
introduced the new class G4HyperonBuilder which is now needed when
@@ -26,7 +29,7 @@ track of all tags.
02-08-19 G. Folger (exhadr02-V10-05-02)
- remove use of G4DataQuestionaire, following cleanup in
physicslists, see phys-lists-V10-05-02 and phys-util-V10-04-02
12-06-19 A. Ribon (exhadr02-V10-05-01)
- G4CRMCModel : some improvements (e.g. considered the energy-per-nucleon,
instead of the whole projectile, in the case of nucleus projectile) and
@@ -43,8 +46,8 @@ track of all tags.
See the README file for more information.
09-08-18 A. Ribon (exhadr02-V10-04-02)
- UrQMDProtonBuilder, IonUrQMDPhysics, UrQMDPiKBuilder,
UrQMDAntiBarionBuilder, UrQMDNeutronBuilder,
- UrQMDProtonBuilder, IonUrQMDPhysics, UrQMDPiKBuilder,
UrQMDAntiBarionBuilder, UrQMDNeutronBuilder,
HIJINGProtonBuilder, IonHIJINGPhysics, HIJINGNeutronBuilder :
replaced the explicit high-energy limit of hadronic
physics with the one from G4HadronicParameters .
@@ -143,7 +146,7 @@ track of all tags.
17-05-11 G.Folger (exhadr02-V09-04-04)
- Allow to build without reference to DPMJET;
all .cc files linking to DPMJet are pretected by #ifdef G4_USE_DPMJET
21-04-11 V.Ivant (exhadr02-V09-04-03)
- Fixed problems of energy intervals for models for ions
allowing to work with different reference Physics Lists
+96 -49
View File
@@ -4,7 +4,7 @@
############################################
**************************************************************
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
@@ -30,10 +30,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...
@@ -89,7 +91,7 @@ Some /vis commands (optionally) take a string to specify colour.
ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: G4_Galactic density: 0.000 kg/m3 RadL: 204310101.835 pc Nucl.Int.Length: 113427275.267 pc
Material: G4_Galactic density: 0.000 mg/cm3 RadL: 204310098.490 pc Nucl.Int.Length: 113427284.261 pc
Imean: 21.800 eV temperature: 2.73 K pressure: 0.00 atm
---> Element: H (H) Z = 1.0 N = 1 A = 1.008 g/mole
@@ -99,6 +101,10 @@ Some /vis commands (optionally) take a string to specify colour.
### 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
/run/setCut 1 km
/gun/particle ion
@@ -131,10 +137,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
@@ -158,10 +165,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
@@ -189,9 +197,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
@@ -205,14 +213,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
@@ -221,9 +229,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
@@ -235,9 +243,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
@@ -248,9 +256,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
@@ -264,14 +272,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
@@ -280,9 +288,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
@@ -296,14 +304,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
@@ -312,9 +320,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
@@ -328,14 +336,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+
@@ -344,9 +352,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
@@ -361,14 +369,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
@@ -377,9 +385,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
@@ -394,14 +402,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+
@@ -410,9 +418,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
@@ -426,14 +434,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
@@ -442,9 +450,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
@@ -458,14 +466,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+
@@ -495,6 +503,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
@@ -573,6 +603,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
@@ -713,7 +756,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
---------------------------------------------------
@@ -725,7 +769,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
@@ -793,7 +838,6 @@ 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
=======================================================================
========= Table of registered couples ============================
@@ -832,30 +876,33 @@ See commands in /vis/modeling/trajectories/ for other options.
Run terminated.
Run Summary
Number of events processed : 100
User=0.180000s Real=0.210899s Sys=0.010000s
User=0.090000s Real=0.143179s Sys=0.000000s
RunAction: End of run action is starting
HistoManager: End of run actions are started
========================================================
Beam particle S32
Beam Energy(GeV) 200
Number of events 100
Average energy deposit (GeV) 6.353 RMS(GeV) 4.036
Average number of steps 54.7
Average number of gamma 0.97
Average energy deposit (GeV) 6.672 RMS(GeV) 4.317
Average number of steps 57.1
Average number of gamma 0.85
Average number of e- 0
Average number of e+ 0
Average number of neutrons 11.42
Average number of protons 12.73
Average number of neutrons 9.96
Average number of protons 11.06
Average number of antiprotons 0
Average number of pi+ & pi- 8.11
Average number of pi0 3.87
Average number of kaons 0.12
Average number of pi+ & pi- 6.76
Average number of pi0 3.44
Average number of kaons 0.1
Average number of muons 0
Average number of deuterons+tritons 2.76
Average number of He3+alpha 1.17
Average number of ions 1.11
Average number of deuterons+tritons 2.61
Average number of He3+alpha 0.98
Average number of ions 1.05
========================================================
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...
G4 kernel has come to Quit state.
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
+16 -6
View File
@@ -31,11 +31,7 @@
loss.
Several hadronic physics options are controlled by environment variables.
To trigger them, an envHadronic.csh has been added in this example.
One must select the options wished, and do
\verbatim
source envHadronic.csh (or sh)
\endverbatim
To select them, see Hadr03.cc
\section Hadr03_s3 AN EVENT : THE PRIMARY GENERATOR
@@ -144,5 +140,19 @@ Idle> type your commands
....
Idle> exit
\endverbatim
Macros provided in this example:
- Au196.mac: neutron (1 MeV) on Au195
- elastic.mac: proton (10 MeV) on Mo100. Elastic collisions alone
- fusion.mac: deuteron (400 keV) on tritium
- gamma.mac: gamma (10 MeV) on Au196
- inelastic.mac: proton (10 MaV) on Mo98. Inelastic interactions alone
- ion.mac: Li7 (140 MeV) on Be9
- nCapture.mac: neutron (1 eV) on Boron. Capture process alone
- nFission.mac: neutron (1 eV) on U235. Fission process alone
- neutron.mac: neutron (1 MeV) on Boron
Macros to be run interactively:
- debug.mac: proton (10 MeV) on Boron
- vis.mac: To activate visualization
*/
@@ -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(Hadr03)
#----------------------------------------------------------------------------
@@ -40,7 +43,7 @@ target_link_libraries(Hadr03 ${Geant4_LIBRARIES} )
# relies on these scripts being in the current working directory.
#
set(Hadr03_SCRIPTS
debug.mac envHadronic.csh envHadronic.sh elastic.mac gamma.mac hadr03.in inelastic.mac ion.mac nCapture.mac neutron.mac nFission.mac vis.mac
debug.mac envHadronic.csh envHadronic.sh elastic.mac gamma.mac hadr03.in inelastic.mac ion.mac nCapture.mac neutron.mac nFission.mac fusion.mac vis.mac
)
foreach(_script ${Hadr03_SCRIPTS})
@@ -50,6 +50,8 @@
#include "G4UIExecutive.hh"
#include "G4VisExecutive.hh"
#include "G4ParticleHPManager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
int main(int argc,char** argv) {
@@ -82,6 +84,22 @@ int main(int argc,char** argv) {
runManager->SetUserInitialization(new ActionInitialization(det));
// Replaced HP environmental variables with C++ calls
G4ParticleHPManager::GetInstance()->SetSkipMissingIsotopes( false );
G4ParticleHPManager::GetInstance()->SetDoNotAdjustFinalState( false );
G4ParticleHPManager::GetInstance()->SetUseOnlyPhotoEvaporation( false );
G4ParticleHPManager::GetInstance()->SetNeglectDoppler( false );
G4ParticleHPManager::GetInstance()->SetProduceFissionFragments( false );
G4ParticleHPManager::GetInstance()->SetUseWendtFissionModel( false );
G4ParticleHPManager::GetInstance()->SetUseNRESP71Model( false );
//G4ParticleHPManager::GetInstance()->SetSkipMissingIsotopes( true );
//G4ParticleHPManager::GetInstance()->SetDoNotAdjustFinalState( true );
//G4ParticleHPManager::GetInstance()->SetUseOnlyPhotoEvaporation( true );
//G4ParticleHPManager::GetInstance()->SetNeglectDoppler( true );
//G4ParticleHPManager::GetInstance()->SetProduceFissionFragments( true );
//G4ParticleHPManager::GetInstance()->SetUseWendtFissionModel( true );
//G4ParticleHPManager::GetInstance()->SetUseNRESP71Model( true );
//initialize visualization
G4VisManager* visManager = nullptr;
+10
View File
@@ -13,6 +13,16 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
22-10-20 mma (exhadr03-V10-06-04)
- add fusion.mac
- README : add macros descrption
05-08-20 A. Ribon (exhadr03-V10-06-03)
- envHadronic.(c)sh , nFission.mac , Hadr03.cc : removed deprecated
HP environmental variables and replaced them with corresponding
C++ calls in the main, and UI commands in the macros.
(The two shell-script files will be removed in G4 11.0.)
04-06-20 mma (exhadr03-V10-06-02)
- HistoManager, SteppingAction : add plot of e-
+16 -3
View File
@@ -33,9 +33,7 @@
loss.
Several hadronic physics options are controlled by environment variables.
To trigger them, an envHadronic.csh has been added in this example.
One must select the options wished, and do
source envHadronic.csh (or sh)
To select them, see Hadr03.cc.
3- AN EVENT : THE PRIMARY GENERATOR
@@ -130,3 +128,18 @@
Idle> type your commands
....
Idle> exit
Macros provided in this example:
- Au196.mac: neutron (1 MeV) on Au195
- elastic.mac: proton (10 MeV) on Mo100. Elastic collisions alone
- fusion.mac: deuteron (400 keV) on tritium
- gamma.mac: gamma (10 MeV) on Au196
- inelastic.mac: proton (10 MaV) on Mo98. Inelastic interactions alone
- ion.mac: Li7 (140 MeV) on Be9
- nCapture.mac: neutron (1 eV) on Boron. Capture process alone
- nFission.mac: neutron (1 eV) on U235. Fission process alone
- neutron.mac: neutron (1 MeV) on Boron
Macros to be run interactively:
- debug.mac: proton (10 MeV) on Boron
- vis.mac: To activate visualization
+1 -9
View File
@@ -1,3 +1,4 @@
# === FILE TO BE REMOVED IN G4 11.0 ===
#
# for neutronHP and particleHP
#
@@ -10,19 +11,10 @@ unsetenv G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS
unsetenv G4PHP_DO_NOT_ADJUST_FINAL_STATE
unsetenv G4PHP_NELECT_DOPPLER
#### setenv G4NEUTRONHP_SKIP_MISSING_ISOTOPES 1
#### setenv G4NEUTRONHP_DO_NOT_ADJUST_FINAL_STATE 1
#### setenv G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION 1
#### setenv G4NEUTRONHP_NELECT_DOPPLER 1
#### setenv G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS 1
#
#### setenv G4PHP_DO_NOT_ADJUST_FINAL_STATE 1
#### setenv G4PHP_NELECT_DOPPLER 1
#
# for Bertini cascade
#
unsetenv G4CASCADE_USE_PRECOMPOUND
#### setenv G4CASCADE_USE_PRECOMPOUND 1
env |grep G4NEUTRONHP
env |grep G4PHP
+1 -23
View File
@@ -1,3 +1,4 @@
# === FILE TO BE REMOVED IN G4 11.0 ===
#
# for neutronHP and particleHP
#
@@ -10,34 +11,11 @@ unset G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS
unset G4PHP_DO_NOT_ADJUST_FINAL_STATE
unset G4PHP_NELECT_DOPPLER
#### G4NEUTRONHP_SKIP_MISSING_ISOTOPES=1
#### export G4NEUTRONHP_SKIP_MISSING_ISOTOPES
#### G4NEUTRONHP_DO_NOT_ADJUST_FINAL_STATE=1
#### export G4NEUTRONHP_DO_NOT_ADJUST_FINAL_STATE
#### G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION=1
#### export G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION
#### G4NEUTRONHP_NELECT_DOPPLER=1
#### export G4NEUTRONHP_NELECT_DOPPLER
#### G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS=1
#### export G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS
#### G4PHP_DO_NOT_ADJUST_FINAL_STATE=1
#### export G4PHP_DO_NOT_ADJUST_FINAL_STATE
#### G4PHP_NELECT_DOPPLER=1
#### export G4PHP_NELECT_DOPPLER
#
# for Bertini cascade
#
unset G4CASCADE_USE_PRECOMPOUND
#### G4CASCADE_USE_PRECOMPOUND=1
#### export G4CASCADE_USE_PRECOMPOUND
env |grep G4NEUTRONHP
env |grep G4PHP
env |grep G4CASCADE
@@ -0,0 +1,18 @@
#
# Macro file for "Hadr03.cc"
#
/control/verbose 1
/run/verbose 1
#
/testhadr/det/setIsotopeMat tritium 1 3 0.1 g/cm3
/testhadr/det/setSize 100 m
#
/run/initialize
#
/process/inactivate hadElastic
#
/gun/particle deuteron
/gun/energy 400 keV
#
/run/printProgress 10000
/run/beamOn 100000
+51 -42
View File
@@ -4,7 +4,7 @@
############################################
**************************************************************
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
@@ -40,7 +40,7 @@ NeutronHP: /Inelastic file for Z = 6, A = 12 is not found and NeutronHP will use
### === Deexcitation model UAtomDeexcitation is activated for 1 region:
### === Auger cascade flag: 1
### === Ignore cuts flag: 0
### === Ignore cuts flag: 1
#
/process/list
Transportation, hadElastic, hadElastic, hadElastic
@@ -50,17 +50,16 @@ NeutronHP: /Inelastic file for Z = 6, A = 12 is not found and NeutronHP will use
hadElastic, hadElastic, hadElastic, hadElastic
hadElastic, hadElastic, hadElastic, hadElastic
hadElastic, hadElastic, hadElastic, hadElastic
hadElastic, hadElastic, hadElastic, hadElastic
hadElastic, neutronInelastic, nCapture, nFission
protonInelastic, pi+Inelastic, pi-Inelastic, kaon+Inelastic
kaon-Inelastic, kaon0LInelastic, kaon0SInelastic, lambdaInelastic
anti-lambdaInelastic, sigma-Inelastic,anti_sigma-Inelastic, sigma+Inelastic
anti_sigma+Inelastic, xi-Inelastic, anti_xi-Inelastic, xi0Inelastic
anti_xi0Inelastic, omega-Inelastic,anti_omega-Inelastic,anti_protonInelastic
anti_neutronInelastic,anti_deuteronInelastic,anti_tritonInelastic, anti_He3Inelastic
anti_alphaInelastic, ionElastic, dInelastic, tInelastic
He3Inelastic, alphaInelastic, ionInelastic, photonNuclear
RadioactiveDecayBase
hadElastic, hadElastic, hadElastic, neutronInelastic
nCapture, nFission, protonInelastic, pi+Inelastic
pi-Inelastic, kaon+Inelastic, kaon-Inelastic, kaon0LInelastic
kaon0SInelastic,anti_protonInelastic,anti_neutronInelastic,anti_deuteronInelastic
anti_tritonInelastic, anti_He3Inelastic,anti_alphaInelastic, lambdaInelastic
sigma+Inelastic, sigma-Inelastic, xi0Inelastic, xi-Inelastic
omega-Inelastic,anti_lambdaInelastic,anti_sigma+Inelastic,anti_sigma-Inelastic
anti_xi0Inelastic, anti_xi-Inelastic,anti_omega-Inelastic, ionElastic
dInelastic, tInelastic, He3Inelastic, alphaInelastic
ionInelastic, photonNuclear,RadioactiveDecayBase
#
/gun/particle proton
/gun/energy 10 MeV
@@ -79,13 +78,26 @@ Max 2J for sampling of angular correlations 10
Atomic de-excitation enabled 1
Auger electron emission enabled 1
Auger cascade enabled 1
Check EM cuts disabled for atomic de-excitation 0
Check EM cuts disabled for atomic de-excitation 1
Use Bearden atomic level energies 0
======================================================================
NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Capture/CrossSection/6_nat_Carbon
NeutronHP: /Elastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Elastic/CrossSection/6_nat_Carbon
NeutronHP: /Inelastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Inelastic/CrossSection/6_nat_Carbon
NeutronHP: /Elastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Elastic/CrossSection/6_nat_Carbon
=======================================================
====== ParticleHP Physics Parameters ========
=======================================================
UseOnlyPhotoEvaporation ? 0
SkipMissingIsotopes ? 0
NeglectDoppler ? 0
DoNotAdjustFinalState ? 0
ProduceFissionFragments ? 0
UseWendtFissionModel ? 0
UseNRESP71Model ? 0
=======================================================
@@@ G4ParticleHPInelastic instantiated for particle neutron data directory variable is G4NEUTRONHPDATA pointing to /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Inelastic
NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Capture/CrossSection/6_nat_Carbon
@@ -139,9 +151,7 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_He3Inelastic
Model: FTFP: 0 eV /n ---> 25 GeV/n
Model: FTFP: 12 GeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
---------------------------------------------------
@@ -153,9 +163,7 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_alphaInelastic
Model: FTFP: 0 eV /n ---> 25 GeV/n
Model: FTFP: 12 GeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
---------------------------------------------------
@@ -167,11 +175,21 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_deuteronInelastic
Model: FTFP: 0 eV /n ---> 25 GeV/n
Model: FTFP: 12 GeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
---------------------------------------------------
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: QGSP: 12 GeV ---> 100 TeV
Model: FTFP: 0 eV ---> 25 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for anti_neutron
@@ -181,9 +199,7 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_neutronInelastic
Model: FTFP: 0 eV ---> 25 GeV
Model: QGSP: 12 GeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
---------------------------------------------------
@@ -195,9 +211,7 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_protonInelastic
Model: FTFP: 0 eV ---> 25 GeV
Model: QGSP: 12 GeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
---------------------------------------------------
@@ -209,9 +223,7 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_tritonInelastic
Model: FTFP: 0 eV /n ---> 25 GeV/n
Model: FTFP: 12 GeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
---------------------------------------------------
@@ -268,10 +280,9 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: lambdaInelastic
Model: BertiniCascade: 0 eV ---> 6 GeV
Model: FTFP: 3 GeV ---> 25 GeV
Model: QGSP: 12 GeV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Model: FTFP: 3 GeV ---> 25 GeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -350,10 +361,9 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: sigma-Inelastic
Model: BertiniCascade: 0 eV ---> 6 GeV
Model: FTFP: 3 GeV ---> 25 GeV
Model: QGSP: 12 GeV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Model: FTFP: 3 GeV ---> 25 GeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -392,7 +402,6 @@ Store e- internal conversion data 1
Electron internal conversion ID 0
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
Upload data before 1st event for Z < 9
=======================================================================
========= Table of registered couples ============================
@@ -400,7 +409,7 @@ Upload data before 1st event for Z < 9
Index : 0 used in the geometry : Yes
Material : Molybdenum98
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm
Energy thresholds : gamma 42.9817 keV e- 1.43711 MeV e+ 1.35304 MeV proton 0 eV
Energy thresholds : gamma 42.9443 keV e- 1.44302 MeV e+ 1.36749 MeV proton 0 eV
Region(s) which use this couple :
DefaultRegionForTheWorld
@@ -425,7 +434,7 @@ Index : 0 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 10000
User=0.280000s Real=0.299211s Sys=0.010000s
User=0.100000s Real=0.117273s Sys=0.000000s
The run is 10000 proton of 10 MeV through 10 m of Molybdenum98 (density: 10.28 g/cm3 )
@@ -447,7 +456,7 @@ Run Summary
proton + Mo98 --> N gamma or e- + Tc99: 1 Q = 6.4945 MeV
proton + Mo98 --> N gamma or e- + Tc99[142.683]: 1 Q = 6.3518 MeV
proton + Mo98 --> N gamma or e- + neutron + Tc98: 1873 Q = -2.4771 MeV
proton + Mo98 --> N gamma or e- + proton + Mo98: 13 Q = -9.3784e-06 eV
proton + Mo98 --> N gamma or e- + proton + Mo98: 13 Q = -8.6404e-06 eV
proton + Mo98 --> proton + Mo98: 8112 Q = -5.6975e-06 eV
number of gamma or e- (ic): N = 1 --> 10
@@ -1,7 +1,5 @@
#
# Macro file for "Hadr03.cc"
# (can be run in batch, without graphic)
#
#
/control/verbose 2
/run/verbose 2
@@ -19,5 +17,4 @@
/gun/energy 140 MeV
#
/run/printProgress 10000
#
/run/beamOn 100000
@@ -1,8 +1,13 @@
#
# Macro file for "Hadr03.cc"
#
# NB. for neutronHP, do not forget to activate
# G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS
# NB. for neutronHP, do not forget to activate the fission fragment model
# via one, and only one, of the following two UI commands:
# - To use the default fission model:
#/process/had/particle_hp/produce_fission_fragment true
#
# - To use the alternative Wendt fission model:
#/process/had/particle_hp/use_Wendt_fission_model true
#
/control/verbose 2
/run/verbose 2
@@ -36,11 +36,7 @@
A command allows to select or not ThermalScattering model.
Several hadronic physics options are controlled by environment variables.
To trigger them, an envHadronic.csh has been added in this example.
One must select the options wished, and do
\verbatim
source envHadronic.csh (or sh)
\endverbatim
To select them, see Hadr04.cc
NB. class NeutronHPphysics can be reused with other physicsConstructors,
as neutron processes are deleted before to be re-created.
@@ -125,5 +121,12 @@ Idle> control/execute vis.mac
....
Idle> exit
\endverbatim
Macros provided in this example:
- graphite.mac: neutron (2 MeV) in graphite
- run01.mac: neutron (2 MeV) in Water_ts
Macros to be run interactively:
- debug.mac: neutron (2 MeV) in Water_ts
- vis.mac: To activate visualization
*/
@@ -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(Hadr04)
#----------------------------------------------------------------------------
@@ -49,6 +49,8 @@
#include "G4UIExecutive.hh"
#include "G4VisExecutive.hh"
#include "G4ParticleHPManager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
int main(int argc,char** argv) {
@@ -81,6 +83,22 @@ int main(int argc,char** argv) {
//initialize visualization
G4VisManager* visManager = nullptr;
// Replaced HP environmental variables with C++ calls
G4ParticleHPManager::GetInstance()->SetSkipMissingIsotopes( false );
G4ParticleHPManager::GetInstance()->SetDoNotAdjustFinalState( false );
G4ParticleHPManager::GetInstance()->SetUseOnlyPhotoEvaporation( false );
G4ParticleHPManager::GetInstance()->SetNeglectDoppler( false );
G4ParticleHPManager::GetInstance()->SetProduceFissionFragments( false );
G4ParticleHPManager::GetInstance()->SetUseWendtFissionModel( false );
G4ParticleHPManager::GetInstance()->SetUseNRESP71Model( false );
//G4ParticleHPManager::GetInstance()->SetSkipMissingIsotopes( true );
//G4ParticleHPManager::GetInstance()->SetDoNotAdjustFinalState( true );
//G4ParticleHPManager::GetInstance()->SetUseOnlyPhotoEvaporation( true );
//G4ParticleHPManager::GetInstance()->SetNeglectDoppler( true );
//G4ParticleHPManager::GetInstance()->SetProduceFissionFragments( true );
//G4ParticleHPManager::GetInstance()->SetUseWendtFissionModel( true );
//G4ParticleHPManager::GetInstance()->SetUseNRESP71Model( true );
//get the pointer to the User Interface manager
G4UImanager* UImanager = G4UImanager::GetUIpointer();
@@ -12,6 +12,14 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
22-10-20 mma (exhadr04-V10-06-01)
- README : add macros descrption
05-08-20 A. Ribon (exhadr04-V10-06-00)
- envHadronic.(c)sh , Hadr04.cc : removed deprecated HP environmental
variables and replaced them with corresponding C++ calls in the main.
(These two shell-script files will be removed in G4 11.0.)
25-06-18 mma (exhadr04-V10-04-04)
- envHadronic : add env variables for particleHP (PHP)
+9 -3
View File
@@ -39,9 +39,7 @@
A command allows to select or not ThermalScattering model.
Several hadronic physics options are controlled by environment variables.
To trigger them, an envHadronic.csh has been added in this example.
One must select the options wished, and do
source envHadronic.csh (or sh)
To select them, see Hadr04.cc
NB. class NeutronHPphysics can be reused with other physicsConstructors,
as neutron processes are deleted before to be re-created.
@@ -116,3 +114,11 @@
Idle> type your commands
....
Idle> exit
Macros provided in this example:
- graphite.mac: neutron (2 MeV) in graphite
- run01.mac: neutron (2 MeV) in Water_ts
Macros to be run interactively:
- debug.mac: neutron (2 MeV) in Water_ts
- vis.mac: To activate visualization
+1 -9
View File
@@ -1,3 +1,4 @@
# === FILE TO BE REMOVED IN G4 11.0 ===
#
# for neutronHP and particleHP
#
@@ -10,19 +11,10 @@ unsetenv G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS
unsetenv G4PHP_DO_NOT_ADJUST_FINAL_STATE
unsetenv G4PHP_NELECT_DOPPLER
#### setenv G4NEUTRONHP_SKIP_MISSING_ISOTOPES 1
#### setenv G4NEUTRONHP_DO_NOT_ADJUST_FINAL_STATE 1
#### setenv G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION 1
#### setenv G4NEUTRONHP_NELECT_DOPPLER 1
#### setenv G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS 1
#
#### setenv G4PHP_DO_NOT_ADJUST_FINAL_STATE 1
#### setenv G4PHP_NELECT_DOPPLER 1
#
# for Bertini cascade
#
unsetenv G4CASCADE_USE_PRECOMPOUND
#### setenv G4CASCADE_USE_PRECOMPOUND 1
env |grep G4NEUTRONHP
env |grep G4PHP
+1 -23
View File
@@ -1,3 +1,4 @@
# === FILE TO BE REMOVED IN G4 11.0 ===
#
# for neutronHP and particleHP
#
@@ -10,34 +11,11 @@ unset G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS
unset G4PHP_DO_NOT_ADJUST_FINAL_STATE
unset G4PHP_NELECT_DOPPLER
#### G4NEUTRONHP_SKIP_MISSING_ISOTOPES=1
#### export G4NEUTRONHP_SKIP_MISSING_ISOTOPES
#### G4NEUTRONHP_DO_NOT_ADJUST_FINAL_STATE=1
#### export G4NEUTRONHP_DO_NOT_ADJUST_FINAL_STATE
#### G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION=1
#### export G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION
#### G4NEUTRONHP_NELECT_DOPPLER=1
#### export G4NEUTRONHP_NELECT_DOPPLER
#### G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS=1
#### export G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS
#### G4PHP_DO_NOT_ADJUST_FINAL_STATE=1
#### export G4PHP_DO_NOT_ADJUST_FINAL_STATE
#### G4PHP_NELECT_DOPPLER=1
#### export G4PHP_NELECT_DOPPLER
#
# for Bertini cascade
#
unset G4CASCADE_USE_PRECOMPOUND
#### G4CASCADE_USE_PRECOMPOUND=1
#### export G4CASCADE_USE_PRECOMPOUND
env |grep G4NEUTRONHP
env |grep G4PHP
env |grep G4CASCADE
@@ -1,6 +1,5 @@
#
# Macro file for "Hadr04.cc"
# (can be run in batch, without graphic)
#
# neutron 2 MeV; all processes
#
@@ -14,8 +13,6 @@
#
/run/initialize
#
/process/list
#
/particle/createAllIsomer
/gun/particle neutron
/gun/energy 2 MeV
@@ -30,5 +27,4 @@
/analysis/h1/set 7 100 0. 500. meV #energy dist <1eV
#
/run/printProgress 200
#
/run/beamOn 2000
@@ -1,6 +1,5 @@
#
# Macro file for "Hadr04.cc"
# (can be run in batch, without graphic)
#
# neutron 2 MeV; all processes
#
@@ -12,11 +11,8 @@
#
/run/initialize
#
/process/list
#
/gun/particle neutron
/gun/energy 2 MeV
#
/run/printProgress 100
#
/run/beamOn 1000
+29 -23
View File
@@ -4,7 +4,7 @@
############################################
**************************************************************
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
@@ -48,15 +48,10 @@ NeutronHP: /Inelastic file for Z = 6, A = 12 is not found and NeutronHP will use
physicsList->CheckParticleList() start.
physicsList->setCut() start.
#
/process/list
Transportation, hadElastic, neutronInelastic, nCapture
nFission
#
/gun/particle neutron
/gun/energy 2 MeV
#
/run/printProgress 100
#
/run/beamOn 1000
NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Capture/CrossSection/6_nat_Carbon
NeutronHP: /Elastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Elastic/CrossSection/6_nat_Carbon
@@ -108,6 +103,19 @@ Element TS_C_of_Graphite, internal thermal scattering id 2
Cr_sctns: GheishaFissionXS: 0 meV ---> 100 TeV
================================================================
=======================================================
====== ParticleHP Physics Parameters ========
=======================================================
UseOnlyPhotoEvaporation ? 0
SkipMissingIsotopes ? 0
NeglectDoppler ? 0
DoNotAdjustFinalState ? 0
ProduceFissionFragments ? 0
UseWendtFissionModel ? 0
UseNRESP71Model ? 0
=======================================================
@@@ G4ParticleHPInelastic instantiated for particle neutron data directory variable is G4NEUTRONHPDATA pointing to /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Inelastic
NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Capture/CrossSection/6_nat_Carbon
@@ -129,7 +137,7 @@ Region <DefaultRegionForParallelWorld> -- -- is not associated to any world.
Index : 0 used in the geometry : Yes
Material : Water_ts
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm
Energy thresholds : gamma 2.92994 keV e- 349.731 keV e+ 342.774 keV proton 0 meV
Energy thresholds : gamma 2.94056 keV e- 351.877 keV e+ 342.545 keV proton 0 meV
Region(s) which use this couple :
DefaultRegionForTheWorld
@@ -159,31 +167,29 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics
Run terminated.
Run Summary
Number of events processed : 1000
User=233.840000s Real=236.697636s Sys=0.090000s
User=14.100000s Real=15.692123s Sys=0.000000s
The run is 1000 neutron of 2 MeV through 50 cm of Water_ts (density: 1 g/cm3 )
Process calls frequency :
hadElastic= 215165 nCapture= 999 neutronInelastic= 1
hadElastic= 212297 nCapture= 1000
Parcours of incident neutron:
nb of collisions E>1*eV= 16.626 E<1*eV= 199.54 total= 216.16
track length E>1*eV= 20.325 cm E<1*eV= 75.019 cm total= 95.344 cm
time of flight E>1*eV= 730.97 ns E<1*eV= 205.37 us total= 206.11 us
nb of collisions E>1*eV= 16.632 E<1*eV= 196.66 total= 213.3
track length E>1*eV= 20.575 cm E<1*eV= 73.951 cm total= 94.526 cm
time of flight E>1*eV= 757.71 ns E<1*eV= 202.38 us total= 203.14 us
List of generated particles:
C14: 1 Emean = 11.075 keV ( 11.075 keV --> 11.075 keV)
O16: 3020 Emean = 38.678 keV ( 0.12198 meV --> 446.24 keV)
O17: 1 Emean = 76.431 meV ( 76.431 meV --> 76.431 meV)
O18: 14 Emean = 7.4688 keV ( 24.186 meV --> 54.352 keV)
alpha: 1 Emean = 38.761 keV ( 38.761 keV --> 38.761 keV)
deuteron: 1000 Emean = 3.0191 keV ( 1.2807 keV --> 1.6989 MeV)
gamma: 1001 Emean = 2.2217 MeV ( 884.49 keV --> 2.2244 MeV)
proton: 22943 Emean = 82.049 keV ( 0.20372 meV --> 1.9976 MeV)
O16: 3011 Emean = 36.952 keV ( 1.3171 meV --> 446.18 keV)
O17: 1 Emean = 50.919 eV ( 50.919 eV --> 50.919 eV )
O18: 10 Emean = 9.8299 keV ( 68.413 meV --> 43.242 keV)
deuteron: 1001 Emean = 3.0171 keV ( 1.2773 keV --> 1.6989 MeV)
gamma: 1000 Emean = 2.2244 MeV ( 2.2243 MeV --> 2.2244 MeV)
proton: 22869 Emean = 82.557 keV ( 0.13519 meV --> 1.9968 MeV)
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 75733026, 627368862
Current couple of seeds = 1917736028, 4820262
----------------------------------------
G4 kernel has come to Quit state.
UserDetectorConstruction deleted.
@@ -203,12 +209,12 @@ Pool ID '7G4Event', size : 0.000961 MB
Pool ID '15G4PrimaryVertex', size : 0.000961 MB
Pool ID '17G4PrimaryParticle', size : 0.000961 MB
Pool ID '17G4DynamicParticle', size : 0.0125 MB
Pool ID '7G4Track', size : 0.025 MB
Pool ID '7G4Track', size : 0.024 MB
Pool ID '18G4TouchableHistory', size : 0.000961 MB
Pool ID '15G4CountedObjectIvE', size : 0.000961 MB
Pool ID '17G4ReactionProduct', size : 0.000961 MB
Number of memory pools allocated: 10 of which, static: 0
Dynamic pools deleted: 10 / Total memory freed: 0.048 MB
Dynamic pools deleted: 10 / Total memory freed: 0.047 MB
============================================================
G4Allocator objects are deleted.
UImanager deleted.
@@ -1,6 +1,5 @@
#
# Macro file for "Hadr04.cc"
# (can be run in batch, without graphic)
#
# neutron 2 MeV; all processes
#
@@ -29,5 +28,4 @@
/analysis/h1/set 7 100 0. 500. meV #energy dist <1eV
#
/run/printProgress 200
#
/run/beamOn 2000
+11 -6
View File
@@ -50,11 +50,7 @@
to be accurate (see param->SetStepFunction(1., 1*mm)).
Several hadronic physics options are controlled by environment variables.
To trigger them, an envHadronic.csh has been added in this example.
One must select the options wished, and do
\verbatim
source envHadronic.csh (or sh)
\endverbatim
To trigger them, see Hadr06.cc
\section Hadr06_s3 AN EVENT : THE PRIMARY GENERATOR
@@ -156,5 +152,14 @@ Idle> control/execute vis.mac
....
Idle> exit
\endverbatim
Macros provided in this example:
- graphite.mac: neutron,14 MeV, in graphite
- run1.mac: neutron,14 MeV, in Li7
- singleFission.mac: single fission in U235
Macros to be run interactively:
- debug.mac: water with thermal scattering
- fission.mac: U235
- vis.mac: To activate visualization
*/
@@ -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(Hadr06)
#----------------------------------------------------------------------------
@@ -43,10 +46,12 @@ set(Hadr04_SCRIPTS
debug.mac
envHadronic.csh
envHadronic.sh
fission.mac
fission.mac
graphite.mac
hadr06.in
run1.mac
plotHisto.C
run1.mac
singleFission.mac
vis.mac
)
@@ -49,6 +49,8 @@
#include "G4UIExecutive.hh"
#include "G4VisExecutive.hh"
#include "G4ParticleHPManager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
int main(int argc,char** argv) {
@@ -80,6 +82,22 @@ int main(int argc,char** argv) {
runManager->SetUserInitialization(phys);
runManager->SetUserInitialization(new ActionInitialization(det));
// Replaced HP environmental variables with C++ calls
G4ParticleHPManager::GetInstance()->SetSkipMissingIsotopes( false );
G4ParticleHPManager::GetInstance()->SetDoNotAdjustFinalState( false );
G4ParticleHPManager::GetInstance()->SetUseOnlyPhotoEvaporation( false );
G4ParticleHPManager::GetInstance()->SetNeglectDoppler( false );
G4ParticleHPManager::GetInstance()->SetProduceFissionFragments( false );
G4ParticleHPManager::GetInstance()->SetUseWendtFissionModel( false );
G4ParticleHPManager::GetInstance()->SetUseNRESP71Model( false );
//G4ParticleHPManager::GetInstance()->SetSkipMissingIsotopes( true );
//G4ParticleHPManager::GetInstance()->SetDoNotAdjustFinalState( true );
//G4ParticleHPManager::GetInstance()->SetUseOnlyPhotoEvaporation( true );
//G4ParticleHPManager::GetInstance()->SetNeglectDoppler( true );
//G4ParticleHPManager::GetInstance()->SetProduceFissionFragments( true );
//G4ParticleHPManager::GetInstance()->SetUseWendtFissionModel( true );
//G4ParticleHPManager::GetInstance()->SetUseNRESP71Model( true );
//initialize visualization
G4VisManager* visManager = nullptr;
+10
View File
@@ -13,6 +13,16 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
16-10-20 mma (exhadr06-V10-06-03)
- add macro singleFission.mac
- TrackingAction : add commented code for singleFission
05-08-20 A. Ribon (exhadr06-V10-06-02)
- Hadr06.cc , fission.mac , envHadronic.(c)sh : removed deprecated
HP environmental variables and replaced them with corresponding
C++ calls in the main, and UI commands in the macros.
(The two shell-script files will be removed in G4 11.0.)
10-06-20 mma (exhadr06-V10-06-01)
- HistoManager, TrackingAction : plot particle energy at creation
+12 -3
View File
@@ -53,9 +53,7 @@
to be accurate (see param->SetStepFunction(1., 1*mm)).
Several hadronic physics options are controlled by environment variables.
To trigger them, an envHadronic.csh has been added in this example.
One must select the options wished, and do
source envHadronic.csh (or sh)
To trigger them, see Hadr06.cc
3- AN EVENT : THE PRIMARY GENERATOR
@@ -144,3 +142,14 @@
Idle> type your commands
....
Idle> exit
Macros provided in this example:
- graphite.mac: neutron,14 MeV, in graphite
- run1.mac: neutron,14 MeV, in Li7
- singleFission.mac: single fission in U235
Macros to be run interactively:
- debug.mac: water with thermal scattering
- fission.mac: U235
- vis.mac: To activate visualization
+1 -9
View File
@@ -1,3 +1,4 @@
# === FILE TO BE REMOVED IN G4 11.0 ===
#
# for neutronHP and particleHP
#
@@ -10,19 +11,10 @@ unsetenv G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS
unsetenv G4PHP_DO_NOT_ADJUST_FINAL_STATE
unsetenv G4PHP_NELECT_DOPPLER
#### setenv G4NEUTRONHP_SKIP_MISSING_ISOTOPES 1
#### setenv G4NEUTRONHP_DO_NOT_ADJUST_FINAL_STATE 1
#### setenv G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION 1
#### setenv G4NEUTRONHP_NELECT_DOPPLER 1
#### setenv G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS 1
#
#### setenv G4PHP_DO_NOT_ADJUST_FINAL_STATE 1
#### setenv G4PHP_NELECT_DOPPLER 1
#
# for Bertini cascade
#
unsetenv G4CASCADE_USE_PRECOMPOUND
#### setenv G4CASCADE_USE_PRECOMPOUND 1
env |grep G4NEUTRONHP
env |grep G4PHP
+1 -23
View File
@@ -1,3 +1,4 @@
# === FILE TO BE REMOVED IN G4 11.0 ===
#
# for neutronHP and particleHP
#
@@ -10,34 +11,11 @@ unset G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS
unset G4PHP_DO_NOT_ADJUST_FINAL_STATE
unset G4PHP_NELECT_DOPPLER
#### G4NEUTRONHP_SKIP_MISSING_ISOTOPES=1
#### export G4NEUTRONHP_SKIP_MISSING_ISOTOPES
#### G4NEUTRONHP_DO_NOT_ADJUST_FINAL_STATE=1
#### export G4NEUTRONHP_DO_NOT_ADJUST_FINAL_STATE
#### G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION=1
#### export G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION
#### G4NEUTRONHP_NELECT_DOPPLER=1
#### export G4NEUTRONHP_NELECT_DOPPLER
#### G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS=1
#### export G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS
#### G4PHP_DO_NOT_ADJUST_FINAL_STATE=1
#### export G4PHP_DO_NOT_ADJUST_FINAL_STATE
#### G4PHP_NELECT_DOPPLER=1
#### export G4PHP_NELECT_DOPPLER
#
# for Bertini cascade
#
unset G4CASCADE_USE_PRECOMPOUND
#### G4CASCADE_USE_PRECOMPOUND=1
#### export G4CASCADE_USE_PRECOMPOUND
env |grep G4NEUTRONHP
env |grep G4PHP
env |grep G4CASCADE
@@ -1,8 +1,13 @@
#
# Macro file for "Hadr06.cc"
#
# NB. for neutronHP, do not forget to activate
# G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS
# NB. for neutronHP, do not forget to activate the fission fragment model
# via one, and only one, of the following two UI commands:
# - To use the default fission model:
#/process/had/particle_hp/produce_fission_fragment true
#
# - To use the alternative Wendt fission model:
#/process/had/particle_hp/use_Wendt_fission_model true
#
/control/verbose 2
/run/verbose 2
+88 -79
View File
@@ -4,7 +4,7 @@
############################################
**************************************************************
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
@@ -46,23 +46,23 @@ NeutronHP: /Inelastic file for Z = 6, A = 12 is not found and NeutronHP will use
hadElastic, hadElastic, hadElastic, hadElastic
hadElastic, hadElastic, hadElastic, hadElastic
hadElastic, hadElastic, hadElastic, hadElastic
hadElastic, hadElastic, hadElastic, hadElastic
hadElastic, neutronInelastic, nCapture, nFission
protonInelastic, pi+Inelastic, pi-Inelastic, kaon+Inelastic
kaon-Inelastic, kaon0LInelastic, kaon0SInelastic, lambdaInelastic
anti-lambdaInelastic, sigma-Inelastic,anti_sigma-Inelastic, sigma+Inelastic
anti_sigma+Inelastic, xi-Inelastic, anti_xi-Inelastic, xi0Inelastic
anti_xi0Inelastic, omega-Inelastic,anti_omega-Inelastic,anti_protonInelastic
anti_neutronInelastic,anti_deuteronInelastic,anti_tritonInelastic, anti_He3Inelastic
anti_alphaInelastic, ionElastic, dInelastic, tInelastic
He3Inelastic, alphaInelastic, ionInelastic,hFritiofCaptureAtRest
hBertiniCaptureAtRest,muMinusCaptureAtRest, photonNuclear, msc
hadElastic, hadElastic, hadElastic, neutronInelastic
nCapture, nFission, protonInelastic, pi+Inelastic
pi-Inelastic, kaon+Inelastic, kaon-Inelastic, kaon0LInelastic
kaon0SInelastic,anti_protonInelastic,anti_neutronInelastic,anti_deuteronInelastic
anti_tritonInelastic, anti_He3Inelastic,anti_alphaInelastic, lambdaInelastic
sigma+Inelastic, sigma-Inelastic, xi0Inelastic, xi-Inelastic
omega-Inelastic,anti_lambdaInelastic,anti_sigma+Inelastic,anti_sigma-Inelastic
anti_xi0Inelastic, anti_xi-Inelastic,anti_omega-Inelastic, ionElastic
dInelastic, tInelastic, He3Inelastic, alphaInelastic
ionInelastic,hFritiofCaptureAtRest,hBertiniCaptureAtRest,muMinusCaptureAtRest
photonNuclear, msc, hIoni, msc
hIoni, msc, hIoni, msc
hIoni, msc, hIoni, msc
hIoni, msc, hIoni, msc
hIoni, msc, hIoni, msc
ionIoni, nuclearStopping, msc, ionIoni
nuclearStopping, msc, ionIoni, nuclearStopping
hIoni, msc, ionIoni, nuclearStopping
msc, ionIoni, nuclearStopping, msc
ionIoni, nuclearStopping, msc, hIoni
msc, hIoni, msc, hIoni
msc, hIoni, msc, hIoni
msc, hIoni, msc, hIoni
@@ -71,13 +71,13 @@ hBertiniCaptureAtRest,muMinusCaptureAtRest, photonNuclear, m
msc, hIoni, msc, hIoni
msc, hIoni, msc, hIoni
msc, hIoni, msc, hIoni
msc, hIoni, msc, eIoni
eBrem, annihil, msc, eIoni
eBrem, phot, compt, conv
msc, hIoni, msc, hIoni
msc, eIoni, eBrem, annihil
msc, eIoni, eBrem, phot
compt, conv, msc, hIoni
msc, hIoni, msc, hIoni
msc, muIoni, muBrems, muPairProd
msc, muIoni, muBrems, muPairProd
msc, hIoni, msc, muIoni
muBrems, muPairProd, msc, muIoni
muBrems, muPairProd, msc, hIoni
msc, hIoni, msc, hIoni
msc, hIoni, msc, hIoni
msc, hIoni, msc, hIoni
@@ -86,8 +86,7 @@ hBertiniCaptureAtRest,muMinusCaptureAtRest, photonNuclear, m
msc, hIoni, msc, hIoni
msc, hIoni, msc, hIoni
msc, hIoni, msc, hIoni
msc, hIoni, Decay,RadioactiveDecayBase
Decay,RadioactiveDecayBase
#
/gun/particle neutron
/gun/energy 14.1 MeV
@@ -106,13 +105,26 @@ Max 2J for sampling of angular correlations 10
Atomic de-excitation enabled 1
Auger electron emission enabled 1
Auger cascade enabled 1
Check EM cuts disabled for atomic de-excitation 0
Check EM cuts disabled for atomic de-excitation 1
Use Bearden atomic level energies 0
======================================================================
NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Capture/CrossSection/6_nat_Carbon
NeutronHP: /Elastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Elastic/CrossSection/6_nat_Carbon
NeutronHP: /Inelastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Inelastic/CrossSection/6_nat_Carbon
NeutronHP: /Elastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Elastic/CrossSection/6_nat_Carbon
=======================================================
====== ParticleHP Physics Parameters ========
=======================================================
UseOnlyPhotoEvaporation ? 0
SkipMissingIsotopes ? 0
NeglectDoppler ? 0
DoNotAdjustFinalState ? 0
ProduceFissionFragments ? 0
UseWendtFissionModel ? 0
UseNRESP71Model ? 0
=======================================================
@@@ G4ParticleHPInelastic instantiated for particle neutron data directory variable is G4NEUTRONHPDATA pointing to /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Inelastic
NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Capture/CrossSection/6_nat_Carbon
@@ -166,9 +178,7 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
Process: anti_He3Inelastic
Model: FTFP: 0 meV/n ---> 25 GeV/n
Model: FTFP: 12 GeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
Model: FTFP: 0 meV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
@@ -182,9 +192,7 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
Process: anti_alphaInelastic
Model: FTFP: 0 meV/n ---> 25 GeV/n
Model: FTFP: 12 GeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
Model: FTFP: 0 meV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
@@ -198,13 +206,25 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
Process: anti_deuteronInelastic
Model: FTFP: 0 meV/n ---> 25 GeV/n
Model: FTFP: 12 GeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
Model: FTFP: 0 meV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
Hadronic Processes for anti_lambda
Process: hadElastic
Model: hElasticLHEP: 0 meV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 meV ---> 100 TeV
Process: anti_lambdaInelastic
Model: QGSP: 12 GeV ---> 100 TeV
Model: FTFP: 0 meV ---> 25 GeV
Cr_sctns: Glauber-Gribov: 0 meV ---> 100 TeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
Hadronic Processes for anti_neutron
@@ -214,9 +234,7 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
Process: anti_neutronInelastic
Model: FTFP: 0 meV ---> 25 GeV
Model: QGSP: 12 GeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
Model: FTFP: 0 meV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
@@ -230,9 +248,7 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
Process: anti_protonInelastic
Model: FTFP: 0 meV ---> 25 GeV
Model: QGSP: 12 GeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
Model: FTFP: 0 meV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
@@ -246,9 +262,7 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
Process: anti_tritonInelastic
Model: FTFP: 0 meV/n ---> 25 GeV/n
Model: FTFP: 12 GeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
Model: FTFP: 0 meV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
@@ -309,10 +323,9 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Cr_sctns: Glauber-Gribov: 0 meV ---> 100 TeV
Process: lambdaInelastic
Model: BertiniCascade: 0 meV ---> 6 GeV
Model: FTFP: 3 GeV ---> 25 GeV
Model: QGSP: 12 GeV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 meV ---> 100 TeV
Model: FTFP: 3 GeV ---> 25 GeV
Model: BertiniCascade: 0 meV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 meV ---> 100 TeV
---------------------------------------------------
@@ -398,10 +411,9 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Cr_sctns: Glauber-Gribov: 0 meV ---> 100 TeV
Process: sigma-Inelastic
Model: BertiniCascade: 0 meV ---> 6 GeV
Model: FTFP: 3 GeV ---> 25 GeV
Model: QGSP: 12 GeV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 meV ---> 100 TeV
Model: FTFP: 3 GeV ---> 25 GeV
Model: BertiniCascade: 0 meV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 meV ---> 100 TeV
Process: hBertiniCaptureAtRest
@@ -442,7 +454,6 @@ Store e- internal conversion data 1
Electron internal conversion ID 0
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
Upload data before 1st event for Z < 9
=======================================================================
========= Table of registered couples ============================
@@ -482,51 +493,49 @@ Index : 1 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 10000
User=54.000000s Real=54.565888s Sys=0.030000s
User=7.670000s Real=7.998703s Sys=0.000000s
The run is 10000 neutron of 14.1 MeV through 30 cm of Li7 (density: 1.85 g/cm3 )
Process calls frequency :
Decay= 1 RadioactiveDecayBase= 198252 Transportation= 72882
annihil= 203 compt= 402743 conv= 203
dInelastic= 1 eIoni= 412404 hIoni= 675
hadElastic= 181910 ionInelastic= 2 ionIoni= 198574
msc= 221 nCapture= 31 neutronInelastic= 16416
phot= 20816
RadioactiveDecayBase= 195865 Transportation= 73025 annihil= 205
compt= 400940 conv= 206 dInelastic= 3
eIoni= 410692 hIoni= 672 hadElastic= 179590
ionIoni= 196197 msc= 139 nCapture= 25
neutronInelastic= 16399 phot= 20719
List of generated particles:
Be8: 1 Emean = 3.4584 MeV ( 3.4584 MeV --> 3.4584 MeV)
Be8[3030.000]: 31 Emean = 7.0394 keV ( 203.12 eV --> 11.806 keV)
He6: 152 Emean = 1.2903 MeV ( 917.53 keV --> 1.3378 MeV)
Li6: 708 Emean = 1.571 MeV ( 70.683 eV --> 9.2585 MeV)
Li7: 197330 Emean = 330.52 keV ( 0.83469 meV --> 6.221 MeV)
Li8: 31 Emean = 524.43 eV ( 99.228 eV --> 5.5222 keV)
alpha: 354 Emean = 1.26 MeV ( 93.121 keV --> 4.2344 MeV)
anti_nu_e: 183 Emean = 2.917 MeV ( 491.85 keV --> 12.106 MeV)
deuteron: 441 Emean = 3.5402 MeV ( 124.39 keV --> 23.77 MeV)
e+: 203 Emean = 1.4242 MeV ( 75.805 keV --> 4.0804 MeV)
e-: 412369 Emean = 87.508 keV ( 100 eV --> 9.9872 MeV)
gamma: 46448 Emean = 1.2054 MeV ( 1.0009 keV --> 5.8834 MeV)
neutron: 17110 Emean = 3.3564 MeV ( 4.8097 keV --> 13.639 MeV)
triton: 1 Emean = 3.216 MeV ( 3.216 MeV --> 3.216 MeV)
Be8[3030.000]: 25 Emean = 6.5066 keV ( 576 eV --> 12.036 keV)
He6: 130 Emean = 1.2825 MeV ( 899.67 keV --> 1.338 MeV)
Li6: 707 Emean = 1.6492 MeV ( 6.5416 eV --> 8.294 MeV)
Li7: 194979 Emean = 332.68 keV ( 0.69805 meV --> 6.2218 MeV)
Li8: 25 Emean = 1.539 keV ( 98.565 eV --> 15.763 keV)
alpha: 357 Emean = 1.2613 MeV ( 82.823 keV --> 7.8307 MeV)
anti_nu_e: 155 Emean = 2.7609 MeV ( 355.17 keV --> 12.413 MeV)
deuteron: 433 Emean = 3.7046 MeV ( 163.79 keV --> 21.188 MeV)
e+: 206 Emean = 1.4766 MeV ( 81.659 keV --> 3.9235 MeV)
e-: 410656 Emean = 87.612 keV ( 100 eV --> 10.101 MeV)
gamma: 46386 Emean = 1.209 MeV ( 1.0003 keV --> 5.8821 MeV)
neutron: 17151 Emean = 3.3665 MeV ( 2.7041 keV --> 13.636 MeV)
Mean energy deposit per event = 10.468 MeV rms = 3.4678 MeV
Mean energy flow per event = 3.099 MeV rms = 3.2613 MeV
Mean energy deposit per event = 10.43 MeV rms = 3.4782 MeV
Mean energy flow per event = 3.1161 MeV rms = 3.2596 MeV
List of particles emerging from the absorber :
anti_nu_e: 183 Emean = 2.917 MeV ( 491.85 keV --> 12.106 MeV) Eflow/event = 53.381 keV
e+: 1 Emean = 563.32 keV ( 563.32 keV --> 563.32 keV) Eflow/event = 56.332 eV
e-: 154 Emean = 1.4173 MeV ( 40.303 keV --> 4.9832 MeV) Eflow/event = 21.826 keV
gamma: 25429 Emean = 778.78 keV ( 1.5781 keV --> 5.8811 MeV) Eflow/event = 1.9804 MeV
neutron: 10663 Emean = 978.49 keV ( 1.9386 meV --> 14.1 MeV) Eflow/event = 1.0434 MeV
Li7: 1 Emean = 1.8227 MeV ( 1.8227 MeV --> 1.8227 MeV) Eflow/event = 182.27 eV
anti_nu_e: 155 Emean = 2.7609 MeV ( 355.17 keV --> 12.413 MeV) Eflow/event = 42.794 keV
e+: 1 Emean = 2.5051 MeV ( 2.5051 MeV --> 2.5051 MeV) Eflow/event = 250.51 eV
e-: 160 Emean = 1.3423 MeV ( 6.0695 keV --> 4.9835 MeV) Eflow/event = 21.477 keV
gamma: 25461 Emean = 783.03 keV ( 3.4138 keV --> 5.8811 MeV) Eflow/event = 1.9937 MeV
neutron: 10727 Emean = 986.05 keV ( 2.7097 meV --> 14.1 MeV) Eflow/event = 1.0577 MeV
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1555750344, 1318550293
Current couple of seeds = 186864717, 1230361718
----------------------------------------
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.062 MB
Dynamic pools deleted: 11 / Total memory freed: 0.07 MB
============================================================
RunManagerKernel is deleted. Good bye :)
@@ -0,0 +1,28 @@
#
# Macro file for "Hadr06.cc"
#
# To "force" primary fission only, kill secondary neutrons:
# in TrackingAction.cc,uncomment lines below "to force only 1 fission ..."
# ( ~ end of PreUserTrackingAction() )
# Also, to limit the printout, do not fill ParticleCount()
# ( ~ begin of PreUserTrackingAction() )
#
/run/verbose 2
#
/testhadr/det/setIsotopeMat U235 92 235 19.05 g/cm3
/testhadr/det/setRadius 10 cm
#
/run/initialize
#
/process/inactivate nCapture
/process/had/particle_hp/produce_fission_fragment true
#
/gun/particle neutron
/gun/energy 0.025 eV
#
/analysis/setFileName singleFission
/analysis/h1/set 1 100 100. 300. MeV #Edep
/analysis/h1/set 3 100 0. 20. MeV #Eflow
#
/run/printProgress 10000
/run/beamOn 100000
@@ -61,28 +61,35 @@ void TrackingAction::PreUserTrackingAction(const G4Track* track)
Run* run = static_cast<Run*>(
G4RunManager::GetRunManager()->GetNonConstCurrentRun());
run->ParticleCount(name,energy);
// histograms: energy at creation
//
G4AnalysisManager* analysis = G4AnalysisManager::Instance();
// histograms: energy at creation
//
G4AnalysisManager* analysis = G4AnalysisManager::Instance();
G4int ih = 0;
const G4ParticleDefinition* particle = track->GetParticleDefinition();
G4String type = particle->GetParticleType();
G4double charge = particle->GetPDGCharge();
if (charge > 3.) ih = 10;
else if (particle == G4Gamma::Gamma()) ih = 4;
else if (particle == G4Electron::Electron()) ih = 5;
else if (particle == G4Positron::Positron()) ih = 5;
else if (particle == G4Neutron::Neutron()) ih = 6;
else if (particle == G4Proton::Proton()) ih = 7;
else if (particle == G4Deuteron::Deuteron()) ih = 8;
else if (particle == G4Alpha::Alpha()) ih = 9;
else if (type == "nucleus") ih = 10;
else if (type == "baryon") ih = 11;
else if (type == "meson") ih = 12;
else if (type == "lepton") ih = 13;
if (ih > 0) analysis->FillH1(ih,energy);
G4int ih = 0;
const G4ParticleDefinition* particle = track->GetParticleDefinition();
G4String type = particle->GetParticleType();
G4double charge = particle->GetPDGCharge();
if (charge > 3.) ih = 10;
else if (particle == G4Gamma::Gamma()) ih = 4;
else if (particle == G4Electron::Electron()) ih = 5;
else if (particle == G4Positron::Positron()) ih = 5;
else if (particle == G4Neutron::Neutron()) ih = 6;
else if (particle == G4Proton::Proton()) ih = 7;
else if (particle == G4Deuteron::Deuteron()) ih = 8;
else if (particle == G4Alpha::Alpha()) ih = 9;
else if (type == "nucleus") ih = 10;
else if (type == "baryon") ih = 11;
else if (type == "meson") ih = 12;
else if (type == "lepton") ih = 13;
if (ih > 0) analysis->FillH1(ih,energy);
//to force only 1 fission : kill secondary neutrons
///if (particle == G4Neutron::Neutron()) {
/// fEventAction->AddEdep(energy);
/// G4Track* aTrack = (G4Track*)track;
/// aTrack->SetTrackStatus(fStopAndKill);
///}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+11 -6
View File
@@ -56,11 +56,7 @@
to be accurate (see param->SetStepFunction(1., 1*mm)).
Several hadronic physics options are controlled by environment variables.
To trigger them, an envHadronic.csh has been added in this example.
One must select the options wished, and do
\verbatim
source envHadronic.csh (or sh)
\endverbatim
To select them, see Hadr07.cc
\section Hadr07_s3 AN EVENT : THE PRIMARY GENERATOR
@@ -164,5 +160,14 @@
....
Idle> exit
\endverbatim
Macros provided in this example:
- Na22.mac: multilayers. Radioactive source
- alpha.mac: alpha (400 MeV). Limit the step size from histo 10
- ionC12.mac: C12 (2.4 GeV). Limit the step size from histo 10
- water.mac: e- (4 MeV) in Water
Macros to be run interactively:
- proton.mac: proton (1 GeV). Multilayers
- vis.mac: To activate visualization
*/
@@ -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(Hadr07)
#----------------------------------------------------------------------------
@@ -49,6 +49,8 @@
#include "G4UIExecutive.hh"
#include "G4VisExecutive.hh"
#include "G4ParticleHPManager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
int main(int argc,char** argv) {
@@ -80,6 +82,22 @@ int main(int argc,char** argv) {
runManager->SetUserInitialization(phys);
runManager->SetUserInitialization(new ActionInitialization(det));
// Replaced HP environmental variables with C++ calls
G4ParticleHPManager::GetInstance()->SetSkipMissingIsotopes( false );
G4ParticleHPManager::GetInstance()->SetDoNotAdjustFinalState( false );
G4ParticleHPManager::GetInstance()->SetUseOnlyPhotoEvaporation( false );
G4ParticleHPManager::GetInstance()->SetNeglectDoppler( false );
G4ParticleHPManager::GetInstance()->SetProduceFissionFragments( false );
G4ParticleHPManager::GetInstance()->SetUseWendtFissionModel( false );
G4ParticleHPManager::GetInstance()->SetUseNRESP71Model( false );
//G4ParticleHPManager::GetInstance()->SetSkipMissingIsotopes( true );
//G4ParticleHPManager::GetInstance()->SetDoNotAdjustFinalState( true );
//G4ParticleHPManager::GetInstance()->SetUseOnlyPhotoEvaporation( true );
//G4ParticleHPManager::GetInstance()->SetNeglectDoppler( true );
//G4ParticleHPManager::GetInstance()->SetProduceFissionFragments( true );
//G4ParticleHPManager::GetInstance()->SetUseWendtFissionModel( true );
//G4ParticleHPManager::GetInstance()->SetUseNRESP71Model( true );
//initialize visualization
G4VisManager* visManager = nullptr;
@@ -14,6 +14,14 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
25-10-20 mma (exhadr07-V10-06-02)
- README : add macros descrption
05-08-20 A. Ribon (exhadr07-V10-06-01)
- Hadr07.cc , envHadronic.(c)sh : removed deprecated HP environmental
variables and replaced them with corresponding C++ calls in the main.
(These two shell-script files will be removed in G4 11.0.)
13-05-20 mma (exhadr07-V10-06-00)
- GammaNuclearPhysics : add G4LowEGammaNuclearModel
+2 -2
View File
@@ -1,7 +1,8 @@
#
# Macro file for "Hadr07.cc"
#
/control/verbose 2
/run/verbose 2
/run/verbose 1
#
/testhadr/det/setNbOfAbsor 4
/testhadr/det/setAbsor 1 G4_PLEXIGLASS 5 mm
@@ -23,5 +24,4 @@
/analysis/h1/setAscii 4
#
/run/printProgress 10000
#
/run/beamOn 100000
+11 -3
View File
@@ -59,9 +59,7 @@
to be accurate (see param->SetStepFunction(1., 1*mm)).
Several hadronic physics options are controlled by environment variables.
To trigger them, an envHadronic.csh has been added in this example.
One must select the options wished, and do
source envHadronic.csh (or sh)
To select them, see Hadr07.cc
3- AN EVENT : THE PRIMARY GENERATOR
@@ -154,3 +152,13 @@
Idle> type your commands
....
Idle> exit
Macros provided in this example:
- Na22.mac: multilayers. Radioactive source
- alpha.mac: alpha (400 MeV). Limit the step size from histo 10
- ionC12.mac: C12 (2.4 GeV). Limit the step size from histo 10
- water.mac: e- (4 MeV) in Water
Macros to be run interactively:
- proton.mac: proton (1 GeV). Multilayers
- vis.mac: To activate visualization
+3 -1
View File
@@ -1,8 +1,10 @@
#
# Macro file for "Hadr07.cc"
#
# limit the step size from histo 10
#
/control/verbose 2
/run/verbose 2
/run/verbose 1
#
/testhadr/det/setNbOfAbsor 1
/testhadr/det/setAbsor 1 Water 10 cm
+1 -9
View File
@@ -1,3 +1,4 @@
# === FILE TO BE REMOVED IN G4 11.0 ===
#
# for neutronHP and particleHP
#
@@ -10,19 +11,10 @@ unsetenv G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS
unsetenv G4PHP_DO_NOT_ADJUST_FINAL_STATE
unsetenv G4PHP_NELECT_DOPPLER
#### setenv G4NEUTRONHP_SKIP_MISSING_ISOTOPES 1
#### setenv G4NEUTRONHP_DO_NOT_ADJUST_FINAL_STATE 1
#### setenv G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION 1
#### setenv G4NEUTRONHP_NELECT_DOPPLER 1
#### setenv G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS 1
#
#### setenv G4PHP_DO_NOT_ADJUST_FINAL_STATE 1
#### setenv G4PHP_NELECT_DOPPLER 1
#
# for Bertini cascade
#
unsetenv G4CASCADE_USE_PRECOMPOUND
#### setenv G4CASCADE_USE_PRECOMPOUND 1
env |grep G4NEUTRONHP
env |grep G4PHP
+1 -23
View File
@@ -1,3 +1,4 @@
# === FILE TO BE REMOVED IN G4 11.0 ===
#
# for neutronHP and particleHP
#
@@ -10,34 +11,11 @@ unset G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS
unset G4PHP_DO_NOT_ADJUST_FINAL_STATE
unset G4PHP_NELECT_DOPPLER
#### G4NEUTRONHP_SKIP_MISSING_ISOTOPES=1
#### export G4NEUTRONHP_SKIP_MISSING_ISOTOPES
#### G4NEUTRONHP_DO_NOT_ADJUST_FINAL_STATE=1
#### export G4NEUTRONHP_DO_NOT_ADJUST_FINAL_STATE
#### G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION=1
#### export G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION
#### G4NEUTRONHP_NELECT_DOPPLER=1
#### export G4NEUTRONHP_NELECT_DOPPLER
#### G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS=1
#### export G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS
#### G4PHP_DO_NOT_ADJUST_FINAL_STATE=1
#### export G4PHP_DO_NOT_ADJUST_FINAL_STATE
#### G4PHP_NELECT_DOPPLER=1
#### export G4PHP_NELECT_DOPPLER
#
# for Bertini cascade
#
unset G4CASCADE_USE_PRECOMPOUND
#### G4CASCADE_USE_PRECOMPOUND=1
#### export G4CASCADE_USE_PRECOMPOUND
env |grep G4NEUTRONHP
env |grep G4PHP
env |grep G4CASCADE
@@ -12,12 +12,9 @@
#
/run/initialize
#
/process/list
#
/testhadr/gun/setDefault
/gun/particle neutron
/gun/energy 14.1 MeV
#
/run/printProgress 1000
#
/run/beamOn 10000
+81 -85
View File
@@ -4,7 +4,7 @@
############################################
**************************************************************
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
@@ -31,7 +31,7 @@
-------------------------------------------------------------
FTFP_BERT_HP : new threshold between BERT and FTFP is over the interval
hInelastic FTFP_BERT_HP : threshold between BERT and FTFP is over the interval
for pions : 3 to 6 GeV
for kaons : 3 to 6 GeV
for proton : 3 to 6 GeV
@@ -44,62 +44,11 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
NeutronHP: /Elastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Elastic/CrossSection/6_nat_Carbon
NeutronHP: /Inelastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Inelastic/CrossSection/6_nat_Carbon
#
/process/list
Transportation, hadElastic, hadElastic, hadElastic
hadElastic, hadElastic, hadElastic, hadElastic
hadElastic, hadElastic, hadElastic, hadElastic
hadElastic, hadElastic, hadElastic, hadElastic
hadElastic, hadElastic, hadElastic, hadElastic
hadElastic, hadElastic, hadElastic, hadElastic
hadElastic, hadElastic, hadElastic, hadElastic
hadElastic, hadElastic, hadElastic, hadElastic
hadElastic, neutronInelastic, nCapture, nFission
protonInelastic, pi+Inelastic, pi-Inelastic, kaon+Inelastic
kaon-Inelastic, kaon0LInelastic, kaon0SInelastic, lambdaInelastic
anti-lambdaInelastic, sigma-Inelastic,anti_sigma-Inelastic, sigma+Inelastic
anti_sigma+Inelastic, xi-Inelastic, anti_xi-Inelastic, xi0Inelastic
anti_xi0Inelastic, omega-Inelastic,anti_omega-Inelastic,anti_protonInelastic
anti_neutronInelastic,anti_deuteronInelastic,anti_tritonInelastic, anti_He3Inelastic
anti_alphaInelastic, ionElastic, dInelastic, tInelastic
He3Inelastic, alphaInelastic, ionInelastic, photonNuclear
msc, hIoni, msc, hIoni
msc, hIoni, msc, hIoni
msc, hIoni, msc, hIoni
msc, hIoni, msc, hIoni
msc, ionIoni, nuclearStopping, msc
ionIoni, nuclearStopping, msc, ionIoni
nuclearStopping, msc, hIoni, msc
hIoni, msc, hIoni, msc
hIoni, msc, hIoni, msc
hIoni, msc, hIoni, msc
hIoni, msc, hIoni, msc
hIoni, msc, hIoni, msc
hIoni, msc, hIoni, msc
hIoni, msc, hIoni, msc
hIoni, msc, hIoni, msc
hIoni, msc, eIoni, eBrem
annihil, msc, eIoni, eBrem
phot, compt, conv, msc
hIoni, msc, hIoni, msc
hIoni, msc, muIoni, muBrems
muPairProd, msc, muIoni, muBrems
muPairProd, msc, hIoni, msc
hIoni, msc, hIoni, msc
hIoni, msc, hIoni, msc
hIoni, msc, hIoni, msc
hIoni, msc, hIoni, msc
hIoni, msc, hIoni, msc
hIoni, msc, hIoni, msc
hIoni, msc, hIoni, msc
hIoni, msc, hIoni, Decay
RadioactiveDecayBase, UserMaxStep
#
/testhadr/gun/setDefault
/gun/particle neutron
/gun/energy 14.1 MeV
#
/run/printProgress 1000
#
/run/beamOn 10000
======================================================================
====== Radioactive Decay Physics Parameters =======
@@ -112,19 +61,54 @@ Max 2J for sampling of angular correlations 10
Atomic de-excitation enabled 1
Auger electron emission enabled 1
Auger cascade enabled 1
Check EM cuts disabled for atomic de-excitation 0
Check EM cuts disabled for atomic de-excitation 1
Use Bearden atomic level energies 0
======================================================================
NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Capture/CrossSection/6_nat_Carbon
NeutronHP: /Elastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Elastic/CrossSection/6_nat_Carbon
NeutronHP: /Inelastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Inelastic/CrossSection/6_nat_Carbon
NeutronHP: /Elastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Elastic/CrossSection/6_nat_Carbon
=======================================================
====== ParticleHP Physics Parameters ========
=======================================================
UseOnlyPhotoEvaporation ? 0
SkipMissingIsotopes ? 0
NeglectDoppler ? 0
DoNotAdjustFinalState ? 0
ProduceFissionFragments ? 0
UseWendtFissionModel ? 0
UseNRESP71Model ? 0
=======================================================
@@@ G4ParticleHPInelastic instantiated for particle neutron data directory variable is G4NEUTRONHPDATA pointing to /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Inelastic
NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Capture/CrossSection/6_nat_Carbon
====================================================================
HADRONIC PROCESSES SUMMARY (verbose level 1)
---------------------------------------------------
Hadronic Processes for B-
Process: hadElastic
Model: hElasticLHEP: 0 meV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 meV ---> 100 TeV
Process: B-Inelastic
Model: FTFP: 0 meV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 meV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for D-
Process: hadElastic
Model: hElasticLHEP: 0 meV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 meV ---> 100 TeV
Process: D-Inelastic
Model: FTFP: 0 meV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 meV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for GenericIon
@@ -199,6 +183,17 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Model: FTFP: 0 meV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 meV ---> 25.6 PeV
---------------------------------------------------
Hadronic Processes for anti_lambda
Process: hadElastic
Model: hElasticLHEP: 0 meV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 meV ---> 100 TeV
Process: anti_lambdaInelastic
Model: FTFP: 0 meV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 meV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for anti_neutron
@@ -287,8 +282,8 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Cr_sctns: Glauber-Gribov: 0 meV ---> 100 TeV
Process: lambdaInelastic
Model: BertiniCascade: 0 meV ---> 6 GeV
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 meV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 meV ---> 100 TeV
---------------------------------------------------
@@ -363,8 +358,8 @@ NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /
Cr_sctns: Glauber-Gribov: 0 meV ---> 100 TeV
Process: sigma-Inelastic
Model: BertiniCascade: 0 meV ---> 6 GeV
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 meV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 meV ---> 100 TeV
---------------------------------------------------
@@ -403,7 +398,6 @@ Store e- internal conversion data 1
Electron internal conversion ID 0
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
Upload data before 1st event for Z < 9
=======================================================================
========= Table of registered couples ============================
@@ -418,7 +412,7 @@ Index : 0 used in the geometry : Yes
Index : 1 used in the geometry : Yes
Material : Li7
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm
Energy thresholds : gamma 1.50969 keV e- 463.344 keV e+ 451.096 keV proton 0 meV
Energy thresholds : gamma 1.50675 keV e- 466.625 keV e+ 451.206 keV proton 0 meV
Region(s) which use this couple :
DefaultRegionForTheWorld
@@ -443,7 +437,7 @@ Index : 1 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 10000
User=34.500000s Real=34.978304s Sys=0.000000s
User=5.020000s Real=5.440239s Sys=0.000000s
======================== run summary =====================
@@ -451,44 +445,46 @@ Run Summary
1 30 cm of Li7 (density: 1.85 g/cm3 )
Process calls frequency :
RadioactiveDecayBase= 99521 Transportation= 90342 annihil= 119
compt= 128938 conv= 119 dInelastic= 3
eBrem= 1008 eIoni= 141018 hIoni= 639
hadElastic= 85541 ionElastic= 1 ionIoni= 99820
msc= 358 nCapture= 2 neutronInelastic= 14096
phot= 12827
RadioactiveDecayBase= 100357 Transportation= 91939 annihil= 135
compt= 131007 conv= 138 dInelastic= 1
eBrem= 1043 eIoni= 143253 hIoni= 666
hadElastic= 86026 ionIoni= 100641 msc= 248
nCapture= 1 neutronInelastic= 14446 phot= 13036
Edep in absorber 1 = 7.99 MeV (41.8 keV-->31.3 MeV)
Edep in absorber 1 = 7.99 MeV (12.8 keV-->21.9 MeV)
List of generated particles in absorber 1:
Be8[3030.000]: 2 Emean = 6.83 keV ( 5.85 keV --> 7.82 keV)
He6: 168 Emean = 1.29 MeV ( 878 keV --> 1.34 MeV)
Li6: 722 Emean = 1.61 MeV ( 37.3 eV --> 8.19 MeV)
Li7: 98627 Emean = 560 keV ( 66.3 meV --> 6.22 MeV)
Li8: 2 Emean = 22.9 keV ( 952 eV --> 44.9 keV)
alpha: 299 Emean = 1.36 MeV ( 23.1 keV --> 15.1 MeV)
anti_nu_e: 170 Emean = 1.97 MeV ( 241 keV --> 11.7 MeV)
deuteron: 457 Emean = 3.1 MeV ( 25.4 keV --> 25.8 MeV)
e+: 119 Emean = 1.4 MeV ( 62.7 keV --> 4.03 MeV)
e-: 140358 Emean = 157 keV ( 100 eV --> 6.94 MeV)
gamma: 42054 Emean = 1.26 MeV ( 1 keV --> 5.88 MeV)
neutron: 14774 Emean = 3.61 MeV ( 4.19 keV --> 13.6 MeV)
Be8[3030.000]: 1 Emean = 7.91 keV ( 7.91 keV --> 7.91 keV)
He6: 164 Emean = 1.28 MeV ( 884 keV --> 1.34 MeV)
Li6: 725 Emean = 1.58 MeV ( 30.9 eV --> 8.62 MeV)
Li7: 99466 Emean = 554 keV ( 14.7 meV --> 6.21 MeV)
Li8: 1 Emean = 277 eV ( 277 eV --> 277 eV )
alpha: 285 Emean = 1.22 MeV ( 25.5 keV --> 9.19 MeV)
anti_nu_e: 165 Emean = 2.01 MeV ( 116 keV --> 7.41 MeV)
deuteron: 444 Emean = 3.39 MeV ( 163 keV --> 18.4 MeV)
e+: 138 Emean = 1.44 MeV ( 98.5 keV --> 4.15 MeV)
e-: 142607 Emean = 155 keV ( 100 eV --> 5.56 MeV)
gamma: 43054 Emean = 1.25 MeV ( 1 keV --> 5.88 MeV)
neutron: 15126 Emean = 3.63 MeV ( 3.24 keV --> 13.6 MeV)
proton: 1 Emean = 2.09 MeV ( 2.09 MeV --> 2.09 MeV)
List of particles emerging from absorbers :
anti_nu_e: 170 Emean = 1.97 MeV ( 241 keV --> 11.7 MeV)
e-: 204 Emean = 1.34 MeV ( 46.2 keV --> 4.81 MeV)
gamma: 29108 Emean = 1.07 MeV ( 3.08 keV --> 5.88 MeV)
neutron: 10676 Emean = 2.19 MeV ( 2.64 eV --> 14.1 MeV)
anti_nu_e: 165 Emean = 2.01 MeV ( 116 keV --> 7.41 MeV)
e+: 3 Emean = 1.8 MeV ( 1.11 MeV --> 2.22 MeV)
e-: 232 Emean = 1.3 MeV ( 7.77 keV --> 4.46 MeV)
gamma: 29880 Emean = 1.06 MeV ( 1.64 keV --> 5.88 MeV)
neutron: 10679 Emean = 2.13 MeV ( 8.58 eV --> 14.1 MeV)
Nb of events with primary absorbed = 87 %, transmit = 6.7 %, reflected = 6.2 %
Nb of events with primary absorbed = 88 %, transmit = 6.5 %, reflected = 6 %
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 2006293019, 1502676364
Current couple of seeds = 1162030075, 1151422799
----------------------------------------
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.043 MB
Dynamic pools deleted: 11 / Total memory freed: 0.046 MB
============================================================
RunManagerKernel is deleted. Good bye :)
+1 -1
View File
@@ -1,4 +1,5 @@
#
# Macro file for "Hadr07.cc"
#
/control/verbose 2
/run/verbose 2
@@ -19,5 +20,4 @@
/analysis/h1/set 10 120 0. 24. mm #edep profile
#
/run/printProgress 10000
#
/run/beamOn 100000
@@ -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(Hadr08)
#----------------------------------------------------------------------------
+2 -16
View File
@@ -36,11 +36,7 @@
#include "FTFP_BERT.hh"
#include "FTFP_INCLXX.hh"
#include "G4UImanager.hh"
#ifdef G4MULTITHREADED
#include "G4MTRunManager.hh"
#else
#include "G4RunManager.hh"
#endif
#include "G4RunManagerFactory.hh"
#include "ActionInitialization.hh"
#include "G4UIExecutive.hh"
#include "G4GenericBiasingPhysics.hh"
@@ -54,18 +50,8 @@ int main( int argc, char** argv ) {
ui = new G4UIExecutive(argc, argv);
}
#ifdef G4MULTITHREADED
G4MTRunManager * runManager = new G4MTRunManager;
auto* runManager = G4RunManagerFactory::CreateRunManager();
runManager->SetNumberOfThreads(4);
G4cout<<"+-------------------------------------------------------+"<<G4endl;
G4cout<<"| Constructing MT run manager |"<<G4endl;
G4cout<<"+-------------------------------------------------------+"<<G4endl;
#else
G4RunManager * runManager = new G4RunManager;
G4cout<<"+-------------------------------------------------------+"<<G4endl;
G4cout<<"| Constructing sequential run manager |"<<G4endl;
G4cout<<"+-------------------------------------------------------+"<<G4endl;
#endif
G4VUserDetectorConstruction* detector = new DetectorConstruction;
runManager->SetUserInitialization( detector );
@@ -14,6 +14,9 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
10-11-20 B, Morgan (exhadr08-V10-06-00)
- Migration to G4RunManagerFactory.
26-11-19 I. Hrivnacova (exhadr08-V10-05-01)
- Fixed formatting in .README.txt
@@ -0,0 +1,53 @@
///\file "hadronic/Hadr09/.README.txt"
///\brief Example Hadr09 README page
/*! \page ExampleHadr09 Example Hadr09
This example shows how to use Geant4 as a generator for simulating
inelastic hadron-nuclear interactions.
The class HadronicGenerator is the "generator".
The main hadronic models (FTFP, QGSP, BERT, BIC, IonBIC, INCL)
and some combinations of two of them - in a transition energy region,
similarly to what happens in physics lists - are available.
See include/HadronicGenerator.hh for more detailed information.
The main, Hadr09.cc, shows an example of how to use it.
It samples randomly the projectile hadron, its energy, its direction
and the target material, and then it calls the generator.
Some information regarding the secondaries which are produced can be
printed out.
See the comments in Hadr09.cc for more information and how eventually
to change some of its configurations.
Notice that Hadr09.cc does nothing really useful: users should consider
to use eventually only the class HadronicGenerator.
Notice that the Geant4 run-manager is not used.
\section Hadr09_s1 HOW TO START ?
To build it:
\verbatim
mkdir Build; cd Build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DGeant4_DIR=/path-to-geant4-libraries ../.
make
\endverbatim
To run it:
\verbatim
./Hadr09 [Hadr09.in]
\endverbatim
which simulates 1000 hadron-nucleus collisions, randomnly selected, and
prints out some information about the secondaries produced in these
interactions. It takes only a few seconds to run.
Notice that the input file, Hadr09.in, which is empty, is not needed
by Hadr09, and can be omitted; however, it has been created because
is expected by system testing.
Note: this example has been included in Geant4 10.7, but it should work
also for early versions of Geant4, in particular 10.6, 10.5 and 10.4.
*/
@@ -0,0 +1,60 @@
#----------------------------------------------------------------------------
# Setup the project
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(Hadr09)
#----------------------------------------------------------------------------
# Find Geant4 package, activating all available UI and Vis drivers by default
# You can set WITH_GEANT4_UIVIS to OFF via the command line or ccmake/cmake-gui
# to build a batch mode only executable
#
option(WITH_GEANT4_UIVIS "Build example with Geant4 UI and Vis drivers" ON)
if(WITH_GEANT4_UIVIS)
find_package(Geant4 REQUIRED ui_all vis_all)
else()
find_package(Geant4 REQUIRED)
endif()
#----------------------------------------------------------------------------
# Setup Geant4 include directories and compile definitions
#
include(${Geant4_USE_FILE})
#----------------------------------------------------------------------------
# Locate sources and headers for this project
#
include_directories(${PROJECT_SOURCE_DIR}/include
${Geant4_INCLUDE_DIR})
file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc)
file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh)
#----------------------------------------------------------------------------
# Add the executable, and link it to the Geant4 libraries
#
add_executable(Hadr09 Hadr09.cc ${sources} ${headers})
target_link_libraries(Hadr09 ${Geant4_LIBRARIES} )
#----------------------------------------------------------------------------
# Copy all scripts to the build directory, i.e. the directory in which we
# build Hadr09. This is so that we can run the executable directly because it
# relies on these scripts being in the current working directory.
#
set(Hadr09_SCRIPTS
hadr09.in
)
foreach(_script ${Hadr09_SCRIPTS})
configure_file(
${PROJECT_SOURCE_DIR}/${_script}
${PROJECT_BINARY_DIR}/${_script}
COPYONLY
)
endforeach()
#----------------------------------------------------------------------------
# Install the executable to 'bin' directory under CMAKE_INSTALL_PREFIX
#
install(TARGETS Hadr09 DESTINATION bin)
@@ -0,0 +1,12 @@
name := Hadr09
G4TARGET := $(name)
G4EXLIB := true
ifndef G4INSTALL
G4INSTALL = ../../..
endif
.PHONY: all
all: lib bin
include $(G4INSTALL)/config/binmake.gmk
+268
View File
@@ -0,0 +1,268 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// \file Hadr09.cc
/// \brief Main program of the hadronic/Hadr09 example
//
//------------------------------------------------------------------------
// This program shows how to use the class Hadronic Generator.
// The class HadronicGenerator is a kind of "hadronic generator", i.e.
// provides Geant4 final states (i.e. secondary particles) produced by
// hadron-nuclear inelastic collisions.
// Please see the class itself for more information.
//
// The use of the class Hadronic Generator is very simple:
// the constructor needs to be invoked only once - specifying the name
// of the Geant4 "physics case" to consider ("FTFP_BERT_ATL" will be
// considered as default is the name is not specified) - and then one
// method needs to be called at each collision, specifying the type of
// collision (hadron, energy, direction, material) to be simulated.
// The class HadronicGenerator is expected to work also in a
// multi-threaded environment with "external" threads (i.e. threads
// that are not necessarily managed by Geant4 run-manager):
// each thread should have its own instance of the class.
//
// See the string "***LOOKHERE***" below for the setting of parameters
// of this example: the "physics case", the set of possibilities from
// which to sample the collision, i.e. the type of projectile hadron,
// its kinetic energy, its direction and the target material (from the
// latter, the target nucleus will be chosen randomly by Geant4 itself),
// and whether to print out some information or not and how frequently.
// Once a well-defined type of hadron-nuclear inelastic collisions has
// been chosen, the method HadronicGenerator::GenerateInteraction
// returns the secondaries produced by that interaction (in the form
// of a G4VParticleChange object).
// Some information about this final-state is printed out as an example.
//
// Usage: Hadr09
//------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include <iomanip>
#include "globals.hh"
#include "G4ios.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4Material.hh"
#include "G4NistManager.hh"
#include "G4VParticleChange.hh"
#include "G4UnitsTable.hh"
#include "G4SystemOfUnits.hh"
#include "HadronicGenerator.hh"
#include "CLHEP/Random/Randomize.h"
#include "CLHEP/Random/Ranlux64Engine.h"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
int main( int , char** ) {
G4cout << "=== Test of the HadronicGenerator ===" << G4endl;
// See the HadronicGenerator class for the possibilities and meaning of the "physics cases".
// ( In short, it is the name of the Geant4 hadronic model used for the simulation of
// the collision, with the possibility of having a transition between two models in
// a given energy interval, as in physics lists. )
const G4String namePhysics = "FTFP_BERT_ATL"; //***LOOKHERE*** PHYSICS CASE
//const G4String namePhysics = "FTFP_BERT";
//const G4String namePhysics = "QGSP_BERT";
//const G4String namePhysics = "QGSP_BIC";
//const G4String namePhysics = "FTFP_INCLXX";
//const G4String namePhysics = "FTFP";
//const G4String namePhysics = "QGSP";
//const G4String namePhysics = "BERT";
//const G4String namePhysics = "BIC";
//const G4String namePhysics = "IonBIC";
//const G4String namePhysics = "INCL";
// The kinetic energy of the projectile will be sampled randomly, with flat probability
// in the interval [minEnergy, maxEnergy].
const G4double minEnergy = 1.0*CLHEP::GeV; //***LOOKHERE*** PROJECTILE MIN Ekin
const G4double maxEnergy = 30.0*CLHEP::GeV; //***LOOKHERE*** PROJECTILE MAX Ekin
const G4int numCollisions = 1000; //***LOOKHERE*** NUMBER OF COLLISIONS
// Enable or disable the print out of this program: if enabled, the number of secondaries
// produced in each collisions is printed out; moreover, once every "printingGap"
// collisions, the list of secondaries is printed out.
const G4bool isPrintingEnabled = true; //***LOOKHERE*** PRINT OUT ON/OFF
const G4int printingGap = 100; //***LOOKHERE*** GAP IN PRINTING
// Vector of Geant4 names of hadron projectiles: one of this will be sampled randomly
// (with uniform probability) for each collision.
// Note: comment out the corresponding line in order to exclude a particle.
std::vector< G4String > vecProjectiles; //***LOOKHERE*** : possible hadron projectiles
vecProjectiles.push_back( "pi-" );
//Note: vecProjectiles.push_back( "pi0" ); // Excluded because too short-lived
vecProjectiles.push_back( "pi+" );
vecProjectiles.push_back( "kaon-" );
vecProjectiles.push_back( "kaon+" );
vecProjectiles.push_back( "kaon0L" );
vecProjectiles.push_back( "kaon0S" );
vecProjectiles.push_back( "proton" );
vecProjectiles.push_back( "neutron" );
vecProjectiles.push_back( "deuteron" );
vecProjectiles.push_back( "triton" );
vecProjectiles.push_back( "He3" );
vecProjectiles.push_back( "alpha" );
vecProjectiles.push_back( "lambda" );
vecProjectiles.push_back( "sigma-" );
//Note: vecProjectiles.push_back( "sigma0" ); // Excluded because too short-lived
vecProjectiles.push_back( "sigma+" );
vecProjectiles.push_back( "xi-" );
vecProjectiles.push_back( "xi0" );
vecProjectiles.push_back( "omega-" );
vecProjectiles.push_back( "anti_proton" );
vecProjectiles.push_back( "anti_neutron" );
vecProjectiles.push_back( "anti_lambda" );
vecProjectiles.push_back( "anti_sigma-" );
//Note: vecProjectiles.push_back( "anti_sigma0" ); // Excluded because too short-lived
vecProjectiles.push_back( "anti_sigma+" );
vecProjectiles.push_back( "anti_xi-" );
vecProjectiles.push_back( "anti_xi0" );
vecProjectiles.push_back( "anti_omega-" );
vecProjectiles.push_back( "anti_deuteron" );
vecProjectiles.push_back( "anti_triton" );
vecProjectiles.push_back( "anti_He3" );
vecProjectiles.push_back( "anti_alpha" );
// Vector of Geant4 NIST names of materials: one of this will be sampled randomly
// (with uniform probability) for each collision and used as target material.
// Note: comment out the corresponding line in order to exclude a material;
// or, vice versa, add a new line to extend the list with another material.
std::vector< G4String > vecMaterials; //***LOOKHERE*** : possible NIST materials
vecMaterials.push_back( "G4_H" );
vecMaterials.push_back( "G4_He" );
vecMaterials.push_back( "G4_Be" );
vecMaterials.push_back( "G4_C" );
vecMaterials.push_back( "G4_Al" );
vecMaterials.push_back( "G4_Si" );
vecMaterials.push_back( "G4_Ar" );
vecMaterials.push_back( "G4_Fe" );
vecMaterials.push_back( "G4_Cu" );
vecMaterials.push_back( "G4_W" );
vecMaterials.push_back( "G4_Pb" );
const G4int numProjectiles = vecProjectiles.size();
const G4int numMaterials = vecMaterials.size();
G4cout << G4endl
<< "================= Configuration ==================" << G4endl
<< "Model: " << namePhysics << G4endl
<< "Ekin: [ " << minEnergy/CLHEP::GeV << " , " << maxEnergy/CLHEP::GeV
<< " ] GeV" << G4endl
<< "Number of collisions: " << numCollisions << G4endl
<< "Number of projectiles: " << numProjectiles << G4endl
<< "Number of materials: " << numMaterials << G4endl
<< "===================================================" << G4endl
<< G4endl;
CLHEP::Ranlux64Engine defaultEngine( 1234567, 4 );
CLHEP::HepRandom::setTheEngine( &defaultEngine );
G4int seed = time( NULL );
CLHEP::HepRandom::setTheSeed( seed );
G4cout << G4endl << " Initial seed = " << seed << G4endl << G4endl;
// Instanciate the HadronicGenerator providing the name of the "physics case"
HadronicGenerator* theHadronicGenerator = new HadronicGenerator( namePhysics );
//****************************************************************************
if ( theHadronicGenerator == nullptr ) {
G4cerr << "ERROR: theHadronicGenerator is NULL !" << G4endl;
return 1;
} else if ( ! theHadronicGenerator->IsPhysicsCaseSupported() ) {
G4cerr << "ERROR: this physics case is NOT supported !" << G4endl;
return 2;
}
// Loop over the collisions
G4double rnd1, rnd2, rnd3, rnd4, rnd5, rnd6, normalization, projectileEnergy;
G4VParticleChange* aChange = nullptr;
for ( G4int i = 0; i < numCollisions; ++i ) {
// Draw some random numbers to select the hadron-nucleus interaction:
// projectile hadron, projectile kinetic energy, projectile direction, and target material.
rnd1 = CLHEP::HepRandom::getTheEngine()->flat();
rnd2 = CLHEP::HepRandom::getTheEngine()->flat();
rnd3 = CLHEP::HepRandom::getTheEngine()->flat();
rnd4 = CLHEP::HepRandom::getTheEngine()->flat();
rnd5 = CLHEP::HepRandom::getTheEngine()->flat();
rnd6 = CLHEP::HepRandom::getTheEngine()->flat();
// Sample the projectile kinetic energy
projectileEnergy = minEnergy + rnd1*( maxEnergy - minEnergy );
if ( projectileEnergy <= 0.0 ) projectileEnergy = minEnergy;
// Sample the projectile direction
normalization = 1.0 / std::sqrt( rnd2*rnd2 + rnd3*rnd3 + rnd4*rnd4 );
G4ThreeVector aDirection =
G4ThreeVector( normalization*rnd2, normalization*rnd3, normalization*rnd4 );
// Sample the projectile hadron from the vector vecProjectiles
G4int index_projectile = std::trunc( rnd5*numProjectiles );
G4String nameProjectile = vecProjectiles[ index_projectile ];
// Sample the target material from the vector vecMaterials
// (Note: the target nucleus will be sampled by Geant4)
G4int index_material = std::trunc( rnd6*numMaterials );
G4String nameMaterial = vecMaterials[ index_material ];
G4Material* material = G4NistManager::Instance()->FindOrBuildMaterial( nameMaterial );
if ( material == nullptr ) {
G4cerr << "ERROR: Material " << nameMaterial << " is not found !" << G4endl;
return 3;
}
if ( isPrintingEnabled ) {
G4cout << "\t Collision " << i << " ; projectile=" << nameProjectile
<< " ; Ekin(MeV)=" << projectileEnergy /* << " ; direction=" << aDirection */
<< " ; material=" << nameMaterial;
}
// Call here the "hadronic generator" to get the secondaries produced by the hadronic collision
aChange = theHadronicGenerator->GenerateInteraction( nameProjectile, projectileEnergy,
/* ********************************************** */ aDirection, material );
G4int nsec = aChange ? aChange->GetNumberOfSecondaries() : 0;
G4bool isPrintingOfSecondariesEnabled = false;
if ( isPrintingEnabled ) {
G4cout << " ---> #secondaries=" << nsec << G4endl;
if ( i % printingGap == 0 ) {
isPrintingOfSecondariesEnabled = true;
G4cout << "\t \t List of produced secondaries: " << G4endl;
}
}
// Loop over produced secondaries and eventually print out some information.
for ( G4int j = 0; j < nsec; ++j ) {
const G4DynamicParticle* sec = aChange->GetSecondary(j)->GetDynamicParticle();
if ( isPrintingOfSecondariesEnabled ) {
G4cout << "\t \t \t j=" << j << "\t" << sec->GetDefinition()->GetParticleName()
<< "\t p=" << sec->Get4Momentum() << " MeV" << G4endl;
}
delete aChange->GetSecondary(j);
}
if ( aChange ) aChange->Clear();
}
G4cout << G4endl << " Final random number = " << CLHEP::HepRandom::getTheEngine()->flat()
<< G4endl << "=== End of test ===" << G4endl;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+19
View File
@@ -0,0 +1,19 @@
-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
Hadr08 History file
-------------------
This file should be used by the G4 example coordinator to briefly
summarize all major modifications introduced in the code and keep
track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
08-11-20 Alberto Ribon (exhadr09-V10-06-00)
- Created this example.
+39
View File
@@ -0,0 +1,39 @@
This example shows how to use Geant4 as a generator for simulating
inelastic hadron-nuclear interactions.
The class HadronicGenerator is the "generator".
The main hadronic models (FTFP, QGSP, BERT, BIC, IonBIC, INCL)
and some combinations of two of them - in a transition energy region,
similarly to what happens in physics lists - are available.
See include/HadronicGenerator.hh for more detailed information.
The main, Hadr09.cc, shows an example of how to use it.
It samples randomly the projectile hadron, its energy, its direction
and the target material, and then it calls the generator.
Some information regarding the secondaries which are produced can be
printed out.
See the comments in Hadr09.cc for more information and how eventually
to change some of its configurations.
Notice that Hadr09.cc does nothing really useful: users should consider
to use eventually only the class HadronicGenerator.
Notice that the Geant4 run-manager is not used.
To build this example:
mkdir Build; cd Build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DGeant4_DIR=/path-to-geant4-libraries ../.
make
To run it:
./Hadr09 [Hadr09.in]
which simulates 1000 hadron-nucleus collisions, randomnly selected, and
prints out some information about the secondaries produced in these
interactions. It takes only a few seconds to run.
Notice that the input file, Hadr09.in, which is empty, is not needed
by Hadr09, and can be omitted; however, it has been created because
is expected by system testing.
Note: this example has been included in Geant4 10.7, but it should work
also for early versions of Geant4, in particular 10.6, 10.5 and 10.4.

Some files were not shown because too many files have changed in this diff Show More