Import Geant4 10.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2019-12-06 15:12:28 +01:00
parent b2a62ae692
commit 5baee230e9
2997 changed files with 141580 additions and 98673 deletions
+90 -94
View File
@@ -8,12 +8,12 @@
tracking in a magnetic field.
The key Geant4 capabilities demonstrated in this example are:
\item creating a uniform magnetic field interactively using the field
messenger,
\item choosing the type of Runge Kutta stepper used for integration of the
motion of charged particles in the magnetic field,
\item controlling the thresholds that determine which looping particles are
killed by G4Transporation.
- creating a uniform magnetic field interactively using the field
messenger,
- choosing the type of Runge Kutta stepper used for integration of the
motion of charged particles in the magnetic field,
- controlling the thresholds that determine which looping particles are
killed by G4Transporation.
Some of these capabilities are available via interactive commands,
implemented in F01FieldMessenger.
@@ -25,31 +25,28 @@
The magnetic field is defined in F01FieldSetup, which is created in
the ConstructSDandField() method in the F01DetectorConstruction class.
\subsection Choosing the type of stepper
\section field01_s01 Choosing the type of stepper
The basic capabilities of choosing the stepper type are demonstrated in the
field.in macro file:
\verbatim
/field/setStepperType 145 ## Choose a stepper type ( Tsitouras )
/field/setStepperType 101 ## Choose an FSAL stepper ( FEqRK1 )
/field/setMinStep 0.1 mm ## Smaller steps always succeed
/field/update ## Initialise using parameters above
\endverbatim
\verbatim
/field/setStepperType 145 ## Choose a stepper type ( Tsito
/field/setStepperType 101 ## Choose an FSAL stepper ( FE
/field/setMinStep 0.1 mm ## Smaller steps always s
/field/update ## Initialise using parameters above
\endverbatim
In addition it is possible to choose to use a new type of stepper, known
as 'First Same as Last' or FSAL, which in each step obtains the field value
at the step endpoint and evaluates the 'right hand size' of the equation
for the next integration step. This reduces the number of calls to the field
evaluation, which can be one the most computationally expensive methods,
evaluation, which can be one the most computationally expensive methods,
while providing similar accuracy.
There are several potential choices of the stepper type. Here are some suggestions:
\verbatim
===========================================================================
\verbatim
===========================================================================
Number Name of Stepper Comments
===========================================================================
Recommended - default since Geant4 10.4:
@@ -112,97 +109,97 @@
3 - SimpleHeum : low order, with error obtained from half-steps
23 - BogackiShampine23 : lower order embedded method (new in 10.3-beta)
===========================================================================
\endverbatim
\endverbatim
\subsection Controlling the killing of looping particles
\section field01_s02 Controlling the killing of looping particles
Occasionally tracks 'looping' in a strong magnetic field, making little
progress even over hundreds of integration steps. This is due to a
combination of a strong magnetic field and a thin material (gas or vacuum)
in which the size of a physics step is substantially larger than the radius
of curvature of the track.
Occasionally tracks 'looping' in a strong magnetic field, making little
progress even over hundreds of integration steps. This is due to a
combination of a strong magnetic field and a thin material (gas or vacuum)
in which the size of a physics step is substantially larger than the radius
of curvature of the track.
Since the amount of CPU time which can be consumed by one or few such tracks
is very large, it is important to limit the number of integration steps
spent on these tracks. The module for propagation in field in Geant4
flags tracks which take more than a certain number (default 1,000) integration
steps without reaching the requested end of the step size, which was
determined by the physics and geometry.
Since the amount of CPU time which can be consumed by one or few such tracks
is very large, it is important to limit the number of integration steps
spent on these tracks. The module for propagation in field in Geant4
flags tracks which take more than a certain number (default 1,000) integration
steps without reaching the requested end of the step size, which was
determined by the physics and geometry.
The Geant4 G4Transportation and G4CoupledTransportation processes are tasked
to select which of the looping tracks are killed and which survive. To
balance the potential significant cost of integrating looping particles,
three thresholds exist
The Geant4 G4Transportation and G4CoupledTransportation processes are tasked
to select which of the looping tracks are killed and which survive. To
balance the potential significant cost of integrating looping particles,
three thresholds exist
The 'Warning' Energy: a track with energy below this value that is found to
loop is killed silently (no warning.)
Above the 'Warning Energy', if a track is selected for killing a warning is
generated.
- **The 'Warning' Energy**: a track with energy below this value that is found to
loop is killed silently (no warning.)
Above the 'Warning Energy', if a track is selected for killing a warning is
generated.
The 'Important' Energy: the threshold energy above which a track will survive
for multiple steps if found looping.
- **The 'Important' Energy**: the threshold energy above which a track will survive
for multiple steps if found looping.
number of 'tracking' steps. They will be only be killed only if they still
loop after than
The number of 'trials': the number of steps that 'important' tracks survive.
- Number of 'tracking' steps. They will be only be killed only if they still
loop after than.
**The number of 'trials'**: the number of steps that 'important' tracks survive.
Note that currently only stable particles are killed. ( Refinements to enable
toggling whether unstable particles can be killed are in development. )
Note that currently only stable particles are killed. ( Refinements to enable
toggling whether unstable particles can be killed are in development. )
This example demonstrate choosing different values for these parametes
in the main() method of field01.cc using one of two techniques.
This example demonstrate choosing different values for these parametes
in the main () method of field01.cc using one of two techniques.
The first method is new in Geant4 release 10.5, and uses the G4PhysicsListHelper
which has methods to choose a pre-selected set of parameter values. The choices
are between a set each of low and high thresholds. Either one can be enabled
by calling correspondingly
- G4PhysicsListHelper::GetPhysicsListHelper()->UseLowLooperThresholds();
or
- G4PhysicsListHelper::GetPhysicsListHelper()->UseHighLooperThresholds();
These methods must be called before the physics is constructed - i.e. typically
before RunManager's Initialise() method is called.
This works only if either
- a modular physics lists is used, or if
- the G4ModularPhysicsList and its AddTransporation method are used
to create and register a common transportation process for all particles
(one for each thread).
\subsection field01_s02_sub1 i) Using G4PhysicsListHelper
ii) Fine grained control (available in Geant4 versions since 7.0)
The first method is new in Geant4 release 10.5, and uses the G4PhysicsListHelper
which has methods to choose a pre-selected set of parameter values. The choices
are between a set each of low and high thresholds. Either one can be enabled
by calling correspondingly
- G4PhysicsListHelper::GetPhysicsListHelper()->UseLowLooperThresholds();
or
- G4PhysicsListHelper::GetPhysicsListHelper()->UseHighLooperThresholds();
These methods must be called before the physics is constructed - i.e. typically
before RunManager's Initialise() method is called.
This works only if either
- a modular physics lists is used, or if
- the G4ModularPhysicsList and its AddTransporation method are used to create and register a common transportation process for all particles (one for each thread).
\subsection field01_s02_sub2 ii) Fine grained control (available in Geant4 versions since 7.0)
Fine grained control of the Transportation's parameters for looping particles
is also possible.
Fine grained control of the Transportation's parameters for looping particles
is also possible.
This is demonstrated in the F01RunAction's ChangeLooperParameters method,
which is called by the BeginOfRunAction. There the appropriate
Transportation object for the electron is obtained, and its parameters
(if valid) are used to overwrite the thresholds in the G4Transportation class.
This is demonstrated in the F01RunAction::ChangeLooperParameters() method,
which is called by the BeginOfRunAction. There the appropriate
Transportation object for the electron is obtained, and its parameters
(if valid) are used to overwrite the thresholds in the G4Transportation class.
For example, to ensure that only looping particles with energy 10 keV are
killed silently we change the value of the 'Warning' Energy:
\verbatim
runAction->SetWarningEnergy( 10.0 * CLHEP::keV );
\endverbatim
[ This is passed along to the registered G4Transportation or
G4CoupledTransportation object by the F01RunAction's ChangeLooperParameters.]
For example, to ensure that only looping particles with energy 10 keV are
killed silently we change the value of the 'Warning' Energy:
\code{.cpp}
runAction->SetWarningEnergy( 10.0 * CLHEP::keV );
\endcode
[ This is passed along to the registered G4Transportation or
G4CoupledTransportation object by the F01RunAction's ChangeLooperParameters.]
As a result the killing of any (stable) looping track with energy over 10 keV
will generate a warning.
As a result the killing of any (stable) looping track with energy over 10 keV
will generate a warning.
A second configurable energy threshold enables tracks above it to survive a
chosen number of 'tracking' steps. They will be only be killed only if they
still loop after than number of tracking steps. F01RunAction's methods are
used to configure these parameters:
\verbatim
runAction->SetImportantEnergy( 0.1 * CLHEP::MeV );
runAction->SetNumberOfTrials( 30 );
\endverbatim
which the run action passes to the G4Transportation or
G4CoupledTransportation object registered for the electron.
A second configurable energy threshold enables tracks above it to survive a
chosen number of 'tracking' steps. They will be only be killed only if they
still loop after than number of tracking steps. F01RunAction's methods are
used to configure these parameters:
\code{.cpp}
runAction->SetImportantEnergy( 0.1 * CLHEP::MeV );
runAction->SetNumberOfTrials( 30 );
\endcode
which the run action passes to the G4Transportation or
G4CoupledTransportation object registered for the electron.
Note that for all pre-configured and modular physics lists share a single
Transportation process for all types of particles. So the parameters for
killing loopers will be shared by all particle types in this case.
Note that for all pre-configured and modular physics lists share a single
Transportation process for all types of particles. So the parameters for
killing loopers will be shared by all particle types in this case.
\section field01_s1 Background Information
@@ -276,4 +273,3 @@ Idle> /run/beamOn 1
\endverbatim
*/
+4
View File
@@ -13,6 +13,10 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
Nov 28, 2019 I. Hrivnacova - fieldex01-V10-05-00
- Fixed formatting in .README.txt
Dec 4, 2018 J.Apostolakis - fieldex01-V10-04-06
- Corrections to use arguments of methods in F01RunAction.
Fixes compilation warnings.
+33 -26
View File
@@ -1,6 +1,10 @@
############################################
!!! WARNING - FPE detection is activated !!!
############################################
**************************************************************
Geant4 version Name: geant4-10-05-ref-06 (30-June-2019)
Geant4 version Name: geant4-10-06-ref-00 (6-December-2019)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -45,10 +49,10 @@
ElmMassFraction: 85.60 % ElmAbundance 33.33 %
Material: Kr density: 3.700 mg/cm3 RadL: 30.736 m Nucl.Int.Length: 413.950 m
Material: Kr density: 3.700 mg/cm3 RadL: 30.736 m Nucl.Int.Length: 413.949 m
Imean: 352.000 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: Kr (Kr) Z = 36.0 N = 84 A = 83.800 g/mole
---> Element: Kr (Kr) Z = 36.0 N = 84 A = 83.799 g/mole
---> Isotope: Kr78 Z = 36 N = 78 A = 77.92 g/mole abundance: 0.350 %
---> Isotope: Kr80 Z = 36 N = 80 A = 79.92 g/mole abundance: 2.280 %
---> Isotope: Kr82 Z = 36 N = 82 A = 81.91 g/mole abundance: 11.580 %
@@ -108,10 +112,10 @@
ElmMassFraction: 1.28 % ElmAbundance 0.47 %
Material: Xenon density: 5.858 mg/cm3 RadL: 14.478 m Nucl.Int.Length: 303.666 m
Material: Xenon density: 5.858 mg/cm3 RadL: 14.478 m Nucl.Int.Length: 303.668 m
Imean: 482.000 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: Xe (Xe) Z = 54.0 N = 131 A = 131.290 g/mole
---> Element: Xe (Xe) Z = 54.0 N = 131 A = 131.292 g/mole
---> Isotope: Xe124 Z = 54 N = 124 A = 123.91 g/mole abundance: 0.090 %
---> Isotope: Xe126 Z = 54 N = 126 A = 125.90 g/mole abundance: 0.090 %
---> Isotope: Xe128 Z = 54 N = 128 A = 127.90 g/mole abundance: 1.920 %
@@ -139,10 +143,10 @@
ElmMassFraction: 72.71 % ElmAbundance 66.67 %
Material: Xe20CO2 density: 5.082 mg/cm3 RadL: 17.750 m Nucl.Int.Length: 323.032 m
Imean: 412.598 eV temperature: 293.15 K pressure: 1.00 atm
Material: Xe20CO2 density: 5.082 mg/cm3 RadL: 17.750 m Nucl.Int.Length: 323.034 m
Imean: 412.597 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: Xe (Xe) Z = 54.0 N = 131 A = 131.290 g/mole
---> Element: Xe (Xe) Z = 54.0 N = 131 A = 131.292 g/mole
---> Isotope: Xe124 Z = 54 N = 124 A = 123.91 g/mole abundance: 0.090 %
---> Isotope: Xe126 Z = 54 N = 126 A = 125.90 g/mole abundance: 0.090 %
---> Isotope: Xe128 Z = 54 N = 128 A = 127.90 g/mole abundance: 1.920 %
@@ -166,10 +170,10 @@
ElmMassFraction: 5.67 % ElmAbundance 28.73 %
Material: Kr20CO2 density: 3.601 mg/cm3 RadL: 34.158 m Nucl.Int.Length: 391.555 m
Material: Kr20CO2 density: 3.601 mg/cm3 RadL: 34.157 m Nucl.Int.Length: 391.554 m
Imean: 296.926 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: Kr (Kr) Z = 36.0 N = 84 A = 83.800 g/mole
---> Element: Kr (Kr) Z = 36.0 N = 84 A = 83.799 g/mole
---> Isotope: Kr78 Z = 36 N = 78 A = 77.92 g/mole abundance: 0.350 %
---> Isotope: Kr80 Z = 36 N = 80 A = 79.92 g/mole abundance: 2.280 %
---> Isotope: Kr82 Z = 36 N = 82 A = 81.91 g/mole abundance: 11.580 %
@@ -191,7 +195,7 @@
<<< Geant4 Physics List simulation engine: FTFP_BERT 2.0
<<< Geant4 Physics List simulation engine: FTFP_BERT
The WORLD is made of 44000mm of Air, the transverse size (R) of the world is 22000 mm.
@@ -208,10 +212,10 @@ The minimal step is equal to 1 mm
4. Updating Field Manager.
FTFP_BERT : new threshold between BERT and FTFP is over the interval
for pions : 3 to 12 GeV
for kaons : 3 to 12 GeV
for proton : 3 to 12 GeV
for neutron : 3 to 12 GeV
for pions : 3 to 6 GeV
for kaons : 3 to 6 GeV
for proton : 3 to 6 GeV
for neutron : 3 to 6 GeV
### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0
Visualization Manager instantiating with verbosity "warnings (3)"...
@@ -284,21 +288,24 @@ The minimal step is equal to 0.1 mm
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound low energy (MeV) 0.1
Pre-compound excitation low energy (MeV) 0.1
Pre-compound excitation high energy (MeV) 30
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation+GEM
Number of de-excitation channels 68
Min excitation energy (keV) 0.01
Min energy per nucleon for multifragmentation (MeV) 1e+05
Min energy per nucleon for multifragmentation (MeV) 2e+05
Limit excitation energy for Fermi BreakUp (MeV) 20
Level density (1/MeV) 0.075
Model of level density flag 1
Use simple level density model 1
Use discrete excitation energy of the residual 0
Time limit for long lived isomeres (ns) 1e+12
Internal e- conversion flag 1
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 ==============================
@@ -330,7 +337,7 @@ Step# X Y Z Direction x dir y dir
Run terminated.
Run Summary
Number of events processed : 1
User=0.000000s Real=0.001613s Sys=0.000000s
User=0.000000s Real=0.001044s Sys=0.000000s
G4Transportation: Statistics for looping particles
No looping tracks found or killed.
@@ -361,7 +368,7 @@ Step# X Y Z Direction x dir y dir
Run terminated.
Run Summary
Number of events processed : 1
User=0.000000s Real=0.000138s Sys=0.000000s
User=0.000000s Real=0.000172s Sys=0.000000s
G4Transportation: Statistics for looping particles
No looping tracks found or killed.
@@ -392,7 +399,7 @@ Step# X Y Z Direction x dir y dir
Run terminated.
Run Summary
Number of events processed : 1
User=0.000000s Real=0.000140s Sys=0.000000s
User=0.000000s Real=0.000138s Sys=0.000000s
G4Transportation: Statistics for looping particles
No looping tracks found or killed.
@@ -423,7 +430,7 @@ Step# X Y Z Direction x dir y dir
Run terminated.
Run Summary
Number of events processed : 1
User=0.000000s Real=0.000189s Sys=0.000000s
User=0.000000s Real=0.000205s Sys=0.000000s
G4Transportation: Statistics for looping particles
No looping tracks found or killed.
@@ -454,7 +461,7 @@ Step# X Y Z Direction x dir y dir
Run terminated.
Run Summary
Number of events processed : 1
User=0.000000s Real=0.000123s Sys=0.000000s
User=0.000000s Real=0.000136s Sys=0.000000s
G4Transportation: Statistics for looping particles
No looping tracks found or killed.
G4Integration Driver Stats: #QuickAdvance 186 - #AccurateAdvance 30 #good steps 30 #bad steps 0
@@ -496,7 +503,7 @@ Step# X Y Z Direction x dir y dir
Run terminated.
Run Summary
Number of events processed : 1
User=0.000000s Real=0.000172s Sys=0.000000s
User=0.000000s Real=0.000160s Sys=0.000000s
G4Transportation: Statistics for looping particles
No looping tracks found or killed.
@@ -527,7 +534,7 @@ Index : 0 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 100
User=0.010000s Real=0.008717s Sys=0.000000s
User=0.010000s Real=0.007954s Sys=0.000000s
G4Transportation: Statistics for looping particles
No looping tracks found or killed.
#
@@ -594,7 +601,7 @@ Index : 2 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 1
User=0.010000s Real=0.007380s Sys=0.000000s
User=0.010000s Real=0.007430s Sys=0.000000s
G4Transportation: Statistics for looping particles
No looping tracks found or killed.
Graphics systems deleted.
File diff suppressed because it is too large Load Diff
+68 -66
View File
@@ -1,6 +1,10 @@
############################################
!!! WARNING - FPE detection is activated !!!
############################################
**************************************************************
Geant4 version Name: geant4-10-05-ref-06 (30-June-2019)
Geant4 version Name: geant4-10-06-ref-00 (6-December-2019)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -45,10 +49,10 @@
ElmMassFraction: 85.60 % ElmAbundance 33.33 %
Material: Kr density: 3.700 mg/cm3 RadL: 30.736 m Nucl.Int.Length: 413.950 m
Material: Kr density: 3.700 mg/cm3 RadL: 30.736 m Nucl.Int.Length: 413.949 m
Imean: 352.000 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: Kr (Kr) Z = 36.0 N = 84 A = 83.800 g/mole
---> Element: Kr (Kr) Z = 36.0 N = 84 A = 83.799 g/mole
---> Isotope: Kr78 Z = 36 N = 78 A = 77.92 g/mole abundance: 0.350 %
---> Isotope: Kr80 Z = 36 N = 80 A = 79.92 g/mole abundance: 2.280 %
---> Isotope: Kr82 Z = 36 N = 82 A = 81.91 g/mole abundance: 11.580 %
@@ -108,10 +112,10 @@
ElmMassFraction: 1.28 % ElmAbundance 0.47 %
Material: Xenon density: 5.858 mg/cm3 RadL: 14.478 m Nucl.Int.Length: 303.666 m
Material: Xenon density: 5.858 mg/cm3 RadL: 14.478 m Nucl.Int.Length: 303.668 m
Imean: 482.000 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: Xe (Xe) Z = 54.0 N = 131 A = 131.290 g/mole
---> Element: Xe (Xe) Z = 54.0 N = 131 A = 131.292 g/mole
---> Isotope: Xe124 Z = 54 N = 124 A = 123.91 g/mole abundance: 0.090 %
---> Isotope: Xe126 Z = 54 N = 126 A = 125.90 g/mole abundance: 0.090 %
---> Isotope: Xe128 Z = 54 N = 128 A = 127.90 g/mole abundance: 1.920 %
@@ -139,10 +143,10 @@
ElmMassFraction: 72.71 % ElmAbundance 66.67 %
Material: Xe20CO2 density: 5.082 mg/cm3 RadL: 17.750 m Nucl.Int.Length: 323.032 m
Imean: 412.598 eV temperature: 293.15 K pressure: 1.00 atm
Material: Xe20CO2 density: 5.082 mg/cm3 RadL: 17.750 m Nucl.Int.Length: 323.034 m
Imean: 412.597 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: Xe (Xe) Z = 54.0 N = 131 A = 131.290 g/mole
---> Element: Xe (Xe) Z = 54.0 N = 131 A = 131.292 g/mole
---> Isotope: Xe124 Z = 54 N = 124 A = 123.91 g/mole abundance: 0.090 %
---> Isotope: Xe126 Z = 54 N = 126 A = 125.90 g/mole abundance: 0.090 %
---> Isotope: Xe128 Z = 54 N = 128 A = 127.90 g/mole abundance: 1.920 %
@@ -166,10 +170,10 @@
ElmMassFraction: 5.67 % ElmAbundance 28.73 %
Material: Kr20CO2 density: 3.601 mg/cm3 RadL: 34.158 m Nucl.Int.Length: 391.555 m
Material: Kr20CO2 density: 3.601 mg/cm3 RadL: 34.157 m Nucl.Int.Length: 391.554 m
Imean: 296.926 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: Kr (Kr) Z = 36.0 N = 84 A = 83.800 g/mole
---> Element: Kr (Kr) Z = 36.0 N = 84 A = 83.799 g/mole
---> Isotope: Kr78 Z = 36 N = 78 A = 77.92 g/mole abundance: 0.350 %
---> Isotope: Kr80 Z = 36 N = 80 A = 79.92 g/mole abundance: 2.280 %
---> Isotope: Kr82 Z = 36 N = 82 A = 81.91 g/mole abundance: 11.580 %
@@ -191,7 +195,7 @@
<<< Geant4 Physics List simulation engine: FTFP_BERT 2.0
<<< Geant4 Physics List simulation engine: FTFP_BERT
The WORLD is made of 44000mm of Air, the transverse size (R) of the world is 22000 mm.
@@ -203,20 +207,20 @@ radThick = 401 mm
fFoilNumber = 2
fRadiatorMat = Air
WorldMaterial = Air
Checking overlaps for volume Radiator ... OK!
-99.5 mm Checking overlaps for volume RadSlice ... OK!
100.5 mm Checking overlaps for volume RadSlice ... OK!
Checking overlaps for volume Radiator (G4Tubs) ... OK!
-99.5 mm Checking overlaps for volume RadSlice (G4Tubs) ... OK!
100.5 mm Checking overlaps for volume RadSlice (G4Tubs) ... OK!
Checking overlaps for volume Absorber ... OK!
Checking overlaps for volume Absorber (G4Tubs) ... OK!
F03FieldSetup::UpdateField> The minimal step is equal to 0.25 mm
Stepper Type chosen = 4
G4ClassicalRK4 (default) is called
FTFP_BERT : new threshold between BERT and FTFP is over the interval
for pions : 3 to 12 GeV
for kaons : 3 to 12 GeV
for proton : 3 to 12 GeV
for neutron : 3 to 12 GeV
for pions : 3 to 6 GeV
for kaons : 3 to 6 GeV
for proton : 3 to 6 GeV
for neutron : 3 to 6 GeV
### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0
Visualization Manager instantiating with verbosity "warnings (3)"...
@@ -290,8 +294,7 @@ compt: for gamma SubType=13 BuildTable=1
conv: for gamma SubType=14 BuildTable=1
Lambda table from 1.022 MeV to 100 TeV, 18 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
BetheHeitler : Emin= 0 eV Emax= 80 GeV ModifiedTsai
BetheHeitlerLPM : Emin= 80 GeV Emax= 100 TeV ModifiedTsai
BetheHeitlerLPM : Emin= 0 eV Emax= 100 TeV ModifiedTsai
Rayl: for gamma SubType=11 BuildTable=1
Lambda table from 100 eV to 100 keV, 7 bins/decade, spline: 0
@@ -654,7 +657,7 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Process: neutronInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: G4NeutronInelasticXS: 0 eV ---> 100 TeV
Process: nCapture
@@ -667,8 +670,8 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Hadronic Processes for GenericIon
Process: ionInelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
Model: FTFP: 3 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -679,8 +682,8 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
Process: He3Inelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
Model: FTFP: 3 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -691,8 +694,8 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
Process: alphaInelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
Model: FTFP: 3 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -741,8 +744,9 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Hadronic Processes for anti_neutron
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
Model: AntiAElastic: 100 MeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Process: anti_neutronInelastic
Model: FTFP: 0 eV ---> 100 TeV
@@ -786,14 +790,14 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
Process: dInelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
Model: FTFP: 3 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for e+
Process: positronNuclear
Process: electronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
@@ -808,7 +812,7 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Hadronic Processes for gamma
Process: photonNuclear
Model: BertiniCascade: 0 eV ---> 3.5 GeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Model: TheoFSGenerator: 3 GeV ---> 100 TeV
Cr_sctns: PhotoNuclearXS: 0 eV ---> 100 TeV
@@ -821,9 +825,8 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Process: kaon+Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Cr_sctns: ChipsKaonPlusInelasticXS: 0 eV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for kaon-
@@ -834,9 +837,8 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Process: kaon-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Cr_sctns: ChipsKaonMinusInelasticXS: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
@@ -849,8 +851,8 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Process: lambdaInelastic
Model: BertiniCascade: 0 eV ---> 6 GeV
Model: FTFP: 2 GeV ---> 100 TeV
Cr_sctns: ChipsHyperonInelasticXS: 0 eV ---> 100 TeV
Model: FTFP: 3 GeV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for mu+
@@ -872,26 +874,24 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Hadronic Processes for pi+
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 1.0001 GeV
Model: hElasticGlauber: 1 GeV ---> 100 TeV
Model: hElasticGlauber: 0 eV ---> 100 TeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: pi+Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for pi-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 1.0001 GeV
Model: hElasticGlauber: 1 GeV ---> 100 TeV
Model: hElasticGlauber: 0 eV ---> 100 TeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: pi-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
@@ -905,7 +905,7 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Process: protonInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -916,8 +916,8 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
Process: tInelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
Model: FTFP: 3 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
================================================================
@@ -926,21 +926,24 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound low energy (MeV) 0.1
Pre-compound excitation low energy (MeV) 0.1
Pre-compound excitation high energy (MeV) 30
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation+GEM
Number of de-excitation channels 68
Min excitation energy (keV) 0.01
Min energy per nucleon for multifragmentation (MeV) 1e+05
Min energy per nucleon for multifragmentation (MeV) 2e+05
Limit excitation energy for Fermi BreakUp (MeV) 20
Level density (1/MeV) 0.075
Model of level density flag 1
Use simple level density model 1
Use discrete excitation energy of the residual 0
Time limit for long lived isomeres (ns) 1e+12
Internal e- conversion flag 1
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 ==============================
@@ -980,7 +983,7 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng
Run terminated.
Run Summary
Number of events processed : 1
User=0.000000s Real=0.001805s Sys=0.000000s
User=0.000000s Real=0.001146s Sys=0.000000s
========= Table of registered couples ==============================
@@ -999,7 +1002,7 @@ Index : 0 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 100
User=0.010000s Real=0.010699s Sys=0.000000s
User=0.010000s Real=0.010395s Sys=0.000000s
Set global field value to (0,0,1000) Gauss
========= Table of registered couples ==============================
@@ -1018,7 +1021,7 @@ Index : 0 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 10
User=0.000000s Real=0.001992s Sys=0.000000s
User=0.000000s Real=0.001357s Sys=0.000000s
Set global field value to (33000,0,0) Gauss
G4Integration Driver Stats: #QuickAdvance 4741 - #AccurateAdvance 636 #good steps 636 #bad steps 0
G4ChordFinder statistics report:
@@ -1069,7 +1072,7 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng
Run terminated.
Run Summary
Number of events processed : 1
User=0.000000s Real=0.000355s Sys=0.000000s
User=0.000000s Real=0.000350s Sys=0.000000s
/tracking/verbose 0
#
/calor/setAbsMat Xe20CO2
@@ -1106,11 +1109,11 @@ radThick = 401 mm
fFoilNumber = 2
fRadiatorMat = Air
WorldMaterial = Kr20CO2
Checking overlaps for volume Radiator ... OK!
-99.5 mm Checking overlaps for volume RadSlice ... OK!
100.5 mm Checking overlaps for volume RadSlice ... OK!
Checking overlaps for volume Radiator (G4Tubs) ... OK!
-99.5 mm Checking overlaps for volume RadSlice (G4Tubs) ... OK!
100.5 mm Checking overlaps for volume RadSlice (G4Tubs) ... OK!
Checking overlaps for volume Absorber ... OK!
Checking overlaps for volume Absorber (G4Tubs) ... OK!
phot: for gamma SubType=12 BuildTable=0
LambdaPrime table from 200 keV to 100 TeV in 61 bins
@@ -1126,8 +1129,7 @@ compt: for gamma SubType=13 BuildTable=1
conv: for gamma SubType=14 BuildTable=1
Lambda table from 1.022 MeV to 100 TeV, 18 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
BetheHeitler : Emin= 0 eV Emax= 80 GeV ModifiedTsai
BetheHeitlerLPM : Emin= 80 GeV Emax= 100 TeV ModifiedTsai
BetheHeitlerLPM : Emin= 0 eV Emax= 100 TeV ModifiedTsai
Rayl: for gamma SubType=11 BuildTable=1
Lambda table from 100 eV to 100 keV, 7 bins/decade, spline: 0
@@ -1508,16 +1510,16 @@ Index : 2 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 1
User=0.150000s Real=0.144363s Sys=0.000000s
User=0.330000s Real=0.330828s Sys=0.000000s
Graphics systems deleted.
Visualization Manager deleting...
G4 kernel has come to Quit state.
================== Deleting memory pools ===================
Number of memory pools allocated: 12 of which, static: 0
Dynamic pools deleted: 12 / Total memory freed: 0.73 MB
Dynamic pools deleted: 12 / Total memory freed: 1.5 MB
============================================================
RunManagerKernel is deleted. Good bye :)
G4Integration Driver Stats: #QuickAdvance 153190 - #AccurateAdvance 43383 #good steps 86774 #bad steps 156
G4Integration Driver Stats: #QuickAdvance 358763 - #AccurateAdvance 100318 #good steps 200708 #bad steps 350
G4ChordFinder statistics report:
No trials: 66260 No Calls: 62606 Max-trial: 21
No trials: 157705 No Calls: 149629 Max-trial: 22
Parameters: fFirstFraction 0.999 fFractionLast 1 fFractionNextEstimate 0.98
+3
View File
@@ -14,6 +14,9 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
November 19, 2019 G.Cosmo - fieldex04-V10-05-00
- Removed useless double-definition of copy-ctr for F04StepMax and deleted.
July 27, 2018 I.Hrivnacova - fieldex04-V10-04-02
- Macro review and code clean-up:
- Modify handling program according to basic examples
File diff suppressed because it is too large Load Diff
@@ -42,10 +42,13 @@ class F04StepMax : public G4VDiscreteProcess
public:
F04StepMax(const G4String& processName = "UserStepMax");
F04StepMax(F04StepMax &);
virtual ~F04StepMax();
F04StepMax(const F04StepMax&) = delete;
F04StepMax& operator=(const F04StepMax&) = delete;
virtual G4bool IsApplicable(const G4ParticleDefinition&);
void SetStepMax(G4double);
@@ -63,13 +66,6 @@ class F04StepMax : public G4VDiscreteProcess
virtual G4double GetMeanFreePath(const G4Track&,
G4double,
G4ForceCondition*);
private:
// hide assignment operator as private
F04StepMax & operator=(const F04StepMax &right);
F04StepMax(const F04StepMax&);
private:
G4double fMaxChargedStep;
@@ -49,10 +49,6 @@ F04StepMax::~F04StepMax() {}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
F04StepMax::F04StepMax(F04StepMax& right) : G4VDiscreteProcess(right) {}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4bool F04StepMax::IsApplicable(const G4ParticleDefinition& particle)
{
return (particle.GetPDGCharge() != 0.);
+5 -1
View File
@@ -1,6 +1,10 @@
############################################
!!! WARNING - FPE detection is activated !!!
############################################
**************************************************************
Geant4 version Name: geant4-10-05-ref-06 (30-June-2019)
Geant4 version Name: geant4-10-06-ref-00 (6-December-2019)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
+4
View File
@@ -14,6 +14,10 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
Nov 1, 2019 J.Apostolakis - fieldex06-V10-05-01
- Adjusted for change in G4Transportation (need to inform of use of gravity)
and corrected creation of G4ChordFinder.
July 27, 2018 I.Hrivnacova - fieldex06-V10-04-01
- Macro review and code clean-up:
- Separated other than visualization settings from vis.mac in a
@@ -40,6 +40,8 @@
#include "G4Types.hh"
#include "F06PhysicsList.hh"
#include "G4Transportation.hh"
#include "F06DetectorConstruction.hh"
#include "F06ActionInitialization.hh"
@@ -129,6 +131,10 @@ int main(int argc,char** argv)
runManager->SetUserInitialization(new F06DetectorConstruction());
// Physics list
runManager->SetUserInitialization(new F06PhysicsList());
// Ensure that Transportation considers gravity fields.
G4Transportation::EnableGravity(true);
// User action initialization
runManager->SetUserInitialization(new F06ActionInitialization());
+7 -3
View File
@@ -1,6 +1,10 @@
############################################
!!! WARNING - FPE detection is activated !!!
############################################
**************************************************************
Geant4 version Name: geant4-10-05-ref-06 (30-June-2019)
Geant4 version Name: geant4-10-06-ref-00 (6-December-2019)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -2301,12 +2305,12 @@ Terminate current event processing.
Run terminated.
Run Summary
Number of events processed : 1
User=0.020000s Real=0.018469s Sys=0.000000s
User=0.010000s Real=0.020700s Sys=0.000000s
Graphics systems deleted.
Visualization Manager deleting...
G4 kernel has come to Quit state.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Maximum number of tracks in the urgent stack : -1
Maximum number of tracks in the urgent stack : 576460752303423487
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
================== Deleting memory pools ===================
Number of memory pools allocated: 9 of which, static: 0
@@ -61,6 +61,7 @@
#include "G4ClassicalRK4.hh"
#include "G4MagIntegratorStepper.hh"
#include "G4IntegrationDriver.hh"
#include "G4ChordFinder.hh"
#include "G4PropagatorInField.hh"
@@ -142,6 +143,8 @@ G4ThreadLocal G4UniformGravityField* F06DetectorConstruction::fField = 0;
void F06DetectorConstruction::ConstructSDandField()
{
using StepperType = G4ClassicalRK4;
if (!fField) {
fField = new G4UniformGravityField();
@@ -149,40 +152,49 @@ void F06DetectorConstruction::ConstructSDandField()
G4RepleteEofM* equation = new G4RepleteEofM(fField);
// G4EqGravityField* equation = new G4EqGravityField(fField);
G4FieldManager* fieldManager
= G4TransportationManager::GetTransportationManager()->GetFieldManager();
G4TransportationManager* transportMgr =
G4TransportationManager::GetTransportationManager();
G4FieldManager* fieldManager= transportMgr->GetFieldManager();
fieldManager->SetDetectorField(fField);
// G4MagIntegratorStepper* stepper = new G4ClassicalRK4(equation,12);
G4MagIntegratorStepper* stepper = new G4ClassicalRK4(equation,8);
const int nVar= 8; // 12 for RepleteEofM
StepperType* stepper = new StepperType(equation,nVar);
G4double minStep = 0.01*mm;
G4ChordFinder* chordFinder = nullptr;
if( stepper )
{
auto intgrDriver = new G4IntegrationDriver<StepperType>(minStep,
stepper,
stepper->GetNumberOfVariables());
if( intgrDriver ){
chordFinder = new G4ChordFinder(intgrDriver);
}
}
G4ChordFinder* chordFinder =
new G4ChordFinder((G4MagneticField*)fField,minStep,stepper);
// OLD -- and wrong
// new G4ChordFinder((G4MagneticField*)fField,minStep,stepper);
// Set accuracy parameters
G4double deltaChord = 3.0*mm;
chordFinder->SetDeltaChord( deltaChord );
G4double deltaOneStep = 0.01*mm;
fieldManager->SetAccuraciesWithDeltaOneStep(deltaOneStep);
G4double deltaIntersection = 0.1*mm;
fieldManager->SetDeltaIntersection(deltaIntersection);
G4TransportationManager* transportManager =
G4TransportationManager::GetTransportationManager();
G4PropagatorInField* fieldPropagator =
transportManager->GetPropagatorInField();
G4double epsMin = 2.5e-7*mm;
G4double epsMax = 0.05*mm;
fieldPropagator->SetMinimumEpsilonStep(epsMin);
fieldPropagator->SetMaximumEpsilonStep(epsMax);
// Control accuracy of integration
//
G4double deltaOneStep = 0.01*mm;
fieldManager->SetAccuraciesWithDeltaOneStep(deltaOneStep);
//
G4double epsMax = 1.0e-4; // Pure number -- maximum relative integration error
G4double epsMin = 2.5e-7; //
fieldManager->SetMinimumEpsilonStep(epsMin);
fieldManager->SetMaximumEpsilonStep(epsMax);
// The acceptable relative accuracy is calculated as deltaOneStep / stepsize
// but bounded to the interval between these values!
fieldManager->SetChordFinder(chordFinder);
}
}