Import Geant4 11.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2024-12-06 11:11:40 +01:00
parent e58e650b32
commit 32390e802b
1984 changed files with 98713 additions and 83996 deletions
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-02-ref-06 (28-June-2024)
Geant4 version Name: geant4-11-03-ref-00 (6-December-2024)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -55,7 +55,6 @@ Registered graphics systems are:
RayTracer (RayTracer)
VRML2FILE (VRML2FILE)
gMocrenFile (gMocrenFile)
TOOLSSG_OFFSCREEN (TSG_OFFSCREEN)
TOOLSSG_OFFSCREEN (TSG_OFFSCREEN, TSG_FILE)
OpenGLImmediateQt (OGLIQt, OGLI)
OpenGLStoredQt (OGLSQt, OGL, OGLS)
@@ -134,10 +133,13 @@ Bremsstrahlung energy threshold above which
primary e+- is added to the list of secondary 100 TeV
Bremsstrahlung energy threshold above which primary
muon/hadron is added to the list of secondary 100 TeV
Positron annihilation at rest model SimplePositronium
Enable 3 gamma annihilation on fly 0
Lowest triplet kinetic energy 1 MeV
Enable sampling of gamma linear polarisation 0
5D gamma conversion model type 0
5D gamma conversion model on isolated ion 0
Use Ricardo-Gerardo pair production model 0
Livermore data directory epics_2017
=======================================================================
====== Ionisation Parameters ========
@@ -308,7 +310,7 @@ ionIoni: for GenericIon XStype:3 SubType=2
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
Bragg : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 100 TeV
msc: for alpha SubType= 10
@@ -790,7 +792,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
=======================================================================
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Type of pre-compound inverse x-section 1
Pre-compound model active 1
Pre-compound excitation low energy 100 keV
Pre-compound excitation high energy 30 MeV
@@ -815,12 +817,10 @@ Use discrete excitation energy of the residual 0
Time limit for long lived isomeres 1 ns
Isomer production flag 1
Internal e- conversion flag 1
Store e- internal conversion data 0
Store e- internal conversion data 1
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
=======================================================================
G4VisManager: Using G4TrajectoryDrawByCharge as fallback trajectory model.
See commands in /vis/modeling/trajectories/ for other options.
*********************************************************************************************************
* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-02-ref-06 (28-June-2024)
Geant4 version Name: geant4-11-03-ref-00 (6-December-2024)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -63,7 +63,6 @@ Registered graphics systems are:
RayTracer (RayTracer)
VRML2FILE (VRML2FILE)
gMocrenFile (gMocrenFile)
TOOLSSG_OFFSCREEN (TSG_OFFSCREEN)
TOOLSSG_OFFSCREEN (TSG_OFFSCREEN, TSG_FILE)
OpenGLImmediateQt (OGLIQt, OGLI)
OpenGLStoredQt (OGLSQt, OGL, OGLS)
@@ -123,8 +122,6 @@ Some /vis commands (optionally) take a string to specify colour.
"/vis/list" to see available colours.
G4ChordFinder: stepperDriverId: 2
Magnetic field is active, fieldValue = (0 0 1 T ).
G4VisManager: Using G4TrajectoryDrawByCharge as fallback trajectory model.
See commands in /vis/modeling/trajectories/ for other options.
... set ntuple merging row mode : row-wise - done
... create file : DefaultOutput.root - done
... open analysis file : DefaultOutput.root - done
@@ -1131,12 +1128,5 @@ See commands in /vis/modeling/trajectories/ for other options.
________Tracker model triggered _________
... write file : DefaultOutput.root - done
... close file : DefaultOutput.root - done
There are histograms that can be viewed with visualization:
3 h1 histograms(s)
List them with "/analysis/list".
View them immediately with "/vis/plot" or "/vis/reviewPlots".
But...there are no entries. To make your histograms available for
plotting in this UI session, use CloseFile(false) in your
EndOfRunAction and Reset() in your BeginOfRunAction.
Graphics systems deleted.
Visualization Manager deleting...
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-02-ref-06 (28-June-2024)
Geant4 version Name: geant4-11-03-ref-00 (6-December-2024)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -34,7 +34,6 @@ Registered graphics systems are:
RayTracer (RayTracer)
VRML2FILE (VRML2FILE)
gMocrenFile (gMocrenFile)
TOOLSSG_OFFSCREEN (TSG_OFFSCREEN)
TOOLSSG_OFFSCREEN (TSG_OFFSCREEN, TSG_FILE)
OpenGLImmediateQt (OGLIQt, OGLI)
OpenGLStoredQt (OGLSQt, OGL, OGLS)
@@ -365,7 +364,7 @@ Checking overlaps for volume Detector:99 (G4Tubs) ... OK!
=======================================================================
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Type of pre-compound inverse x-section 1
Pre-compound model active 1
Pre-compound excitation low energy 100 keV
Pre-compound excitation high energy 30 MeV
@@ -390,12 +389,10 @@ Use discrete excitation energy of the residual 0
Time limit for long lived isomeres 1 ns
Isomer production flag 1
Internal e- conversion flag 1
Store e- internal conversion data 0
Store e- internal conversion data 1
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
=======================================================================
G4VisManager: Using G4TrajectoryDrawByCharge as fallback trajectory model.
See commands in /vis/modeling/trajectories/ for other options.
Par03EMShowerModel:
Gaussian distribution (transverse plane): mu = 0, sigma = 9.87274 mm
Gamma distribution (along shower axis): alpha = 4.3593, beta = 0.5, max depth = 30 X0
@@ -6,6 +6,9 @@ It must **not** be used as a substitute for writing good git commit messages!
-------------------------------------------------------------------------------
## 2024-10-22 Ben Morgan (expar04-V11-02-03)
- Bump tensorflow version from [GitHub Dependabot PR](https://github.com/Geant4/geant4/pull/75)
## 2024-06-18 Gabriele Cosmo (expar04-V11-02-02)
- Bump scikit-learn version from [GitHub Dependabot PR](https://github.com/Geant4/geant4/pull/73)
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-02-ref-06 (28-June-2024)
Geant4 version Name: geant4-11-03-ref-00 (6-December-2024)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -34,7 +34,6 @@ Registered graphics systems are:
RayTracer (RayTracer)
VRML2FILE (VRML2FILE)
gMocrenFile (gMocrenFile)
TOOLSSG_OFFSCREEN (TSG_OFFSCREEN)
TOOLSSG_OFFSCREEN (TSG_OFFSCREEN, TSG_FILE)
OpenGLImmediateQt (OGLIQt, OGLI)
OpenGLStoredQt (OGLSQt, OGL, OGLS)
@@ -154,8 +153,6 @@ Checking overlaps for volume Detector:9999 (G4Tubs) ... OK!
gamma : fastSimProcess_massGeom[geom:World]
Model defineMesh activated.
Model inferenceModel not found.
G4VisManager: Using G4TrajectoryDrawByCharge as fallback trajectory model.
See commands in /vis/modeling/trajectories/ for other options.
-------- WWWW ------- G4Exception-START -------- WWWW -------
*** G4Exception : Analysis_W001
@@ -165,12 +162,5 @@ Setting was ignored.
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------
There are histograms that can be viewed with visualization:
22 h1 histograms(s)
List them with "/analysis/list".
View them immediately with "/vis/plot" or "/vis/reviewPlots".
But...there are no entries. To make your histograms available for
plotting in this UI session, use CloseFile(false) in your
EndOfRunAction and Reset() in your BeginOfRunAction.
Graphics systems deleted.
Visualization Manager deleting...
@@ -1,4 +1,4 @@
tensorflow==2.11.1
tensorflow==2.12.1
numpy==1.23.1
h5py==3.7.0
matplotlib==3.5.2
@@ -4,6 +4,9 @@ See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
which **must** added in reverse chronological order (newest at the top). It must **not**
be used as a substitute for writing good git commit messages!
## 2024-10-02 I. Semeniouk (exgflash-V11-02-00)
- Add dedicated History files to all exaples
## 2023-06-13 I. Semeniouk (exgflash-V11-01-01)
- gflash1,2,3,a - replaces static with inline static and moveinitialization into .hh files
- gflasha - Use G4PhysListFactory for physics list initialization
@@ -0,0 +1,13 @@
# Example gflash History
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
which **must** added in reverse chronological order (newest at the top). It must **not**
be used as a substitute for writing good git commit messages!
## 2024-10-02 I. Semeniouk (exgflash1-V11-02-00)
- Added dedicated History file
---
# History entries prior to 11.0
@@ -16,7 +16,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-02-ref-06 (28-June-2024)
Geant4 version Name: geant4-11-03-ref-00 (6-December-2024)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -40,7 +40,6 @@ Registered graphics systems are:
RayTracer (RayTracer)
VRML2FILE (VRML2FILE)
gMocrenFile (gMocrenFile)
TOOLSSG_OFFSCREEN (TSG_OFFSCREEN)
TOOLSSG_OFFSCREEN (TSG_OFFSCREEN, TSG_FILE)
OpenGLImmediateQt (OGLIQt, OGLI)
OpenGLStoredQt (OGLSQt, OGL, OGLS)
@@ -131,7 +130,7 @@ Creating shower parameterization models
Z = 68.3609
A = 170.881
X0 = 0.892453 cm
Rm = 1.73762 cm
Rm = 1.75417 cm
Ec = 10.7858 MeV
/********************************************/
/********************************************/
@@ -167,10 +166,13 @@ Bremsstrahlung energy threshold above which
primary e+- is added to the list of secondary 100 TeV
Bremsstrahlung energy threshold above which primary
muon/hadron is added to the list of secondary 100 TeV
Positron annihilation at rest model SimplePositronium
Enable 3 gamma annihilation on fly 0
Lowest triplet kinetic energy 1 MeV
Enable sampling of gamma linear polarisation 0
5D gamma conversion model type 0
5D gamma conversion model on isolated ion 0
Use Ricardo-Gerardo pair production model 0
Livermore data directory epics_2017
=======================================================================
====== Ionisation Parameters ========
@@ -341,7 +343,7 @@ ionIoni: for GenericIon XStype:3 SubType=2
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
Bragg : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 100 TeV
msc: for alpha SubType= 10
@@ -823,7 +825,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
=======================================================================
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Type of pre-compound inverse x-section 1
Pre-compound model active 1
Pre-compound excitation low energy 100 keV
Pre-compound excitation high energy 30 MeV
@@ -848,26 +850,24 @@ Use discrete excitation energy of the residual 0
Time limit for long lived isomeres 1 ns
Isomer production flag 1
Internal e- conversion flag 1
Store e- internal conversion data 0
Store e- internal conversion data 1
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
=======================================================================
G4VisManager: Using G4TrajectoryDrawByCharge as fallback trajectory model.
See commands in /vis/modeling/trajectories/ for other options.
### Run 0 start.
------ Start ExGflashEventAction -----
Start generating event Nr 0
******************************************
Internal Real Elapsed Time is: 0.014475
Internal Real Elapsed Time is: 0.0106308
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 0 -----
12125 hits are stored in ExGflashHitsCollection
e1 12.0317 e3x3 48.4152 GeV e5x5 48.7987
num1 2965 num3x3 11849 num5x5 11925
12165 hits are stored in ExGflashHitsCollection
e1 12.0103 e3x3 48.3777 GeV e5x5 48.797
num1 2967 num3x3 11894 num5x5 11978
Total energy deposited in the calorimeter: 49.761 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
@@ -875,143 +875,143 @@ Internal GetUserElapsed Time: 0.01
******************************************
Internal Real Elapsed Time is: 0.00939877
Internal Real Elapsed Time is: 0.0075115
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 1 -----
11982 hits are stored in ExGflashHitsCollection
e1 12.2562 e3x3 48.5735 GeV e5x5 49.0485
num1 2972 num3x3 11726 num5x5 11814
Total energy deposited in the calorimeter: 49.909 (GeV)
11984 hits are stored in ExGflashHitsCollection
e1 12.1874 e3x3 48.4768 GeV e5x5 48.9731
num1 2942 num3x3 11721 num5x5 11815
Total energy deposited in the calorimeter: 49.8935 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
Start generating event Nr 2
******************************************
Internal Real Elapsed Time is: 0.00870441
Internal Real Elapsed Time is: 0.00734089
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 2 -----
11976 hits are stored in ExGflashHitsCollection
e1 12.2336 e3x3 48.3345 GeV e5x5 48.9207
num1 2964 num3x3 11682 num5x5 11794
Total energy deposited in the calorimeter: 49.8586 (GeV)
11829 hits are stored in ExGflashHitsCollection
e1 12.0932 e3x3 47.6425 GeV e5x5 48.1971
num1 2949 num3x3 11520 num5x5 11631
Total energy deposited in the calorimeter: 49.1803 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
Start generating event Nr 3
******************************************
Internal Real Elapsed Time is: 0.00863355
Internal Real Elapsed Time is: 0.00750217
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
Internal GetUserElapsed Time: 0
******************************************
------ ExGflashEventAction::End of event nr. 3 -----
11917 hits are stored in ExGflashHitsCollection
e1 12.0463 e3x3 48.2206 GeV e5x5 48.6842
num1 2902 num3x3 11632 num5x5 11722
Total energy deposited in the calorimeter: 49.6912 (GeV)
11977 hits are stored in ExGflashHitsCollection
e1 12.107 e3x3 48.3793 GeV e5x5 48.9216
num1 2920 num3x3 11691 num5x5 11790
Total energy deposited in the calorimeter: 49.9061 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
Start generating event Nr 4
******************************************
Internal Real Elapsed Time is: 0.00823634
Internal Real Elapsed Time is: 0.00769413
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 4 -----
11882 hits are stored in ExGflashHitsCollection
e1 12.0295 e3x3 48.0694 GeV e5x5 48.5448
num1 2905 num3x3 11581 num5x5 11676
Total energy deposited in the calorimeter: 49.5694 (GeV)
12044 hits are stored in ExGflashHitsCollection
e1 12.0678 e3x3 48.1732 GeV e5x5 48.7084
num1 2934 num3x3 11670 num5x5 11794
Total energy deposited in the calorimeter: 49.812 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
Start generating event Nr 5
******************************************
Internal Real Elapsed Time is: 0.00852947
Internal Real Elapsed Time is: 0.00732625
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 5 -----
11905 hits are stored in ExGflashHitsCollection
e1 11.9556 e3x3 48.1981 GeV e5x5 48.6425
num1 2916 num3x3 11627 num5x5 11717
Total energy deposited in the calorimeter: 49.6017 (GeV)
11953 hits are stored in ExGflashHitsCollection
e1 12.1283 e3x3 48.3729 GeV e5x5 48.9179
num1 2900 num3x3 11695 num5x5 11796
Total energy deposited in the calorimeter: 49.7809 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
Start generating event Nr 6
******************************************
Internal Real Elapsed Time is: 0.00837037
Internal Real Elapsed Time is: 0.007291
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 6 -----
11932 hits are stored in ExGflashHitsCollection
e1 12.0207 e3x3 48.242 GeV e5x5 48.7399
num1 2942 num3x3 11654 num5x5 11749
Total energy deposited in the calorimeter: 49.7031 (GeV)
11893 hits are stored in ExGflashHitsCollection
e1 12.0413 e3x3 47.9273 GeV e5x5 48.4202
num1 2901 num3x3 11565 num5x5 11658
Total energy deposited in the calorimeter: 49.5946 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
Start generating event Nr 7
******************************************
Internal Real Elapsed Time is: 0.00844123
Internal Real Elapsed Time is: 0.00745794
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
Internal GetUserElapsed Time: 0
******************************************
------ ExGflashEventAction::End of event nr. 7 -----
11908 hits are stored in ExGflashHitsCollection
e1 12.0889 e3x3 48.0155 GeV e5x5 48.558
num1 2946 num3x3 11593 num5x5 11696
Total energy deposited in the calorimeter: 49.6688 (GeV)
11946 hits are stored in ExGflashHitsCollection
e1 11.9734 e3x3 48.433 GeV e5x5 48.9079
num1 2919 num3x3 11686 num5x5 11777
Total energy deposited in the calorimeter: 49.7454 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
Start generating event Nr 8
******************************************
Internal Real Elapsed Time is: 0.00836785
Internal Real Elapsed Time is: 0.00727135
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 8 -----
11898 hits are stored in ExGflashHitsCollection
e1 11.9219 e3x3 48.1687 GeV e5x5 48.6434
num1 2881 num3x3 11615 num5x5 11710
Total energy deposited in the calorimeter: 49.5836 (GeV)
11916 hits are stored in ExGflashHitsCollection
e1 12.0648 e3x3 48.2053 GeV e5x5 48.5967
num1 2918 num3x3 11641 num5x5 11717
Total energy deposited in the calorimeter: 49.6439 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
Start generating event Nr 9
******************************************
Internal Real Elapsed Time is: 0.00866801
Internal Real Elapsed Time is: 0.00733821
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 9 -----
11944 hits are stored in ExGflashHitsCollection
e1 12.1463 e3x3 48.4106 GeV e5x5 48.8776
num1 2951 num3x3 11689 num5x5 11775
Total energy deposited in the calorimeter: 49.767 (GeV)
11949 hits are stored in ExGflashHitsCollection
e1 12.1789 e3x3 48.3863 GeV e5x5 48.8426
num1 2958 num3x3 11674 num5x5 11766
Total energy deposited in the calorimeter: 49.7708 (GeV)
0 trajectories stored in this event.
number of event = 10
Graphics systems deleted.
Visualization Manager deleting...
Internal Real Elapsed Time /event is: 0.0102028
Internal Real Elapsed Time /event is: 0.00859602
******************************************
Total Real Elapsed Time is: 3.9052
Total System Elapsed Time: 0.21
Total GetUserElapsed Time: 2.7
Total Real Elapsed Time is: 3.31761
Total System Elapsed Time: 0.16
Total GetUserElapsed Time: 2.75
******************************************
@@ -0,0 +1,13 @@
# Example gflash History
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
which **must** added in reverse chronological order (newest at the top). It must **not**
be used as a substitute for writing good git commit messages!
## 2024-10-02 I. Semeniouk (exgflash2-V11-02-00)
- Added dedicated History file
---
# History entries prior to 11.0
@@ -16,7 +16,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-02-ref-06 (28-June-2024)
Geant4 version Name: geant4-11-03-ref-00 (6-December-2024)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -41,7 +41,6 @@ Registered graphics systems are:
RayTracer (RayTracer)
VRML2FILE (VRML2FILE)
gMocrenFile (gMocrenFile)
TOOLSSG_OFFSCREEN (TSG_OFFSCREEN)
TOOLSSG_OFFSCREEN (TSG_OFFSCREEN, TSG_FILE)
OpenGLImmediateQt (OGLIQt, OGLI)
OpenGLStoredQt (OGLSQt, OGL, OGLS)
@@ -132,7 +131,7 @@ Creating shower parameterization models
Z = 68.3609
A = 170.881
X0 = 0.892453 cm
Rm = 1.73762 cm
Rm = 1.75417 cm
Ec = 10.7858 MeV
/********************************************/
/********************************************/
@@ -169,10 +168,13 @@ Bremsstrahlung energy threshold above which
primary e+- is added to the list of secondary 100 TeV
Bremsstrahlung energy threshold above which primary
muon/hadron is added to the list of secondary 100 TeV
Positron annihilation at rest model SimplePositronium
Enable 3 gamma annihilation on fly 0
Lowest triplet kinetic energy 1 MeV
Enable sampling of gamma linear polarisation 0
5D gamma conversion model type 0
5D gamma conversion model on isolated ion 0
Use Ricardo-Gerardo pair production model 0
Livermore data directory epics_2017
=======================================================================
====== Ionisation Parameters ========
@@ -343,7 +345,7 @@ ionIoni: for GenericIon XStype:3 SubType=2
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
Bragg : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 100 TeV
msc: for alpha SubType= 10
@@ -825,7 +827,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
=======================================================================
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Type of pre-compound inverse x-section 1
Pre-compound model active 1
Pre-compound excitation low energy 100 keV
Pre-compound excitation high energy 30 MeV
@@ -850,26 +852,24 @@ Use discrete excitation energy of the residual 0
Time limit for long lived isomeres 1 ns
Isomer production flag 1
Internal e- conversion flag 1
Store e- internal conversion data 0
Store e- internal conversion data 1
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
=======================================================================
G4VisManager: Using G4TrajectoryDrawByCharge as fallback trajectory model.
See commands in /vis/modeling/trajectories/ for other options.
### Run 0 start.
------ Start ExGflashEventAction -----
Start generating event Nr 0
******************************************
Internal Real Elapsed Time is: 0.0112237
Internal Real Elapsed Time is: 0.0113062
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 0 -----
12125 hits are stored in ExGflashHitsCollection
e1 12.0233 e3x3 48.4099 GeV e5x5 48.7934
num1 2956 num3x3 11839 num5x5 11915
e1 12.0182 e3x3 48.3888 GeV e5x5 48.7833
num1 2955 num3x3 11834 num5x5 11913
Total energy deposited in the calorimeter: 49.761 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
@@ -877,14 +877,14 @@ Internal GetUserElapsed Time: 0.01
******************************************
Internal Real Elapsed Time is: 0.00791128
Internal Real Elapsed Time is: 0.00792756
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 1 -----
11954 hits are stored in ExGflashHitsCollection
e1 12.1485 e3x3 48.4313 GeV e5x5 48.8994
num1 2938 num3x3 11701 num5x5 11789
e1 12.1485 e3x3 48.42 GeV e5x5 48.8901
num1 2938 num3x3 11698 num5x5 11787
Total energy deposited in the calorimeter: 49.7864 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
@@ -892,14 +892,14 @@ Internal GetUserElapsed Time: 0
******************************************
Internal Real Elapsed Time is: 0.00774473
Internal Real Elapsed Time is: 0.00760183
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 2 -----
11919 hits are stored in ExGflashHitsCollection
e1 12.2873 e3x3 48.1879 GeV e5x5 48.7664
num1 2972 num3x3 11636 num5x5 11745
e1 12.2833 e3x3 48.1591 GeV e5x5 48.7458
num1 2971 num3x3 11630 num5x5 11741
Total energy deposited in the calorimeter: 49.6574 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
@@ -907,14 +907,14 @@ Internal GetUserElapsed Time: 0.01
******************************************
Internal Real Elapsed Time is: 0.00813378
Internal Real Elapsed Time is: 0.00771315
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
Internal GetUserElapsed Time: 0
******************************************
------ ExGflashEventAction::End of event nr. 3 -----
11895 hits are stored in ExGflashHitsCollection
e1 12.0554 e3x3 48.0316 GeV e5x5 48.5297
num1 2897 num3x3 11578 num5x5 11676
e1 12.0459 e3x3 48.0164 GeV e5x5 48.5076
num1 2895 num3x3 11575 num5x5 11672
Total energy deposited in the calorimeter: 49.5564 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
@@ -922,14 +922,14 @@ Internal GetUserElapsed Time: 0.01
******************************************
Internal Real Elapsed Time is: 0.00758386
Internal Real Elapsed Time is: 0.00760171
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 4 -----
11988 hits are stored in ExGflashHitsCollection
e1 12.0166 e3x3 48.5065 GeV e5x5 48.9841
num1 2895 num3x3 11732 num5x5 11817
e1 12.0124 e3x3 48.4998 GeV e5x5 48.9682
num1 2894 num3x3 11731 num5x5 11814
Total energy deposited in the calorimeter: 49.9094 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
@@ -937,44 +937,44 @@ Internal GetUserElapsed Time: 0.01
******************************************
Internal Real Elapsed Time is: 0.00766304
Internal Real Elapsed Time is: 0.00786318
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 5 -----
11959 hits are stored in ExGflashHitsCollection
e1 11.9579 e3x3 48.1831 GeV e5x5 48.7352
num1 2896 num3x3 11621 num5x5 11732
Total energy deposited in the calorimeter: 49.8774 (GeV)
11958 hits are stored in ExGflashHitsCollection
e1 11.952 e3x3 48.1524 GeV e5x5 48.7146
num1 2895 num3x3 11615 num5x5 11728
Total energy deposited in the calorimeter: 49.8722 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
Start generating event Nr 6
******************************************
Internal Real Elapsed Time is: 0.00781356
Internal Real Elapsed Time is: 0.00782074
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 6 -----
11969 hits are stored in ExGflashHitsCollection
e1 12.1002 e3x3 48.3984 GeV e5x5 48.8984
num1 2950 num3x3 11680 num5x5 11777
Total energy deposited in the calorimeter: 49.9082 (GeV)
11968 hits are stored in ExGflashHitsCollection
e1 12.1002 e3x3 48.3835 GeV e5x5 48.8698
num1 2950 num3x3 11676 num5x5 11771
Total energy deposited in the calorimeter: 49.9028 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
Start generating event Nr 7
******************************************
Internal Real Elapsed Time is: 0.00759103
Internal Real Elapsed Time is: 0.00777636
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
Internal GetUserElapsed Time: 0
******************************************
------ ExGflashEventAction::End of event nr. 7 -----
11987 hits are stored in ExGflashHitsCollection
e1 12.3013 e3x3 48.501 GeV e5x5 48.9505
num1 3005 num3x3 11727 num5x5 11805
e1 12.2978 e3x3 48.4837 GeV e5x5 48.9452
num1 3004 num3x3 11724 num5x5 11804
Total energy deposited in the calorimeter: 49.9308 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
@@ -982,14 +982,14 @@ Internal GetUserElapsed Time: 0.01
******************************************
Internal Real Elapsed Time is: 0.00756575
Internal Real Elapsed Time is: 0.00765324
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
Internal GetUserElapsed Time: 0
******************************************
------ ExGflashEventAction::End of event nr. 8 -----
11973 hits are stored in ExGflashHitsCollection
e1 12.4257 e3x3 48.5676 GeV e5x5 48.9457
num1 2993 num3x3 11714 num5x5 11786
e1 12.4113 e3x3 48.5051 GeV e5x5 48.8871
num1 2991 num3x3 11703 num5x5 11777
Total energy deposited in the calorimeter: 49.8946 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
@@ -997,23 +997,23 @@ Internal GetUserElapsed Time: 0.01
******************************************
Internal Real Elapsed Time is: 0.00776058
Internal Real Elapsed Time is: 0.00777984
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 9 -----
11968 hits are stored in ExGflashHitsCollection
e1 12.0384 e3x3 48.347 GeV e5x5 48.8937
num1 2921 num3x3 11674 num5x5 11778
Total energy deposited in the calorimeter: 49.8853 (GeV)
11967 hits are stored in ExGflashHitsCollection
e1 12.0261 e3x3 48.3346 GeV e5x5 48.8641
num1 2918 num3x3 11671 num5x5 11773
Total energy deposited in the calorimeter: 49.8792 (GeV)
0 trajectories stored in this event.
number of event = 10
Graphics systems deleted.
Visualization Manager deleting...
Internal Real Elapsed Time /event is: 0.00899904
Internal Real Elapsed Time /event is: 0.00900487
******************************************
Total Real Elapsed Time is: 3.4706
Total System Elapsed Time: 0.18
Total GetUserElapsed Time: 2.65
Total Real Elapsed Time is: 3.38352
Total System Elapsed Time: 0.16
Total GetUserElapsed Time: 2.71
******************************************
@@ -0,0 +1,13 @@
# Example gflash History
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
which **must** added in reverse chronological order (newest at the top). It must **not**
be used as a substitute for writing good git commit messages!
## 2024-10-02 I. Semeniouk (exgflash3-V11-02-00)
- Added dedicated History file
---
# History entries prior to 11.0
@@ -16,7 +16,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-02-ref-06 (28-June-2024)
Geant4 version Name: geant4-11-03-ref-00 (6-December-2024)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -41,7 +41,6 @@ Registered graphics systems are:
RayTracer (RayTracer)
VRML2FILE (VRML2FILE)
gMocrenFile (gMocrenFile)
TOOLSSG_OFFSCREEN (TSG_OFFSCREEN)
TOOLSSG_OFFSCREEN (TSG_OFFSCREEN, TSG_FILE)
OpenGLImmediateQt (OGLIQt, OGLI)
OpenGLStoredQt (OGLSQt, OGL, OGLS)
@@ -107,7 +106,7 @@ Creating shower parameterization models
Z = 68.3609
A = 170.881
X0 = 0.892453 cm
Rm = 1.73762 cm
Rm = 1.75417 cm
Ec = 10.7858 MeV
/********************************************/
/********************************************/
@@ -146,10 +145,13 @@ Bremsstrahlung energy threshold above which
primary e+- is added to the list of secondary 100 TeV
Bremsstrahlung energy threshold above which primary
muon/hadron is added to the list of secondary 100 TeV
Positron annihilation at rest model SimplePositronium
Enable 3 gamma annihilation on fly 0
Lowest triplet kinetic energy 1 MeV
Enable sampling of gamma linear polarisation 0
5D gamma conversion model type 0
5D gamma conversion model on isolated ion 0
Use Ricardo-Gerardo pair production model 0
Livermore data directory epics_2017
=======================================================================
====== Ionisation Parameters ========
@@ -320,7 +322,7 @@ ionIoni: for GenericIon XStype:3 SubType=2
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
Bragg : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 100 TeV
msc: for alpha SubType= 10
@@ -802,7 +804,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
=======================================================================
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Type of pre-compound inverse x-section 1
Pre-compound model active 1
Pre-compound excitation low energy 100 keV
Pre-compound excitation high energy 30 MeV
@@ -827,26 +829,24 @@ Use discrete excitation energy of the residual 0
Time limit for long lived isomeres 1 ns
Isomer production flag 1
Internal e- conversion flag 1
Store e- internal conversion data 0
Store e- internal conversion data 1
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
=======================================================================
G4VisManager: Using G4TrajectoryDrawByCharge as fallback trajectory model.
See commands in /vis/modeling/trajectories/ for other options.
### Run 0 start.
------ Start ExGflashEventAction -----
Start generating event Nr 0
******************************************
Internal Real Elapsed Time is: 0.0112281
Internal Real Elapsed Time is: 0.0110532
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 0 -----
12125 hits are stored in ExGflashHitsCollection
e1 12.0233 e3x3 48.4099 GeV e5x5 48.7934
num1 2956 num3x3 11839 num5x5 11915
e1 12.0182 e3x3 48.3888 GeV e5x5 48.7833
num1 2955 num3x3 11834 num5x5 11913
Total energy deposited in the calorimeter: 49.761 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
@@ -854,14 +854,14 @@ Internal GetUserElapsed Time: 0.01
******************************************
Internal Real Elapsed Time is: 0.00798136
Internal Real Elapsed Time is: 0.00766663
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
Internal GetUserElapsed Time: 0
******************************************
------ ExGflashEventAction::End of event nr. 1 -----
11954 hits are stored in ExGflashHitsCollection
e1 12.1485 e3x3 48.4313 GeV e5x5 48.8994
num1 2938 num3x3 11701 num5x5 11789
e1 12.1485 e3x3 48.42 GeV e5x5 48.8901
num1 2938 num3x3 11698 num5x5 11787
Total energy deposited in the calorimeter: 49.7864 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
@@ -869,14 +869,14 @@ Internal GetUserElapsed Time: 0.01
******************************************
Internal Real Elapsed Time is: 0.00839787
Internal System Elapsed Time: 0
Internal Real Elapsed Time is: 0.0100409
Internal System Elapsed Time: 0.01
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 2 -----
11919 hits are stored in ExGflashHitsCollection
e1 12.2873 e3x3 48.1879 GeV e5x5 48.7664
num1 2972 num3x3 11636 num5x5 11745
e1 12.2833 e3x3 48.1591 GeV e5x5 48.7458
num1 2971 num3x3 11630 num5x5 11741
Total energy deposited in the calorimeter: 49.6574 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
@@ -884,14 +884,14 @@ Internal GetUserElapsed Time: 0.01
******************************************
Internal Real Elapsed Time is: 0.00844427
Internal Real Elapsed Time is: 0.0100335
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 3 -----
11895 hits are stored in ExGflashHitsCollection
e1 12.0554 e3x3 48.0316 GeV e5x5 48.5297
num1 2897 num3x3 11578 num5x5 11676
e1 12.0459 e3x3 48.0164 GeV e5x5 48.5076
num1 2895 num3x3 11575 num5x5 11672
Total energy deposited in the calorimeter: 49.5564 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
@@ -899,14 +899,14 @@ Internal GetUserElapsed Time: 0.01
******************************************
Internal Real Elapsed Time is: 0.00825253
Internal Real Elapsed Time is: 0.0081789
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 4 -----
11988 hits are stored in ExGflashHitsCollection
e1 12.0166 e3x3 48.5065 GeV e5x5 48.9841
num1 2895 num3x3 11732 num5x5 11817
e1 12.0124 e3x3 48.4998 GeV e5x5 48.9682
num1 2894 num3x3 11731 num5x5 11814
Total energy deposited in the calorimeter: 49.9094 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
@@ -914,44 +914,44 @@ Internal GetUserElapsed Time: 0
******************************************
Internal Real Elapsed Time is: 0.00806104
Internal Real Elapsed Time is: 0.00845498
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 5 -----
11959 hits are stored in ExGflashHitsCollection
e1 11.9579 e3x3 48.1831 GeV e5x5 48.7352
num1 2896 num3x3 11621 num5x5 11732
Total energy deposited in the calorimeter: 49.8774 (GeV)
11958 hits are stored in ExGflashHitsCollection
e1 11.952 e3x3 48.1524 GeV e5x5 48.7146
num1 2895 num3x3 11615 num5x5 11728
Total energy deposited in the calorimeter: 49.8722 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
Start generating event Nr 6
******************************************
Internal Real Elapsed Time is: 0.00809571
Internal Real Elapsed Time is: 0.00881673
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
Internal GetUserElapsed Time: 0
******************************************
------ ExGflashEventAction::End of event nr. 6 -----
11969 hits are stored in ExGflashHitsCollection
e1 12.1002 e3x3 48.3984 GeV e5x5 48.8984
num1 2950 num3x3 11680 num5x5 11777
Total energy deposited in the calorimeter: 49.9082 (GeV)
11968 hits are stored in ExGflashHitsCollection
e1 12.1002 e3x3 48.3835 GeV e5x5 48.8698
num1 2950 num3x3 11676 num5x5 11771
Total energy deposited in the calorimeter: 49.9028 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
Start generating event Nr 7
******************************************
Internal Real Elapsed Time is: 0.00803677
Internal Real Elapsed Time is: 0.00977316
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 7 -----
11987 hits are stored in ExGflashHitsCollection
e1 12.3013 e3x3 48.501 GeV e5x5 48.9505
num1 3005 num3x3 11727 num5x5 11805
e1 12.2978 e3x3 48.4837 GeV e5x5 48.9452
num1 3004 num3x3 11724 num5x5 11804
Total energy deposited in the calorimeter: 49.9308 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
@@ -959,14 +959,14 @@ Internal GetUserElapsed Time: 0.01
******************************************
Internal Real Elapsed Time is: 0.00799342
Internal Real Elapsed Time is: 0.00958472
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 8 -----
11973 hits are stored in ExGflashHitsCollection
e1 12.4257 e3x3 48.5676 GeV e5x5 48.9457
num1 2993 num3x3 11714 num5x5 11786
e1 12.4113 e3x3 48.5051 GeV e5x5 48.8871
num1 2991 num3x3 11703 num5x5 11777
Total energy deposited in the calorimeter: 49.8946 (GeV)
0 trajectories stored in this event.
------ Start ExGflashEventAction -----
@@ -974,23 +974,23 @@ Internal GetUserElapsed Time: 0
******************************************
Internal Real Elapsed Time is: 0.00797922
Internal Real Elapsed Time is: 0.00977662
Internal System Elapsed Time: 0
Internal GetUserElapsed Time: 0
Internal GetUserElapsed Time: 0.01
******************************************
------ ExGflashEventAction::End of event nr. 9 -----
11968 hits are stored in ExGflashHitsCollection
e1 12.0384 e3x3 48.347 GeV e5x5 48.8937
num1 2921 num3x3 11674 num5x5 11778
Total energy deposited in the calorimeter: 49.8853 (GeV)
11967 hits are stored in ExGflashHitsCollection
e1 12.0261 e3x3 48.3346 GeV e5x5 48.8641
num1 2918 num3x3 11671 num5x5 11773
Total energy deposited in the calorimeter: 49.8792 (GeV)
0 trajectories stored in this event.
number of event = 10
Graphics systems deleted.
Visualization Manager deleting...
Internal Real Elapsed Time /event is: 0.00938559
Internal Real Elapsed Time /event is: 0.0103755
******************************************
Total Real Elapsed Time is: 3.4754
Total System Elapsed Time: 0.18
Total GetUserElapsed Time: 2.66
Total Real Elapsed Time is: 3.38986
Total System Elapsed Time: 0.16
Total GetUserElapsed Time: 2.72
******************************************
@@ -3,9 +3,9 @@
/*! \page Examplegflasha Example gflasha
This example demonstrates usage 'gflash' shower parameterisation
in homogeneous calorimeter. Compare with glash1,2,3 in this
example histograms was added. This makes it possible to use this
This example demonstrating usage 'gflash' shower parameterisation
in homogeneous calorimeter. Compare with glash1,2,3 the histograms
have been added in this example. This makes it possible to use this
example for fine tuning of GFLASH parameters.
This example allows to compare the shower profiles from fast simulation
@@ -23,12 +23,12 @@ in this example.
The Physics list factory is used in this example.
The default physics list is FTFP_BERT which has EM opt0.
Additionally the G4FastSimulationPhysics physics
Additionally, the G4FastSimulationPhysics physics
constructor was created to insert the G4FastSimulationManagerProcess
that is making the interface between the fast simulation and the tracking.
THe default PHYSICS list may be changed via setting of the PHYSLIST environment
variable, e.g:
The default PHYSICS list may be changed via setting of the PHYSLIST environment
variable, e.g.:
\verbatim
export PHYSLIST=FTFP_BERT_EMZ # for FTFP_BERT with opt 4 EM physics
@@ -44,8 +44,16 @@ Geometry, sensitive detector and hits are defined respectively in:
- ExGflashSensitiveDetector
- ExGflashHit
Materials can be choosen from Nist Materials: G4_Air G4_WATER ...
eg:
The geometry can be redefined in PreInit state via commands:
\verbatim
/exgflash/det/setNbCrys ncrys
/exgflash/det/setCrysWidth width [cm]
/exgflash/det/setCrysLength length [cm]
\endverbatim
Materials can be chosen from Nist Materials: G4_Air G4_WATER ...
e.g.:
\verbatim
/exgflash/det/setMat G4_PbWO4
\endverbatim
@@ -55,23 +63,24 @@ see also: csi1.mac
The virtual cylinder sliced longitudinally (slice) and radially (ring) was used.
The size of the slices and rings are expressed in radiation
length units and can be changed.
eg:
length units and Moliere radius (Rm) units for rings. The number
of division and division size in fraction of units and can be changed.
e.g.:
\verbatim
/exgflash/det/setLbin 20 1. ---> 20 slices of 1. radl
/exgflash/det/setRbin 5 0.25 ---> 5 rings of 0.25 radl
/exgflash/det/setRbin 5 0.25 ---> 5 rings of 0.25 Rm
(MaxBin = 500 in both directions)
\endverbatim
In ExGflashEventAction class the arrays corresponded slices and rings was
created and filled with hists information. This arrays was use to fill
created and filled with hists information. These arrays where use to fill
histograms later.
\section gflasha_s3 Visualization
The Visualization Manager is set in the main().
The initialization of the drawing is done via the commands /vis/...
in the macro vis.mac. To get visualization:
in the macro vis.mac. To get visualization use:
\verbatim
/control/execute vis.mac
\endverbatim
@@ -123,13 +132,20 @@ To define the output file name with histograms, use the UI command :
The macros to run in batch mode:
- test.mac - default macro for example testing
- test.mac - default macro for example testing, it show how to use different application commands: redefine the histograms and profiles, change the geometry and material, etc
- run01.mac - show how redefine the histograms
- csi.mac - like test.mac but produce profiles in CsI Material
- csi1.mac - macro which produce profiles in CsI Material
- testLong.mac - make the runs with more statistics using default geometry and histograms setting, the material is G4_PbWO4
- test0.mac - profile caparison, long run without GFLASH
- test1.mac - profile comprising, long run with GFLASH on
- csiLong.mac - show how to run testLong.mac with different material (CsI)
Each macro executes two runs with fast simulation flag ON (the output file
name is set to gflash01.root ) and OFF (the output file name is set to gflash00.root )
In addition, the ROOT macros cmpL.C, cmpR.C and cmpE.C file are provided,
which can be used to draw superimposed full and fast histograms for radial
and lateral profiles and also the normalized total energy deposition
in calorimeter.
*/
@@ -40,7 +40,8 @@ target_link_libraries(ExGflasha ${Geant4_LIBRARIES} )
# relies on these scripts being in the current working directory.
#
set(gflash_SCRIPTS
test.mac test0.mac test1.mac vis.mac csi1.mac run01.mac cmpL.C cmpR.C cmpE.C
test.mac testLong.mac vis.mac csi.mac csiLong.mac
cmpL.C cmpR.C cmpE.C
)
foreach(_script ${gflash_SCRIPTS})
@@ -27,7 +27,6 @@
/// \file ExGflasha.cc
/// \brief Main program of the parameterisations/gflash/gflasha example
//
// Created by Joanna Weng 26.11.2004
// G4 includes
#include "G4PhysListFactory.hh"
@@ -110,9 +109,6 @@ int main(int argc, char** argv)
visManager->Initialize();
G4UImanager* UImanager = G4UImanager::GetUIpointer();
UImanager->ApplyCommand("/run/verbose 0");
runManager->Initialize();
UImanager->ApplyCommand("/Step/Verbose 0");
if (ui != nullptr) // Define UI terminal for interactive mode
{
@@ -0,0 +1,25 @@
# Example gflash History
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
which **must** added in reverse chronological order (newest at the top). It must **not**
be used as a substitute for writing good git commit messages!
## 2024-10-28 I. Semeniouk (exgflasha-V11-02-02)
- ExGflashHistoManager - fix fVerbose used but uninitialised
## 2024-10-21 I. Semeniouk (exgflasha-V11-02-01)
- Code cleanup
- Restore setMat functionality, added geometry commands
- New commands documented in README
- Event generator defaults moved from vis.mac to PrimaryGenerator code
- Macro files updated
## 2024-10-02 I. Semeniouk (exgflasha-V11-02-00)
- Added dedicated History
- Bigger calo length, radial histos in fraction of radius Moliere,
fix index range.
---
# History entries prior to 11.0
@@ -5,11 +5,11 @@
GFLASHa Example
---------------
The Example demonstrating usage 'gflash' shower parameterisation
in homogeneous calorimeter.Compare with glash1,2,3 in this
example histograms was added. This makes it possible to use this
This example demonstrating usage 'gflash' shower parameterisation
in homogeneous calorimeter. Compare with glash1,2,3 the histograms
have been added in this example. This makes it possible to use this
example for fine tuning of GFLASH parameters.
This example allow compare the shower profiles from fast simulation
This example allows to compare the shower profiles from fast simulation
with full simulation by histograming of longitudinal (slice)
and radial profiles with different "binning".
Then GFlash fast simulation can be "tuned" via modification
@@ -24,12 +24,12 @@ PHYSICS LIST
The Physics list factory is used in this example.
The default physics list is FTFP_BERT which has EM opt0.
Additionally the G4FastSimulationPhysics physics
Additionally, the G4FastSimulationPhysics physics
constructor was created to insert the G4FastSimulationManager Process
that is making the interface between the fast simulation and the tracking.
THe default PHYSICS list may be changed via setting of the PHYSLIST environment
variable, e.g:
The default PHYSICS list may be changed via setting of the PHYSLIST environment
variable, e.g.:
export PHYSLIST=FTFP_BERT_EMZ # for FTFP_BERT with opt 4 EM physics
@@ -45,22 +45,29 @@ Geometry, sensitive detector and hits are defined respectively in:
ExGflashSensitiveDetector
ExGflashHit
Materials can be choosen from Nist Materials: G4_Air G4_WATER ...
eg: /exgflash/det/setMat G4_PbWO4 see also: csi1.mac
The geometry can be redefined in PreInit state via commands:
/exgflash/det/setNbCrys ncrys
/exgflash/det/setCrysWidth width [cm]
/exgflash/det/setCrysLength length [cm]
Materials can be chosen from Nist Materials: G4_Air G4_WATER ...
e.g.: /exgflash/det/setMat G4_PbWO4 see also: csi.mac
HIT SCORING
-----------
The virtual cylinder sliced longitudinally (slice) and radially (ring) was used.
The size of the slices and rings are expressed in radiation
length units and can be changed.
eg: /exgflash/det/setLbin 20 1. ---> 20 slices of 1. radl
/exgflash/det/setRbin 5 0.25 ---> 5 rings of 0.25 radl
length units and Moliere radius (Rm) units for rings. The number
of division and division size in fraction of units and can be changed.
e.g.: /exgflash/det/setLbin 20 1. ---> 20 slices of 1. radl
/exgflash/det/setRbin 5 0.25 ---> 5 rings of 0.25 Rm
(MaxBin = 500 in both directions)
In ExGflashEventAction class the arrays corresponded slices and rings was
created and filled with hists information. This arrays was use to fill
created and filled with hists information. These arrays where use to fill
histograms later.
VISUALIZATION
@@ -68,7 +75,7 @@ VISUALIZATION
The Visualization Manager is set in the main().
The initialization of the drawing is done via the commands /vis/...
in the macro vis.mac. To get visualization:
in the macro vis.mac. To get visualization use:
/control/execute vis.mac
@@ -115,11 +122,18 @@ MACROS
------
The macros to run in batch mode:
test.mac - default macro for example testing
test.mac - default macro for example testing, it show how to use different application commands: redefine the histograms and profiles, change the geometry and material, etc
run01.mac - show how redefine the histograms
csi.mac - like test.mac but produce profiles in CsI Material
csi1.mac - macro which produce profiles in CsI Material
testLong.mac - make the runs with more statistics using default geometry and histograms setting, the material is G4_PbWO4
test0.mac - profile comparison, long run without GFLASH
test1.mac - profile comparison, long run with GFLASH on
csiLong.mac - show how to run testLong.mac with different material (CsI)
Each macro executes two runs with fast simulation flag ON (the output file
name is set to gflash01.root ) and OFF (the output file name is set to gflash00.root )
In addition, the ROOT macros cmpL.C, cmpR.C and cmpE.C file are provided,
which can be used to draw superimposed full and fast histograms for radial
and lateral profiles and also the normalized total energy deposition
in calorimeter.
@@ -1,74 +1,72 @@
// Draw Longitudinal Shower Profile
#include "TH1D.h"
#include "TFile.h"
#include "THStack.h"
#include "TCanvas.h"
#include "TString.h"
#include "TFile.h"
#include "TH1D.h"
#include "THStack.h"
#include "TLegend.h"
#include "TString.h"
TCanvas *cmpL() {
//TString dataDir("/net/llrdata1.in2p3.fr/data/DATA/data.harpo/BH5D/");
TCanvas* cmpL()
{
// TString dataDir("/net/llrdata1.in2p3.fr/data/DATA/data.harpo/BH5D/");
TString dataDir("./");
TString dataFile[2];
dataFile[0] = "gflash00.root";
dataFile[1] = "gflash01.root";
dataFile[0] = "gflash00.root";
dataFile[1] = "gflash01.root";
TFile *f[2];
TProfile *p[2];
TFile* f[2];
TProfile* p[2];
// UInt_t col[] = { kRed, kBlue, kGreen, kViolet };
UInt_t col[] = { kRed, kGreen, kBlue, kViolet };
UInt_t col[] = {kRed, kGreen, kBlue, kViolet};
// UInt_t mark[] = { 20, 32, 21, 22};
UInt_t mark[] = { 20, 21, 32, 22};
//
THStack *hs = new THStack("hs","");
UInt_t mark[] = {20, 21, 32, 22};
//
THStack* hs = new THStack("hs", "");
for (UInt_t i = 0; i < 2; i++) {
TString tmp = dataDir + dataFile[i];
f[i] = TFile::Open(tmp);
if (!f[i]) return 0;
p[i] = (TProfile *) (f[i])->Get("p0");
//ShiftUp(p[i],0.0);
// histogram
p[i]->SetFillColor(col[i]);
p[i]->SetLineStyle(i+2);
p[i]->SetLineColor(col[i]);
p[i]->SetLineWidth(2);
p[i]->SetMarkerStyle(mark[i]);
p[i]->SetMarkerColor(col[i]);
p[i]->SetMarkerSize(1.5);
hs->Add(p[i]);
}
TCanvas *cst = new TCanvas("cst","stacked hists",10,10,800,700);
//gPad->SetGrid();
hs->Draw("p,nostack");
hs->SetTitle("Longitudinal Profile");
hs->GetXaxis()->SetTitle("Depth (RadLen)");
hs->GetYaxis()->SetTitle("E/E_{tot} (%/RadLen)");
for (UInt_t i = 0; i < 2; i++) {
TString tmp = dataDir + dataFile[i];
f[i] = TFile::Open(tmp);
if (!f[i]) return 0;
p[i] = (TProfile*)(f[i])->Get("p0");
// ShiftUp(p[i],0.0);
// histogram
p[i]->SetFillColor(col[i]);
p[i]->SetLineStyle(i + 2);
p[i]->SetLineColor(col[i]);
p[i]->SetLineWidth(2);
p[i]->SetMarkerStyle(mark[i]);
p[i]->SetMarkerColor(col[i]);
p[i]->SetMarkerSize(1.5);
hs->Add(p[i]);
}
TCanvas* cst = new TCanvas("cst", "stacked hists", 10, 10, 800, 700);
// gPad->SetGrid();
hs->Draw("p,nostack");
hs->SetTitle("Longitudinal Profile");
hs->GetXaxis()->SetTitle("Depth (RadLen)");
hs->GetYaxis()->SetTitle("E/E_{tot} (%) / RadLen");
cst->RedrawAxis();
cst->Update();
cst->RedrawAxis();
cst->Update();
TLegend* legend = new TLegend(0.79,0.84,0.94,0.94);
legend->AddEntry(p[0],"full ","p");
legend->AddEntry(p[1],"gflash","p");
legend->Draw();
cst->Update();
TLegend* legend = new TLegend(0.79, 0.84, 0.94, 0.94);
legend->AddEntry(p[0], "full ", "p");
legend->AddEntry(p[1], "gflash", "p");
legend->Draw();
cst->Update();
//img->FromPad(c, 10, 10, 300, 200);
// img->FromPad(c, 10, 10, 300, 200);
// TImage *img = TImage::Create();
// TImage *img = TImage::Create();
// img->FromPad(cst);
// img->FromPad(cst);
// img->WriteImage("hist0-640MeV-p.png");
// img->WriteImage("hist0-640MeV-p.png");
// for (UInt_t i = 0; i < 4; i++) {
// f[i]->Close();
// }
return cst;
// for (UInt_t i = 0; i < 4; i++) {
// f[i]->Close();
// }
return cst;
}
@@ -1,74 +1,72 @@
// Draw Radial Shower Profile
#include "TH1D.h"
#include "TFile.h"
#include "THStack.h"
#include "TCanvas.h"
#include "TString.h"
#include "TFile.h"
#include "TH1D.h"
#include "THStack.h"
#include "TLegend.h"
#include "TString.h"
TCanvas *cmpR() {
//TString dataDir("/net/llrdata1.in2p3.fr/data/DATA/data.harpo/BH5D/");
TCanvas* cmpR()
{
// TString dataDir("/net/llrdata1.in2p3.fr/data/DATA/data.harpo/BH5D/");
TString dataDir("./");
TString dataFile[2];
dataFile[0] = "gflash00.root";
dataFile[1] = "gflash01.root";
dataFile[0] = "gflash00.root";
dataFile[1] = "gflash01.root";
TFile *f[2];
TProfile *p[2];
TFile* f[2];
TProfile* p[2];
// UInt_t col[] = { kRed, kBlue, kGreen, kViolet };
UInt_t col[] = { kRed, kGreen, kBlue, kViolet };
UInt_t col[] = {kRed, kGreen, kBlue, kViolet};
// UInt_t mark[] = { 20, 32, 21, 22};
UInt_t mark[] = { 20, 21, 32, 22};
//
THStack *hs = new THStack("hs","");
UInt_t mark[] = {20, 21, 32, 22};
//
THStack* hs = new THStack("hs", "");
for (UInt_t i = 0; i < 2; i++) {
TString tmp = dataDir + dataFile[i];
f[i] = TFile::Open(tmp);
if (!f[i]) return 0;
p[i] = (TProfile *) (f[i])->Get("p1");
//ShiftUp(p[i],0.0);
// histogram
p[i]->SetFillColor(col[i]);
p[i]->SetLineStyle(i+2);
p[i]->SetLineColor(col[i]);
p[i]->SetLineWidth(2);
p[i]->SetMarkerStyle(mark[i]);
p[i]->SetMarkerColor(col[i]);
p[i]->SetMarkerSize(1.5);
hs->Add(p[i]);
}
TCanvas *cst = new TCanvas("cst","stacked hists",10,10,800,700);
//gPad->SetGrid();
hs->Draw("p,nostack");
hs->SetTitle("Radial Profile");
hs->GetXaxis()->SetTitle("Radius (RadLen)");
hs->GetYaxis()->SetTitle("E/E_{tot} (%/RadLen)");
for (UInt_t i = 0; i < 2; i++) {
TString tmp = dataDir + dataFile[i];
f[i] = TFile::Open(tmp);
if (!f[i]) return 0;
p[i] = (TProfile*)(f[i])->Get("p1");
// ShiftUp(p[i],0.0);
// histogram
p[i]->SetFillColor(col[i]);
p[i]->SetLineStyle(i + 2);
p[i]->SetLineColor(col[i]);
p[i]->SetLineWidth(2);
p[i]->SetMarkerStyle(mark[i]);
p[i]->SetMarkerColor(col[i]);
p[i]->SetMarkerSize(1.5);
hs->Add(p[i]);
}
TCanvas* cst = new TCanvas("cst", "stacked hists", 10, 10, 800, 700);
// gPad->SetGrid();
hs->Draw("p,nostack");
hs->SetTitle("Radial Profile");
hs->GetXaxis()->SetTitle("Radius (Rm)");
hs->GetYaxis()->SetTitle("E/E_{tot} (%) / Rm");
cst->RedrawAxis();
cst->Update();
cst->RedrawAxis();
cst->Update();
TLegend* legend = new TLegend(0.79,0.84,0.94,0.94);
legend->AddEntry(p[0],"full ","p");
legend->AddEntry(p[1],"gflash","p");
legend->Draw();
cst->Update();
TLegend* legend = new TLegend(0.79, 0.84, 0.94, 0.94);
legend->AddEntry(p[0], "full ", "p");
legend->AddEntry(p[1], "gflash", "p");
legend->Draw();
cst->Update();
//img->FromPad(c, 10, 10, 300, 200);
// img->FromPad(c, 10, 10, 300, 200);
// TImage *img = TImage::Create();
// TImage *img = TImage::Create();
// img->FromPad(cst);
// img->FromPad(cst);
// img->WriteImage("hist0-640MeV-p.png");
// img->WriteImage("hist0-640MeV-p.png");
// for (UInt_t i = 0; i < 4; i++) {
// f[i]->Close();
// }
return cst;
// for (UInt_t i = 0; i < 4; i++) {
// f[i]->Close();
// }
return cst;
}
@@ -0,0 +1,42 @@
#
# Macro file gflasha example
# when runing in batch mode
#
# set calo material
/exgflash/det/setMat G4_CESIUM_IODIDE
#detector geometry 3 x 3 cristal ~5 Rm and ~30 X0
/exgflash/det/setNbCrys 3
/exgflash/det/setCrysWidth 5.2 cm
/exgflash/det/setCrysLength 56.0 cm
/exgflash/det/setLbin 60 0.5
/exgflash/det/setRbin 50 0.1
/run/initialize
#/gps/pos/centre 0 0 0
#/gps/particle e-
#/gps/energy 50 GeV
#/gps/direction 0. 0. 1.0
# Paramatrisation on
/GFlash/flag 1
# for drawing the tracks
# (if too many tracks cause core dump => storeTrajectory 0)
#/tracking/storeTrajectory 1
#/vis/scene/endOfEventAction accumulate
/tracking/verbose 0
/run/beamOn 100
# Paramatrisation off
/GFlash/flag 0
/analysis/setFileName gflash00
/run/beamOn 100
@@ -1,28 +0,0 @@
#
# Macro file gflasha example
# when runing in batch mode
#
# set calo material
/exgflash/det/setMat G4_CESIUM_IODIDE
/gps/pos/centre 0 0 0
/gps/particle e-
/gps/energy 50 GeV
/gps/direction 0. 0. 1.0
/run/initialize
# Paramatrisation on
/GFlash/flag 1
/analysis/setFileName gfl_CsI01
# for drawing the tracks
# (if too many tracks cause core dump => storeTrajectory 0)
/tracking/storeTrajectory 0
#/vis/scene/endOfEventAction accumulate
/tracking/verbose 0
/run/beamOn 10
@@ -0,0 +1,9 @@
#
# Macro file gflasha example
# when runing in batch mode
#
# set calo material
/exgflash/det/setMat G4_CESIUM_IODIDE
/control/execute testLong.mac
@@ -58,6 +58,7 @@ class ExGflashDetectorConstruction : public G4VUserDetectorConstruction
void SetLBining(G4ThreeVector);
void SetRBining(G4ThreeVector);
void SetVerbose(G4int val) { fVerbose = val; }
void SetMaterial(G4String mat);
@@ -70,8 +71,21 @@ class ExGflashDetectorConstruction : public G4VUserDetectorConstruction
G4double GetdRradl() const { return fDRradl; }
G4double GetSDRadLen() const { return fSDRadLen; }
G4double GetSDRm() const { return fSDRm; }
G4int GetNbOfCrystals() const { return fNbOfCrystals; }
G4double GetCrystalWidth() const { return fCrystalWidth; }
G4double GetCrystalLength() const { return fCrystalLength; }
void SetNbOfCrystals(G4int n) { fNbOfCrystals = n; }
void SetCrystalWidth(G4double cw) { fCrystalWidth = cw; }
void SetCrystalLength(G4double cl) { fCrystalLength = cl; }
private:
void DefineMaterials();
G4int fNbOfCrystals{10}; // cube of nb x nb crystals
G4double fCrystalWidth; // x,y size
@@ -79,15 +93,19 @@ class ExGflashDetectorConstruction : public G4VUserDetectorConstruction
G4LogicalVolume* fCrystal_log{nullptr};
G4Material* fDetMat{nullptr};
G4Material* fHallMat{nullptr};
G4Region* fRegion{nullptr};
G4double fSDRadLen; // SD material Rad Lenght
G4double fSDRadLen{1.0}; // SD material Rad Length
G4double fSDRm{1.0}; // SD material Moliere Radius
G4int fVerbose{0};
G4int fNLtot{40}, fNRtot{50}; // nb of bins: longitudinal and radial
G4double fDLradl{0.5}, fDRradl{0.1}; // bin thickness (in radl unit)
G4int fVerbose{1};
ExGflashMessenger* fGflashMessenger;
G4int fNLtot{112}, fNRtot{80}; // nb of bins: longitudinal and radial
G4double fDLradl{0.25}, fDRradl{0.05}; // bin thickness (in fraction of radl)
ExGflashMessenger* fGflashMessenger{nullptr};
inline static G4ThreadLocal GFlashShowerModel* fFastShowerModel = nullptr;
inline static G4ThreadLocal GFlashHomoShowerParameterisation* fParameterisation = nullptr;
@@ -46,6 +46,7 @@ class ExGflashEventAction : public G4UserEventAction
private:
G4int fCalorimeterCollectionId{-1};
ExGflashDetectorConstruction* fDet;
ExGflashDetectorConstruction* fDet{nullptr};
};
#endif
@@ -44,10 +44,7 @@ class ExGflashHistoManager
~ExGflashHistoManager();
void InitializePerEvent();
// void FillPerEvent();
// inline void FillPerTrack(G4double, G4double);
// inline void FillPerStep(G4double, G4int, G4int);
void SetBinning();
private:
void Book();
@@ -55,9 +52,7 @@ class ExGflashHistoManager
ExGflashDetectorConstruction* fDet;
G4int fVerbose;
G4int fVerbose{1};
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -50,6 +50,7 @@ class ExGflashHit : public G4VHit
inline void* operator new(size_t);
inline void operator delete(void* aHit);
void* operator new(size_t, void* p) { return p; }
#ifndef G4NOT_ISO_DELETES
void operator delete(void*, void*) {}
#endif
@@ -41,6 +41,7 @@ class G4UIdirectory;
class G4UIcmdWithAString;
class G4UIcmdWithAnInteger;
class G4UIcmdWith3Vector;
class G4UIcmdWithADoubleAndUnit;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -61,8 +62,9 @@ class ExGflashMessenger : public G4UImessenger
G4UIcmdWithAString* fMaterCmd;
G4UIcmdWith3Vector* fLBinCmd;
G4UIcmdWith3Vector* fRBinCmd;
G4UIcmdWithAnInteger* fNbCrysCmd;
G4UIcmdWithADoubleAndUnit* fWCrysCmd;
G4UIcmdWithADoubleAndUnit* fLCrysCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -1,36 +0,0 @@
#
# Macro file gflasha example
# when runing in batch mode
#
/control/verbose 2
/run/verbose 2
#
/exgflash/det/setLbin 60 0.25
/exgflash/det/setRbin 100 0.05
#
/run/setCut 100 um
#
/gps/pos/centre 0 0 0
/gps/particle e-
/gps/energy 50 GeV
/gps/direction 0. 0. 1.0
# Paramatrisation on
/GFlash/flag 1
# Histograms
/analysis/setFileName run01
/analysis/h1/set 0 110 0. 110. none # total energy deposit(percent of Einc)
/analysis/h1/set 1 100 0. 1.0e6 none # The number of Hits per event
/analysis/h1/set 2 100 0. 20. MeV # The energy of Hit
#
# for drawing the tracks
# (if too many tracks cause core dump => storeTrajectory 0)
#/tracking/storeTrajectory 1
#/vis/scene/endOfEventAction accumulate
/tracking/verbose 0
/run/beamOn 100
@@ -70,12 +70,15 @@ const G4int kMaxBin = 500;
ExGflashDetectorConstruction::ExGflashDetectorConstruction()
{
G4cout << "ExGflashDetectorConstruction::Detector constructor" << G4endl;
if (fVerbose > 3) G4cout << "ExGflashDetectorConstruction::Detector constructor" << G4endl;
fGflashMessenger = new ExGflashMessenger(this);
// Crystall
fCrystalWidth = 3 * cm;
fCrystalLength = 24 * cm;
fCrystalLength = 140 * cm;
DefineMaterials();
SetMaterial("G4_PbWO4");
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -91,25 +94,28 @@ ExGflashDetectorConstruction::~ExGflashDetectorConstruction()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4VPhysicalVolume* ExGflashDetectorConstruction::Construct()
void ExGflashDetectorConstruction::DefineMaterials()
{
//--------- Definitions of Solids, Logical Volumes, Physical Volumes ---------
G4cout << "Defining the materials" << G4endl;
if (fVerbose > 3) G4cout << "Defining the materials" << G4endl;
// Get nist material manager
G4NistManager* nistManager = G4NistManager::Instance();
// Build materials
G4Material* air = nistManager->FindOrBuildMaterial("G4_AIR");
G4Material* pbWO4 = nistManager->FindOrBuildMaterial("G4_PbWO4");
fHallMat = nistManager->FindOrBuildMaterial("G4_AIR");
fDetMat = nistManager->FindOrBuildMaterial("G4_PbWO4");
nistManager->FindOrBuildMaterial("G4_CESIUM_IODIDE");
}
fDetMat = pbWO4;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4VPhysicalVolume* ExGflashDetectorConstruction::Construct()
{
//--------- Definitions of Solids, Logical Volumes, Physical Volumes ---------
//------------------------------
// Calorimeter segments
//------------------------------
// Simplified `CMS-like` PbWO4 crystal calorimeter
// Simplified `CMS-like` PbWO4 crystal calorimeter
// Calorimeter
G4double calo_xside = (fCrystalWidth * fNbOfCrystals);
G4double calo_yside = (fCrystalWidth * fNbOfCrystals);
@@ -125,7 +131,7 @@ G4VPhysicalVolume* ExGflashDetectorConstruction::Construct()
experimentalHall_y, // y size
experimentalHall_z); // z size
auto experimentalHall_log = new G4LogicalVolume(experimentalHall_box, air, "expHall_log",
auto experimentalHall_log = new G4LogicalVolume(experimentalHall_box, fHallMat, "expHall_log",
nullptr, // opt: fieldManager
nullptr, // opt: SensitiveDetector
nullptr); // opt: UserLimits
@@ -138,7 +144,7 @@ G4VPhysicalVolume* ExGflashDetectorConstruction::Construct()
calo_xside / 2., // size
calo_yside / 2., calo_zside / 2.);
auto calo_log = new G4LogicalVolume(calo_box, // its solid
air, // its material
fHallMat, // its material
"calo_log", // its name
nullptr, // opt: fieldManager
nullptr, // opt: SensitiveDetector
@@ -173,11 +179,11 @@ G4VPhysicalVolume* ExGflashDetectorConstruction::Construct()
}
G4cout << "There are " << fNbOfCrystals << " crystals per row in the calorimeter, so in total "
<< fNbOfCrystals * fNbOfCrystals << " crystals" << G4endl;
G4cout << "Total Calorimeter size" << calo_xside / cm << " cm x " << calo_yside / cm << " cm x "
<< calo_zside / cm << " cm" << G4endl;
G4cout << "They have width of " << fCrystalWidth / cm << " cm and a length of "
<< fCrystalLength / cm << " cm. The Material is " << fDetMat
<< " Total: " << fCrystalLength / fDetMat->GetRadlen() << " X0" << G4endl;
<< fCrystalLength / cm << " cm." << G4endl;
G4cout << fDetMat << G4endl;
G4cout << "Total Calorimeter size " << calo_xside / cm << " cm x " << calo_yside / cm << " cm x "
<< calo_zside / cm << " cm" << G4endl;
experimentalHall_log->SetVisAttributes(G4VisAttributes::GetInvisible());
auto caloVisAtt = new G4VisAttributes(G4Colour(1.0, 1.0, 1.0));
@@ -186,7 +192,7 @@ G4VPhysicalVolume* ExGflashDetectorConstruction::Construct()
fCrystal_log->SetVisAttributes(crystalVisAtt);
// define the fParameterisation region
G4cout << "\n ---> DetectorConstruction Region Definition" << G4endl;
// G4cout << "\n ---> DetectorConstruction Region Definition" << G4endl;
fRegion = new G4Region("crystals");
calo_log->SetRegion(fRegion);
fRegion->AddRootLogicalVolume(calo_log);
@@ -198,35 +204,52 @@ G4VPhysicalVolume* ExGflashDetectorConstruction::Construct()
void ExGflashDetectorConstruction::ConstructSDandField()
{
// -- sensitive detectors:
G4SDManager* SDman = G4SDManager::GetSDMpointer();
auto SD = new ExGflashSensitiveDetector("Calorimeter", this);
SDman->AddNewDetector(SD);
if (fCrystal_log != nullptr) {
fCrystal_log->SetSensitiveDetector(SD);
}
// -- fast simulation models:
// **********************************************
// * Initializing shower modell
// ***********************************************
G4cout << "\n--> Creating shower parameterization models" << G4endl;
fFastShowerModel = new GFlashShowerModel("fFastShowerModel", fRegion);
fParameterisation = new GFlashHomoShowerParameterisation(fDetMat, new ExGflashHomoShowerTuning());
fFastShowerModel->SetParameterisation(*fParameterisation);
// Energy Cuts to kill particles:
fParticleBounds = new GFlashParticleBounds();
fFastShowerModel->SetParticleBounds(*fParticleBounds);
// Makes the EnergieSpots
fHitMaker = new GFlashHitMaker();
fFastShowerModel->SetHitMaker(*fHitMaker);
G4cout << "end shower parameterization." << G4endl;
if (fParameterisation != nullptr) {
fParameterisation->SetMaterial(fDetMat);
if (fVerbose > 3) G4cout << "Info " << __func__ << " Param Mat " << fDetMat << G4endl;
fParameterisation->PrintMaterial(fDetMat);
}
else {
// -- sensitive detectors:
G4SDManager* SDman = G4SDManager::GetSDMpointer();
auto SD = new ExGflashSensitiveDetector("Calorimeter", this);
SDman->AddNewDetector(SD);
if (fCrystal_log != nullptr) {
fCrystal_log->SetSensitiveDetector(SD);
}
if (fVerbose > 3) G4cout << "\n--> Creating shower parameterization models" << G4endl;
fFastShowerModel = new GFlashShowerModel("fFastShowerModel", fRegion);
fParameterisation =
new GFlashHomoShowerParameterisation(fDetMat, new ExGflashHomoShowerTuning());
fFastShowerModel->SetParameterisation(*fParameterisation);
// Energy Cuts to kill particles:
fParticleBounds = new GFlashParticleBounds();
fFastShowerModel->SetParticleBounds(*fParticleBounds);
// Makes the EnergieSpots
fHitMaker = new GFlashHitMaker();
fFastShowerModel->SetHitMaker(*fHitMaker);
if (fVerbose > 3) G4cout << "end shower parameterization." << G4endl;
}
// **********************************************
// Get Rad Len and R molere ?
fSDRadLen = fDetMat->GetRadlen();
// Get Rad Len and R moliere from parameterisation
fSDRadLen = fParameterisation->GetX0();
fSDRm = fParameterisation->GetRm();
if (fVerbose > 2) {
G4cout << "Info " << __func__ << "Total Calorimeter size" << G4endl;
auto calo_xyside = fCrystalWidth * fNbOfCrystals;
G4cout << "Info Z " << __func__ << " " << fCrystalLength / cm << " cm "
<< fCrystalLength / fSDRadLen << " RadLen " << G4endl;
G4cout << "Info XY " << __func__ << " " << calo_xyside / cm << " cm " << calo_xyside / fSDRm
<< " Rm " << G4endl;
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -267,12 +290,6 @@ void ExGflashDetectorConstruction::SetMaterial(G4String mat)
if (fCrystal_log != nullptr) {
fCrystal_log->SetMaterial(fDetMat);
}
if (fParameterisation != nullptr) {
fParameterisation->SetMaterial(fDetMat);
fParameterisation->PrintMaterial(fDetMat);
// Get Rad Len and R molere ?
fSDRadLen = fDetMat->GetRadlen();
}
G4RunManager::GetRunManager()->PhysicsHasBeenModified();
}
}
@@ -83,8 +83,7 @@ void ExGflashEventAction::EndOfEventAction(const G4Event* evt)
if (THC != nullptr) {
/// Hits in sensitive Detector
int n_hit = THC->entries();
// G4cout<<" " << n_hit<< " hits are stored in ExGflashHitsCollection
// "<<G4endl;
G4PrimaryVertex* pvertex = evt->GetPrimaryVertex();
// Computing (x,y,z) of vertex of initial particles
G4ThreeVector vtx = pvertex->GetPosition();
@@ -101,7 +100,9 @@ void ExGflashEventAction::EndOfEventAction(const G4Event* evt)
G4double dLradl = fDet->GetdLradl();
G4double dRradl = fDet->GetdRradl();
G4double SDRadl = fDet->GetSDRadLen(); // SD matrial
G4double SDRadl = fDet->GetSDRadLen(); // SD matrial rad len
G4double SDRm = fDet->GetSDRm(); // SD Radius Moliere
// init to to 0.0
MyVector dEdL(nLbin, 0.0);
MyVector dEdR(nRbin, 0.0);
@@ -128,10 +129,12 @@ void ExGflashEventAction::EndOfEventAction(const G4Event* evt)
G4ThreeVector radial = l - longitudinal;
auto SlideNb = G4int((longitudinal.mag() / SDRadl) / dLradl);
auto RingNb = G4int((radial.mag() / SDRadl) / dRradl);
auto RingNb = G4int((radial.mag() / SDRm) / dRradl);
if (SlideNb >= 0 && SlideNb < nLbin) dEdL[SlideNb] += estep;
if (RingNb >= 0 && RingNb < nLbin) dEdR[RingNb] += estep;
if ((SlideNb >= 0 && SlideNb < nLbin) && (RingNb >= 0 && RingNb < nRbin)) {
dEdL[SlideNb] += estep;
dEdR[RingNb] += estep;
}
}
}
@@ -61,25 +61,18 @@ void ExGflashHistoManager::Book()
//
// Creating histograms
//
// const G4int kMaxHisto = 9;
// const G4int kMaxProf = 2;
G4int nLbin = fDet->GetnLtot();
G4int nRbin = fDet->GetnRtot();
G4double dLradl = fDet->GetdLradl();
G4double dRradl = fDet->GetdRradl();
fVerbose = fDet->GetVerbose();
fAnalysisManager->CreateH1("h0", "total energy deposit(percent of Einc)", 100, 95., 105.);
fAnalysisManager->CreateH1("h0", "total energy deposit(percent of Einc)", 100, 85., 105.);
fAnalysisManager->CreateH1("h1", "The number of Hits per event", 200, 0., 4.0e5);
fAnalysisManager->CreateH1("h2", "The energy of Hit (in MeV)", 200, 0., 10.);
// fAnalysisManager->CreateH1( "h3","longit energy profile (% of E inc)",
// nLbin,0.,nLbin*dLradl);
// fAnalysisManager->CreateH1( "h4","radial energy profile (% of E inc)",
// nRbin,0.,nRbin*dRradl);
fAnalysisManager->CreateP1("p0", "longit energy profile (% of E inc)", nLbin, 0., nLbin * dLradl,
0., 2000.);
@@ -92,12 +85,24 @@ void ExGflashHistoManager::Book()
fAnalysisManager->CreateP1("p3", "Cuml radial energy profile (% of E inc)", nRbin, 0.,
nRbin * dRradl, 0., 20000.);
// Create all histograms as inactivated
// for (G4int k=0; k<kMaxHisto; k++) {
// fAnalysisManager->SetH1Activation(k, false);
// }
// for (G4int k=0; k<kMaxProf; k++) {
// fAnalysisManager->SetP1Activation(k, false);
// }
G4cout << "\n----> Histogram file " << fFileName << G4endl;
if (fVerbose > 1) G4cout << "\n----> Histogram file " << fFileName << G4endl;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExGflashHistoManager::SetBinning()
{
G4int nLbin = fDet->GetnLtot();
G4int nRbin = fDet->GetnRtot();
G4double dLradl = fDet->GetdLradl();
G4double dRradl = fDet->GetdRradl();
// Get analysis manager
auto analysisManager = G4AnalysisManager::Instance();
// Redifine profiles
analysisManager->SetP1(0, nLbin, 0., nLbin * dLradl, 0., 2000.);
analysisManager->SetP1(1, nRbin, 0., nRbin * dRradl, 0., 2000.);
analysisManager->SetP1(2, nLbin, 0., nLbin * dLradl, 0., 2000.);
analysisManager->SetP1(3, nRbin, 0., nRbin * dRradl, 0., 2000.);
}
@@ -60,12 +60,6 @@ ExGflashHit::ExGflashHit(const ExGflashHit& right) : G4VHit(right)
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExGflashHit& ExGflashHit::operator=(const ExGflashHit& right) = default;
// {
// G4VHit::operator=(right);
// fEdep = right.fEdep;
// fPos = right.fPos;
// return *this;
// }
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -50,7 +50,7 @@ ExGflashMessenger::ExGflashMessenger(ExGflashDetectorConstruction* Det) : fDetec
fVerbose = new G4UIcmdWithAnInteger("/exgflash/verbose", this);
fVerbose->SetGuidance("set exglash verbosity");
fVerbose->SetGuidance("0- silent, 1 - on exit, 2 - run , 3 - event");
fVerbose->SetGuidance("0- silent, 1 - init, 2 - run, 3 - event");
fVerbose->SetParameterName("ver", false);
fVerbose->SetRange("ver >= 0");
fVerbose->AvailableForStates(G4State_PreInit, G4State_Idle);
@@ -59,37 +59,73 @@ ExGflashMessenger::ExGflashMessenger(ExGflashDetectorConstruction* Det) : fDetec
fDetDir = new G4UIdirectory("/exgflash/det/");
fDetDir->SetGuidance("detector construction commands");
fMaterCmd = new G4UIcmdWithAString("/exgflash/det/setMat", this);
fMaterCmd->SetGuidance("Select Material.");
fMaterCmd->SetParameterName("material", false);
fMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
fMaterCmd->SetToBeBroadcasted(false);
fLBinCmd = new G4UIcmdWith3Vector("/exgflash/det/setLbin", this);
fLBinCmd->SetGuidance("set longitudinal bining");
fLBinCmd->SetGuidance("nb of bins; bin thickness (in radl)");
// must have omitable==true we use 2 values only
fLBinCmd->SetParameterName("nLtot", "dLradl", " ", true);
fLBinCmd->SetGuidance("nLtot - nb of bins; bin thickness (in Radl)");
fLBinCmd->SetGuidance("dLradl - bin thickness (in fraction of Radl)");
fLBinCmd->SetGuidance("LStart - dummy");
fLBinCmd->SetParameterName("nLtot", "dLradl", "LStart", true);
fLBinCmd->SetDefaultValue(G4ThreeVector{100.0, 0.25, 0.0});
fLBinCmd->SetRange("nLtot>=1 && dLradl>0");
fLBinCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
fLBinCmd->SetToBeBroadcasted(false);
fRBinCmd = new G4UIcmdWith3Vector("/exgflash/det/setRbin", this);
fRBinCmd->SetGuidance("set radial bining");
fRBinCmd->SetGuidance("nb of bins; bin thickness (in radl)");
fRBinCmd->SetParameterName("nRtot", "dRradl", " ", true);
fRBinCmd->SetGuidance("nRtot - nb of bins; bin thickness (in Rm)");
fRBinCmd->SetGuidance("dRradl - bin thickness (in fraction of Rm)");
fRBinCmd->SetGuidance("RStart - dummy");
fRBinCmd->SetParameterName("nRtot", "dRradl", "RStart", true);
fRBinCmd->SetDefaultValue(G4ThreeVector{80.0, 0.05, 0.0});
fRBinCmd->SetRange("nRtot>=1 && dRradl>0");
fRBinCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
fRBinCmd->SetToBeBroadcasted(false);
fMaterCmd = new G4UIcmdWithAString("/exgflash/det/setMat", this);
fMaterCmd->SetGuidance("Select Material.");
fMaterCmd->SetParameterName("material", false);
fMaterCmd->AvailableForStates(G4State_PreInit);
fMaterCmd->SetToBeBroadcasted(false);
fNbCrysCmd = new G4UIcmdWithAnInteger("/exgflash/det/setNbCrys", this);
fNbCrysCmd->SetGuidance("set numbber of crystals in row/col");
fNbCrysCmd->SetGuidance("ncrys - number of crystals ");
fNbCrysCmd->SetParameterName("ncrys", false);
fNbCrysCmd->SetRange("ncrys > 0");
fNbCrysCmd->AvailableForStates(G4State_PreInit);
fNbCrysCmd->SetToBeBroadcasted(false);
fWCrysCmd = new G4UIcmdWithADoubleAndUnit("/exgflash/det/setCrysWidth", this);
fWCrysCmd->SetGuidance("set crystal width (cm)");
fWCrysCmd->SetGuidance("wcrys - width of crystal ");
fWCrysCmd->SetParameterName("wcrys", false);
fWCrysCmd->SetRange("wcrys > 0");
fWCrysCmd->SetUnitCategory("Length");
fWCrysCmd->SetDefaultUnit("cm");
fWCrysCmd->AvailableForStates(G4State_PreInit);
fWCrysCmd->SetToBeBroadcasted(false);
fLCrysCmd = new G4UIcmdWithADoubleAndUnit("/exgflash/det/setCrysLength", this);
fLCrysCmd->SetGuidance("set crystal length (cm)");
fLCrysCmd->SetGuidance("lcrys - crystal length ");
fLCrysCmd->SetParameterName("lcrys", false);
fLCrysCmd->SetRange("lcrys > 0");
fLCrysCmd->SetUnitCategory("Length");
fLCrysCmd->SetDefaultUnit("cm");
fLCrysCmd->AvailableForStates(G4State_PreInit);
fLCrysCmd->SetToBeBroadcasted(false);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExGflashMessenger::~ExGflashMessenger()
{
delete fLCrysCmd;
delete fWCrysCmd;
delete fNbCrysCmd;
delete fMaterCmd;
delete fRBinCmd;
delete fLBinCmd;
delete fMaterCmd;
delete fDetDir;
delete fVerbose;
delete fExGflashDir;
@@ -103,6 +139,18 @@ void ExGflashMessenger::SetNewValue(G4UIcommand* command, G4String newValue)
fDetector->SetMaterial(newValue);
}
if (command == fNbCrysCmd) {
fDetector->SetNbOfCrystals(fNbCrysCmd->GetNewIntValue(newValue));
}
if (command == fWCrysCmd) {
fDetector->SetCrystalWidth(fWCrysCmd->GetNewDoubleValue(newValue));
}
if (command == fLCrysCmd) {
fDetector->SetCrystalLength(fLCrysCmd->GetNewDoubleValue(newValue));
}
if (command == fVerbose) {
fDetector->SetVerbose(fVerbose->GetNewIntValue(newValue));
}
@@ -28,14 +28,22 @@
//
#include "ExGflashPrimaryGeneratorAction.hh"
#include "G4Electron.hh"
#include "G4Event.hh"
#include "G4GeneralParticleSource.hh"
#include "G4SystemOfUnits.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExGflashPrimaryGeneratorAction::ExGflashPrimaryGeneratorAction()
{
fParticleGun = new G4GeneralParticleSource;
// fParticleGun->SetVerbosity(2);
auto cursrc = fParticleGun->GetCurrentSource();
cursrc->SetParticleDefinition(G4Electron::Definition());
cursrc->GetAngDist()->SetParticleMomentumDirection(G4ParticleMomentum(0., 0., 1.));
cursrc->GetEneDist()->SetMonoEnergy(50.0 * GeV);
// fParticleGun->ListSource();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -54,6 +54,7 @@ void ExGflashRunAction::BeginOfRunAction(const G4Run* aRun)
// histograms file
G4AnalysisManager* analysis = G4AnalysisManager::Instance();
if (analysis->IsActive()) {
fHistoManager->SetBinning();
analysis->OpenFile();
}
@@ -101,7 +101,6 @@ G4bool ExGflashSensitiveDetector::ProcessHits(G4GFlashSpot* aSpot, G4TouchableHi
caloHit->SetEdep(e);
caloHit->SetPos(aSpot->GetEnergySpot()->GetPosition());
fCaloHitsCollection->insert(caloHit);
// if (ROhist){;}
return true;
}
@@ -2,10 +2,24 @@
# Macro file gflasha example
# when runing in batch mode
#
/exgflash/verbose 1
/exgflash/det/setLbin 40 0.5
# set calo material
/exgflash/det/setMat G4_PbWO4
#detector geometry 5 x 5 cristal ~5 Rm and ~28 X0
/exgflash/det/setNbCrys 5
/exgflash/det/setCrysWidth 3.52 cm
/exgflash/det/setCrysLength 25.0 cm
/exgflash/det/setLbin 56 0.5
/exgflash/det/setRbin 50 0.1
/analysis/h1/set 0 100 90. 110. none # total energy deposit(percent of Einc)
/run/initialize
/gps/pos/centre 0 0 0
/gps/particle e-
/gps/energy 50 GeV
@@ -16,7 +16,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-02-ref-06 (28-June-2024)
Geant4 version Name: geant4-11-03-ref-00 (6-December-2024)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -24,13 +24,10 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
WWW : http://geant4.org/
**************************************************************
ExGflashDetectorConstruction::Detector constructor
G4PhysListFactory::GetReferencePhysList <FTFP_BERT> EMoption= 0
<<< Geant4 Physics List simulation engine: FTFP_BERT
----> Histogram file gflash01
Visualization Manager instantiating with verbosity "warnings (3)"...
Visualization Manager initialising...
Registering graphics systems...
@@ -43,7 +40,6 @@ Registered graphics systems are:
RayTracer (RayTracer)
VRML2FILE (VRML2FILE)
gMocrenFile (gMocrenFile)
TOOLSSG_OFFSCREEN (TSG_OFFSCREEN)
TOOLSSG_OFFSCREEN (TSG_OFFSCREEN, TSG_FILE)
OpenGLImmediateQt (OGLIQt, OGLI)
OpenGLStoredQt (OGLSQt, OGL, OGLS)
@@ -101,10 +97,9 @@ End of Run User Vis Actions: none
Some /vis commands (optionally) take a string to specify colour.
"/vis/list" to see available colours.
Defining the materials
There are 10 crystals per row in the calorimeter, so in total 100 crystals
Total Calorimeter size30 cm x 30 cm x 24 cm
They have width of 3 cm and a length of 24 cm. The Material is Material: G4_PbWO4 density: 8.280 g/cm3 RadL: 8.925 mm Nucl.Int.Length: 20.740 cm
There are 5 crystals per row in the calorimeter, so in total 25 crystals
They have width of 3.52 cm and a length of 25 cm.
Material: G4_PbWO4 density: 8.280 g/cm3 RadL: 8.925 mm Nucl.Int.Length: 20.740 cm
Imean: 542.741 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: O (O) Z = 8.0 N = 16 A = 15.999 g/mole
@@ -127,24 +122,20 @@ They have width of 3 cm and a length of 24 cm. The Material is Material: G4_
---> 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: 40.40 % ElmAbundance 16.67 %
Total: 26.8922 X0
---> DetectorConstruction Region Definition
--> Creating shower parameterization models
Total Calorimeter size 17.6 cm x 17.6 cm x 25 cm
/********************************************/
- GVFlashShowerParameterisation::Material -
Material : G4_PbWO4
Z = 68.3609
A = 170.881
X0 = 0.892453 cm
Rm = 1.73762 cm
Rm = 1.75417 cm
Ec = 10.7858 MeV
/********************************************/
/********************************************/
- GFlashHomoShowerParameterisation::Constructor -
/********************************************/
end shower parameterization.
hInelastic FTFP_BERT : threshold between BERT and FTFP is over the interval
for pions : 3 to 6 GeV
@@ -174,10 +165,13 @@ Bremsstrahlung energy threshold above which
primary e+- is added to the list of secondary 100 TeV
Bremsstrahlung energy threshold above which primary
muon/hadron is added to the list of secondary 100 TeV
Positron annihilation at rest model SimplePositronium
Enable 3 gamma annihilation on fly 0
Lowest triplet kinetic energy 1 MeV
Enable sampling of gamma linear polarisation 0
5D gamma conversion model type 0
5D gamma conversion model on isolated ion 0
Use Ricardo-Gerardo pair production model 0
Livermore data directory epics_2017
=======================================================================
====== Ionisation Parameters ========
@@ -348,7 +342,7 @@ ionIoni: for GenericIon XStype:3 SubType=2
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
Bragg : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 100 TeV
msc: for alpha SubType= 10
@@ -830,7 +824,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
=======================================================================
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Type of pre-compound inverse x-section 1
Pre-compound model active 1
Pre-compound excitation low energy 100 keV
Pre-compound excitation high energy 30 MeV
@@ -855,12 +849,10 @@ Use discrete excitation energy of the residual 0
Time limit for long lived isomeres 1 ns
Isomer production flag 1
Internal e- conversion flag 1
Store e- internal conversion data 0
Store e- internal conversion data 1
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
=======================================================================
G4VisManager: Using G4TrajectoryDrawByCharge as fallback trajectory model.
See commands in /vis/modeling/trajectories/ for other options.
### Run 0 start.
... set ntuple merging row mode : row-wise - done
... create file : gflash01.root - done
@@ -868,45 +860,31 @@ See commands in /vis/modeling/trajectories/ for other options.
... open analysis file : gflash01.root - done
******************************************
Run Real Elapsed Time is: 0.861834
Run System Elapsed Time: 0.01
Run GetUserElapsed Time: 0.85
Run Real Elapsed Time is: 0.574205
Run System Elapsed Time: 0
Run GetUserElapsed Time: 0.56
******************************************
number of event = 100
... write file : gflash01.root - done
... close file : gflash01.root - done
There are histograms that can be viewed with visualization:
3 h1 histograms(s)
List them with "/analysis/list".
View them immediately with "/vis/plot" or "/vis/reviewPlots".
But...there are no entries. To make your histograms available for
plotting in this UI session, use CloseFile(false) in your
EndOfRunAction and Reset() in your BeginOfRunAction.
### Run 1 start.
... create file : gflash00.root - done
... open analysis file : gflash00.root - done
... open analysis file : gflash00.root - done
******************************************
Run Real Elapsed Time is: 57.7755
Run System Elapsed Time: 0.36
Run GetUserElapsed Time: 55.67
Run Real Elapsed Time is: 35.7097
Run System Elapsed Time: 0.03
Run GetUserElapsed Time: 34.36
******************************************
number of event = 100
... write file : gflash00.root - done
... close file : gflash00.root - done
There are histograms that can be viewed with visualization:
3 h1 histograms(s)
List them with "/analysis/list".
View them immediately with "/vis/plot" or "/vis/reviewPlots".
But...there are no entries. To make your histograms available for
plotting in this UI session, use CloseFile(false) in your
EndOfRunAction and Reset() in your BeginOfRunAction.
Graphics systems deleted.
Visualization Manager deleting...
******************************************
Total Real Elapsed Time is: 62.5078
Total System Elapsed Time: 0.62
Total GetUserElapsed Time: 59.08
Total Real Elapsed Time is: 39.9502
Total System Elapsed Time: 0.24
Total GetUserElapsed Time: 37.73
******************************************
@@ -1,26 +0,0 @@
#
# Macro file gflasha example
# when runing in batch mode
# GFLASH off
#
/gps/pos/centre 0 0 0
/gps/particle e-
/gps/energy 50 GeV
/gps/direction 0. 0. 1.0
# Paramatrisation off
/GFlash/flag 0
/analysis/setFileName gflash00
# for drawing the tracks
# (if too many tracks cause core dump => storeTrajectory 0)
#/tracking/storeTrajectory 1
#/vis/scene/endOfEventAction accumulate
/tracking/verbose 0
#/analysys/setFileName gflash00
/run/beamOn 500
@@ -1,24 +0,0 @@
#
# Macro file gflasha example
# when runing in batch mode
# GFLASH off
#
/gps/pos/centre 0 0 0
/gps/particle e-
/gps/energy 50 GeV
/gps/direction 0. 0. 1.0
# Paramatrisation on
/GFlash/flag 1
# for drawing the tracks
# (if too many tracks cause core dump => storeTrajectory 0)
#/tracking/storeTrajectory 1
#/vis/scene/endOfEventAction accumulate
/tracking/verbose 0
/run/beamOn 500
@@ -0,0 +1,25 @@
#
# Macro file gflasha example
# when runing in batch mode
# GFLASH off
#
/run/initialize
#/gps/pos/centre 0 0 0
#/gps/particle e-
#/gps/energy 50 GeV
#/gps/direction 0. 0. 1.0
/tracking/verbose 0
# Paramatrisation on (default file name)
/GFlash/flag 1
#/analysis/setFileName gflash01
/run/beamOn 500
# Paramatrisation off
/GFlash/flag 0
/analysis/setFileName gflash00
/run/beamOn 500
@@ -2,12 +2,8 @@
# Macro file for the initialization phase of gflash example
# when runing in interactive mode
#
# Sets some default verbose
/gps/position 0 0 0
/gps/particle e+
/gps/energy 2.0 GeV
/gps/direction 0. 0. 1.0
#
# Initialize kernel
/run/initialize
# Open a viewer
/vis/open
# This opens the default viewer - see examples/basic/B1/vis.mac for a
@@ -66,9 +62,3 @@
#
# For file-based drivers, use this to create an empty detector view:
#/vis/viewer/flush
#
#/tracking/verbose 0
#/GFlash/flag 1
#/run/beamOn 2