Import Geant4 11.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2023-12-08 10:43:34 +01:00
parent dd1f179cda
commit 860a2b92bf
3962 changed files with 139318 additions and 164259 deletions
@@ -138,7 +138,7 @@ Idle> exit
\endverbatim
It is possible to choose the format of the histogram file : root (default),
hbook, xml, csv, by using namespace in HistoManager.hh
hdf5, xml, csv, by changing the default file type in HistoManager.cc
It is also possible to print selected histograms on an ascii file:
\verbatim
@@ -150,7 +150,11 @@ Idle> exit
Several macros are included.
- boundary.mac: Set the surface to the various types and configurations of
model, type, etc., shoot optical photons, and record statistics
model, type, etc., shoot optical photons, and record statistics.
This macro uses the command
/opnovice2/stepping/killOnSecondSurface,
which kills photon tracks incident on a second surface. This can
be useful for visualizing surface scattering.
- coated.mac: To show reflection/refraction from thin film coating
- electron.mac: Shoot electrons and observe Cerenkov and scintillation radiation
- fresnel.mac: Shoot optical photons of fixed polarization and random direction
@@ -160,8 +164,12 @@ Idle> exit
refraction.
- OpNovice2.mac: Shoot an optical photon inside a box.
- scint_by_particle.mac: Configure scintillation to have particle-specific
yields and yield ratios. Shoot different types of particles.
- vis.mac: Configure visualization.
yields, yield ratios, and time constants. Shoot different types
of particles.
- vis.mac: Configure visualization. The macro command
/opnovice2/stepping/killOnSecondSurface, which kills photon
tracks incident on a second surface, may be useful for
visualizing surface scattering.
- wls.mac: Configure two wavelength-shifting processes, and shoot optical
photons.
@@ -1,6 +1,6 @@
#----------------------------------------------------------------------------
# Setup the project
cmake_minimum_required(VERSION 3.16...3.21)
cmake_minimum_required(VERSION 3.16...3.27)
project(OpNovice2)
#----------------------------------------------------------------------------
@@ -4,6 +4,23 @@ 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!
## 2023-11-02 D. Sawkey (OpNovice2-V11-01-04)
- apply clang-tidy recommendations
## 2023-10-27 D. Sawkey (OpNovice2-V11-01-03)
- scint_by_particle.mac: use normal verbosity (1)
## 2023-10-19 D. Sawkey (OpNovice2-V11-01-02)
- scint_by_particle.mac: use particle-specific time constants
## 2023-10-11 Daren Sawkey (OpNovice2-V11-01-01)
- Apply coding guidelines, especially use of override and variable
initialization
## 2023-09-05 D. Sawkey (OpNovice2-V11-01-00)
- Add command to kill photons on reaching second surface. Provides a way to
visualize boundary scattering
## 2022-11-09 I. Hrivnacova (OpNovice2-V11-00-06)
- Fixed Doxygen documentation
@@ -57,12 +57,12 @@ int main(int argc, char** argv)
auto runManager = G4RunManagerFactory::CreateRunManager();
DetectorConstruction* detector = new DetectorConstruction();
auto detector = new DetectorConstruction();
runManager->SetUserInitialization(detector);
G4VModularPhysicsList* physicsList = new FTFP_BERT;
physicsList->ReplacePhysics(new G4EmStandardPhysics_option4());
G4OpticalPhysics* opticalPhysics = new G4OpticalPhysics();
auto opticalPhysics = new G4OpticalPhysics();
physicsList->RegisterPhysics(opticalPhysics);
runManager->SetUserInitialization(physicsList);
+42 -175
View File
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-01-ref-06 (30-June-2023)
Geant4 version Name: geant4-11-02-ref-00 (8-December-2023)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -49,6 +49,10 @@ Registered graphics systems are:
TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB)
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG)
TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB)
Default graphics system is: TSG_OFFSCREEN (based on batch session).
Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation).
Note: Parameters specified on the command line will override these defaults.
Use "vis/open" without parameters to get these defaults.
Registering model factories...
@@ -211,7 +215,7 @@ OpBoundary is created
OpWLS is created
OpWLS2 is created
### Birks coefficients used in run time
G4_WATER 0.126 mm/MeV 0.0126 g/cm^2/MeV massFactor= 85.0756 effCharge= 62.0606
G4_WATER 0.126 mm/MeV 0.0126 g/cm^2/MeV massFactor= 640.135 effCharge= 22
#
/gun/particle opticalphoton
/gun/energy 3 eV
@@ -709,384 +713,243 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
====================================================================
HADRONIC PROCESSES SUMMARY (verbose level 1)
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for neutron
Process: hadElastic
Model: hElasticCHIPS: 0 eV ---> 100 TeV
Cr_sctns: G4NeutronElasticXS: 0 eV ---> 100 TeV
Process: neutronInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: G4NeutronInelasticXS: 0 eV ---> 100 TeV
Process: nCapture
Model: nRadCapture: 0 eV ---> 100 TeV
Cr_sctns: G4NeutronCaptureXS: 0 eV ---> 100 TeV
Process: nKiller
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for B-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: B-Inelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for D-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: D-Inelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for GenericIon
Process: ionInelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: He3Inelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for alpha
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: alphaInelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_He3Inelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_alpha
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_alphaInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_deuteron
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_deuteronInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-------------------------------------------------------------------------
Hadronic Processes for anti_hypertriton
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_lambda
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: anti_lambdaInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_neutron
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
Model: AntiAElastic: 100 MeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_neutronInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_proton
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
Model: AntiAElastic: 100 MeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_protonInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_triton
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_tritonInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for deuteron
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: dInelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for e+
Process: positronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for e-
Process: electronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for gamma
Process: photonNuclear
Model: GammaNPreco: 0 eV ---> 200 MeV
Model: BertiniCascade: 199 MeV ---> 6 GeV
Model: TheoFSGenerator: 3 GeV ---> 100 TeV
Cr_sctns: GammaNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for kaon+
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: kaon+Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for kaon-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: kaon-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for lambda
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: lambdaInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for mu+
Process: muonNuclear
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for mu-
Process: muonNuclear
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
Process: muMinusCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for pi+
Process: hadElastic
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 ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for pi-
Process: hadElastic
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 ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for proton
Process: hadElastic
Model: hElasticCHIPS: 0 eV ---> 100 TeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: protonInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for sigma-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: sigma-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for triton
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: tInelastic
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 ---> 25.6 PeV
================================================================
=======================================================================
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
@@ -1148,7 +1011,7 @@ See commands in /vis/modeling/trajectories/ for other options.
Run terminated.
Run Summary
Number of events processed : 100000
User=1.200000s Real=1.209251s Sys=0.010000s
User=1.200000s Real=1.282819s Sys=0.000000s
Run Summary
---------------------------------
@@ -1197,9 +1060,13 @@ Surface events by process:
... write file : opnovice2.root - done
... close file : opnovice2.root - done
There are 27 h1 histograms
List them with "/analysis/list".
View them with "/vis/plot" or "/vis/reviewPlots".
There are histograms that can be viewed with visualization:
27 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...
================== Deleting memory pools ===================
+12 -4
View File
@@ -121,7 +121,7 @@
/analysis/setFileName name (default opnovice2)
It is possible to choose the format of the histogram file : root (default),
hbook, xml, csv, by using namespace in HistoManager.hh
hdf5, xml, csv, by changing the default file type in HistoManager.cc
It is also possible to print selected histograms on an ascii file:
/analysis/h1/setAscii id
@@ -131,7 +131,11 @@
Several macros are included.
- boundary.mac: Set the surface to the various types and configurations of
model, type, etc., shoot optical photons, and record statistics
model, type, etc., shoot optical photons, and record statistics.
This macro uses the command
/opnovice2/stepping/killOnSecondSurface,
which kills photon tracks incident on a second surface. This can
be useful for visualizing surface scattering.
- coated.mac: To show reflection/refraction from thin film coating
- electron.mac: Shoot electrons and observe Cerenkov and scintillation radiation
- fresnel.mac: Shoot optical photons of fixed polarization and random direction
@@ -141,7 +145,11 @@
refraction.
- OpNovice2.mac: Shoot an optical photon inside a box.
- scint_by_particle.mac: Configure scintillation to have particle-specific
yields and yield ratios. Shoot different types of particles.
- vis.mac: Configure visualization.
yields, yield ratios, and time constants. Shoot different types
of particles.
- vis.mac: Configure visualization. The macro command
/opnovice2/stepping/killOnSecondSurface, which kills photon
tracks incident on a second surface, may be useful for
visualizing surface scattering.
- wls.mac: Configure two wavelength-shifting processes, and shoot optical
photons.
@@ -22,6 +22,7 @@
/opnovice2/surfaceSigmaAlpha 0.2
/run/initialize
/opnovice2/stepping/killOnSecondSurface true
#
/gun/particle opticalphoton
/gun/energy 3 eV
File diff suppressed because it is too large Load Diff
+50 -179
View File
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-01-ref-06 (30-June-2023)
Geant4 version Name: geant4-11-02-ref-00 (8-December-2023)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -49,6 +49,10 @@ Registered graphics systems are:
TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB)
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG)
TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB)
Default graphics system is: TSG_OFFSCREEN (based on batch session).
Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation).
Note: Parameters specified on the command line will override these defaults.
Use "vis/open" without parameters to get these defaults.
Registering model factories...
@@ -187,7 +191,7 @@ OpBoundary is created
OpWLS is created
OpWLS2 is created
### Birks coefficients used in run time
G4_WATER 0.126 mm/MeV 0.0126 g/cm^2/MeV massFactor= 85.0756 effCharge= 62.0606
G4_WATER 0.126 mm/MeV 0.0126 g/cm^2/MeV massFactor= 640.135 effCharge= 22
#
/gun/particle opticalphoton
/gun/energy 5 eV
@@ -681,384 +685,243 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
====================================================================
HADRONIC PROCESSES SUMMARY (verbose level 1)
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for neutron
Process: hadElastic
Model: hElasticCHIPS: 0 eV ---> 100 TeV
Cr_sctns: G4NeutronElasticXS: 0 eV ---> 100 TeV
Process: neutronInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: G4NeutronInelasticXS: 0 eV ---> 100 TeV
Process: nCapture
Model: nRadCapture: 0 eV ---> 100 TeV
Cr_sctns: G4NeutronCaptureXS: 0 eV ---> 100 TeV
Process: nKiller
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for B-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: B-Inelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for D-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: D-Inelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for GenericIon
Process: ionInelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: He3Inelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for alpha
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: alphaInelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_He3Inelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_alpha
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_alphaInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_deuteron
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_deuteronInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-------------------------------------------------------------------------
Hadronic Processes for anti_hypertriton
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_lambda
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: anti_lambdaInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_neutron
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
Model: AntiAElastic: 100 MeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_neutronInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_proton
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
Model: AntiAElastic: 100 MeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_protonInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_triton
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_tritonInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for deuteron
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: dInelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for e+
Process: positronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for e-
Process: electronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for gamma
Process: photonNuclear
Model: GammaNPreco: 0 eV ---> 200 MeV
Model: BertiniCascade: 199 MeV ---> 6 GeV
Model: TheoFSGenerator: 3 GeV ---> 100 TeV
Cr_sctns: GammaNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for kaon+
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: kaon+Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for kaon-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: kaon-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for lambda
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: lambdaInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for mu+
Process: muonNuclear
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for mu-
Process: muonNuclear
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
Process: muMinusCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for pi+
Process: hadElastic
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 ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for pi-
Process: hadElastic
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 ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for proton
Process: hadElastic
Model: hElasticCHIPS: 0 eV ---> 100 TeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: protonInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for sigma-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: sigma-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for triton
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: tInelastic
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 ---> 25.6 PeV
================================================================
=======================================================================
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
@@ -1125,7 +988,7 @@ See commands in /vis/modeling/trajectories/ for other options.
Run terminated.
Run Summary
Number of events processed : 500000
User=2.880000s Real=2.898216s Sys=0.000000s
User=2.890000s Real=3.047137s Sys=0.000000s
Run Summary
---------------------------------
@@ -1167,9 +1030,13 @@ Fresnel transmission goes to 0 at: -1 +/- 0.5 deg. Expected: 45.5847 deg.
... write file : coated_0.root - done
... close file : coated_0.root - done
There are 27 h1 histograms
List them with "/analysis/list".
View them with "/vis/plot" or "/vis/reviewPlots".
There are histograms that can be viewed with visualization:
27 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.
/analysis/setFileName coated_90
/opnovice2/gun/optPhotonPolar 90. deg
/run/beamOn 500000
@@ -1204,7 +1071,7 @@ Index : 1 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 500000
User=3.110000s Real=3.133778s Sys=0.000000s
User=2.910000s Real=3.797683s Sys=0.000000s
Run Summary
---------------------------------
@@ -1245,9 +1112,13 @@ Fresnel transmission goes to 0 at: -1 +/- 0.5 deg. Expected: 45.5847 deg.
... write file : coated_90.root - done
... close file : coated_90.root - done
There are 27 h1 histograms
List them with "/analysis/list".
View them with "/vis/plot" or "/vis/reviewPlots".
There are histograms that can be viewed with visualization:
27 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...
================== Deleting memory pools ===================
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-01-ref-06 (30-June-2023)
Geant4 version Name: geant4-11-02-ref-00 (8-December-2023)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -49,6 +49,10 @@ Registered graphics systems are:
TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB)
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG)
TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB)
Default graphics system is: TSG_OFFSCREEN (based on batch session).
Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation).
Note: Parameters specified on the command line will override these defaults.
Use "vis/open" without parameters to get these defaults.
Registering model factories...
@@ -198,7 +202,7 @@ OpBoundary is created
OpWLS is created
OpWLS2 is created
### Birks coefficients used in run time
G4_AIR 0.126 mm/MeV 1.51804e-05 g/cm^2/MeV massFactor= 63.6508 effCharge= 9.17523
G4_AIR 0.126 mm/MeV 1.51804e-05 g/cm^2/MeV massFactor= 65.0273 effCharge= 53.4439
/gun/particle opticalphoton
/gun/energy 4 eV
/gun/position 90 0 0 cm
@@ -689,384 +693,243 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
====================================================================
HADRONIC PROCESSES SUMMARY (verbose level 1)
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for neutron
Process: hadElastic
Model: hElasticCHIPS: 0 eV ---> 100 TeV
Cr_sctns: G4NeutronElasticXS: 0 eV ---> 100 TeV
Process: neutronInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: G4NeutronInelasticXS: 0 eV ---> 100 TeV
Process: nCapture
Model: nRadCapture: 0 eV ---> 100 TeV
Cr_sctns: G4NeutronCaptureXS: 0 eV ---> 100 TeV
Process: nKiller
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for B-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: B-Inelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for D-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: D-Inelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for GenericIon
Process: ionInelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: He3Inelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for alpha
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: alphaInelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_He3Inelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_alpha
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_alphaInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_deuteron
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_deuteronInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-------------------------------------------------------------------------
Hadronic Processes for anti_hypertriton
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_lambda
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: anti_lambdaInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_neutron
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
Model: AntiAElastic: 100 MeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_neutronInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_proton
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
Model: AntiAElastic: 100 MeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_protonInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_triton
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_tritonInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for deuteron
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: dInelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for e+
Process: positronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for e-
Process: electronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for gamma
Process: photonNuclear
Model: GammaNPreco: 0 eV ---> 200 MeV
Model: BertiniCascade: 199 MeV ---> 6 GeV
Model: TheoFSGenerator: 3 GeV ---> 100 TeV
Cr_sctns: GammaNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for kaon+
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: kaon+Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for kaon-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: kaon-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for lambda
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: lambdaInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for mu+
Process: muonNuclear
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for mu-
Process: muonNuclear
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
Process: muMinusCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for pi+
Process: hadElastic
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 ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for pi-
Process: hadElastic
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 ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for proton
Process: hadElastic
Model: hElasticCHIPS: 0 eV ---> 100 TeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: protonInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for sigma-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: sigma-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for triton
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: tInelastic
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 ---> 25.6 PeV
================================================================
=======================================================================
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
@@ -1143,13 +1006,17 @@ Surface events by process:
Histogram statistics for the entire run:
Angle of absorbed photons: mean = 0.00890279 rms = 0.74146
Angle of absorbed photons: mean = 0.00890297 rms = 0.74147
... write file : complexRindex_0.root - done
... close file : complexRindex_0.root - done
There are 27 h1 histograms
List them with "/analysis/list".
View them with "/vis/plot" or "/vis/reviewPlots".
There are histograms that can be viewed with visualization:
27 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.
/analysis/setFileName complexRindex_90
/opnovice2/gun/optPhotonPolar 90. deg
/run/beamOn 500000
@@ -1186,20 +1053,24 @@ Total # of surface events: 499938
Unaccounted for: 0
Surface events by process:
Spike reflection: 474369
Absorption: 25569
Spike reflection: 474370
Absorption: 25568
Sum: 499938
Unaccounted for: 0
---------------------------------
Histogram statistics for the entire run:
Angle of absorbed photons: mean = 0.00673137 rms = 0.60995
Angle of absorbed photons: mean = 0.00673159 rms = 0.60995
... write file : complexRindex_90.root - done
... close file : complexRindex_90.root - done
There are 27 h1 histograms
List them with "/analysis/list".
View them with "/vis/plot" or "/vis/reviewPlots".
There are histograms that can be viewed with visualization:
27 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...
+42 -175
View File
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-01-ref-06 (30-June-2023)
Geant4 version Name: geant4-11-02-ref-00 (8-December-2023)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -49,6 +49,10 @@ Registered graphics systems are:
TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB)
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG)
TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB)
Default graphics system is: TSG_OFFSCREEN (based on batch session).
Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation).
Note: Parameters specified on the command line will override these defaults.
Use "vis/open" without parameters to get these defaults.
Registering model factories...
@@ -773,7 +777,7 @@ OpBoundary is created
OpWLS is created
OpWLS2 is created
### Birks coefficients used in run time
G4_BGO 0.126 mm/MeV 0.089838 g/cm^2/MeV massFactor= 6.63951 effCharge= 1.56555
G4_BGO 0.126 mm/MeV 0.089838 g/cm^2/MeV massFactor= 40.0239 effCharge= 1652.42
/analysis/setFileName electron
/analysis/h1/set 1 100 0 10
/analysis/h1/set 2 100 0 10
@@ -1264,384 +1268,243 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
====================================================================
HADRONIC PROCESSES SUMMARY (verbose level 1)
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for neutron
Process: hadElastic
Model: hElasticCHIPS: 0 eV ---> 100 TeV
Cr_sctns: G4NeutronElasticXS: 0 eV ---> 100 TeV
Process: neutronInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: G4NeutronInelasticXS: 0 eV ---> 100 TeV
Process: nCapture
Model: nRadCapture: 0 eV ---> 100 TeV
Cr_sctns: G4NeutronCaptureXS: 0 eV ---> 100 TeV
Process: nKiller
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for B-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: B-Inelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for D-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: D-Inelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for GenericIon
Process: ionInelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: He3Inelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for alpha
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: alphaInelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_He3Inelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_alpha
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_alphaInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_deuteron
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_deuteronInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-------------------------------------------------------------------------
Hadronic Processes for anti_hypertriton
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_lambda
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: anti_lambdaInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_neutron
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
Model: AntiAElastic: 100 MeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_neutronInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_proton
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
Model: AntiAElastic: 100 MeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_protonInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_triton
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_tritonInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for deuteron
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: dInelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for e+
Process: positronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for e-
Process: electronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for gamma
Process: photonNuclear
Model: GammaNPreco: 0 eV ---> 200 MeV
Model: BertiniCascade: 199 MeV ---> 6 GeV
Model: TheoFSGenerator: 3 GeV ---> 100 TeV
Cr_sctns: GammaNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for kaon+
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: kaon+Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for kaon-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: kaon-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for lambda
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: lambdaInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for mu+
Process: muonNuclear
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for mu-
Process: muonNuclear
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
Process: muMinusCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for pi+
Process: hadElastic
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 ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for pi-
Process: hadElastic
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 ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for proton
Process: hadElastic
Model: hElasticCHIPS: 0 eV ---> 100 TeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: protonInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for sigma-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: sigma-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for triton
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: tInelastic
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 ---> 25.6 PeV
================================================================
=======================================================================
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
@@ -1704,7 +1567,7 @@ See commands in /vis/modeling/trajectories/ for other options.
Run terminated.
Run Summary
Number of events processed : 100
User=2.580000s Real=2.593166s Sys=0.000000s
User=2.690000s Real=3.108209s Sys=0.000000s
Run Summary
---------------------------------
@@ -1754,9 +1617,13 @@ Surface events by process:
... write file : electron.root - done
... close file : electron.root - done
There are 27 h1 histograms
List them with "/analysis/list".
View them with "/vis/plot" or "/vis/reviewPlots".
There are histograms that can be viewed with visualization:
27 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...
================== Deleting memory pools ===================
+50 -179
View File
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-01-ref-06 (30-June-2023)
Geant4 version Name: geant4-11-02-ref-00 (8-December-2023)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -49,6 +49,10 @@ Registered graphics systems are:
TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB)
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG)
TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB)
Default graphics system is: TSG_OFFSCREEN (based on batch session).
Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation).
Note: Parameters specified on the command line will override these defaults.
Use "vis/open" without parameters to get these defaults.
Registering model factories...
@@ -169,7 +173,7 @@ OpBoundary is created
OpWLS is created
OpWLS2 is created
### Birks coefficients used in run time
G4_WATER 0.126 mm/MeV 0.0126 g/cm^2/MeV massFactor= 85.0756 effCharge= 62.0606
G4_WATER 0.126 mm/MeV 0.0126 g/cm^2/MeV massFactor= 640.135 effCharge= 22
#
/gun/particle opticalphoton
/gun/energy 5 eV
@@ -664,384 +668,243 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
====================================================================
HADRONIC PROCESSES SUMMARY (verbose level 1)
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for neutron
Process: hadElastic
Model: hElasticCHIPS: 0 eV ---> 100 TeV
Cr_sctns: G4NeutronElasticXS: 0 eV ---> 100 TeV
Process: neutronInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: G4NeutronInelasticXS: 0 eV ---> 100 TeV
Process: nCapture
Model: nRadCapture: 0 eV ---> 100 TeV
Cr_sctns: G4NeutronCaptureXS: 0 eV ---> 100 TeV
Process: nKiller
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for B-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: B-Inelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for D-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: D-Inelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for GenericIon
Process: ionInelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: He3Inelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for alpha
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: alphaInelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_He3Inelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_alpha
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_alphaInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_deuteron
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_deuteronInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-------------------------------------------------------------------------
Hadronic Processes for anti_hypertriton
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_lambda
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: anti_lambdaInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_neutron
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
Model: AntiAElastic: 100 MeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_neutronInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_proton
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
Model: AntiAElastic: 100 MeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_protonInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_triton
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_tritonInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for deuteron
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: dInelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for e+
Process: positronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for e-
Process: electronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for gamma
Process: photonNuclear
Model: GammaNPreco: 0 eV ---> 200 MeV
Model: BertiniCascade: 199 MeV ---> 6 GeV
Model: TheoFSGenerator: 3 GeV ---> 100 TeV
Cr_sctns: GammaNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for kaon+
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: kaon+Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for kaon-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: kaon-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for lambda
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: lambdaInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for mu+
Process: muonNuclear
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for mu-
Process: muonNuclear
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
Process: muMinusCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for pi+
Process: hadElastic
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 ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for pi-
Process: hadElastic
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 ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for proton
Process: hadElastic
Model: hElasticCHIPS: 0 eV ---> 100 TeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: protonInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for sigma-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: sigma-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for triton
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: tInelastic
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 ---> 25.6 PeV
================================================================
=======================================================================
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
@@ -1108,7 +971,7 @@ See commands in /vis/modeling/trajectories/ for other options.
Run terminated.
Run Summary
Number of events processed : 500000
User=5.250000s Real=5.279245s Sys=0.000000s
User=3.490000s Real=4.097596s Sys=0.000000s
Run Summary
---------------------------------
@@ -1151,9 +1014,13 @@ Fresnel transmission goes to 0 at: 45.5 +/- 0.5 deg. Expected: 45.9605 deg.
... write file : fresnel_0.root - done
... close file : fresnel_0.root - done
There are 27 h1 histograms
List them with "/analysis/list".
View them with "/vis/plot" or "/vis/reviewPlots".
There are histograms that can be viewed with visualization:
27 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.
/analysis/setFileName fresnel_90
/opnovice2/gun/optPhotonPolar 90. deg
/run/beamOn 500000
@@ -1188,7 +1055,7 @@ Index : 1 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 500000
User=3.500000s Real=3.556863s Sys=0.000000s
User=3.500000s Real=4.458986s Sys=0.000000s
Run Summary
---------------------------------
@@ -1230,9 +1097,13 @@ Fresnel transmission goes to 0 at: 45.5 +/- 0.5 deg. Expected: 45.9605 deg.
... write file : fresnel_90.root - done
... close file : fresnel_90.root - done
There are 27 h1 histograms
List them with "/analysis/list".
View them with "/vis/plot" or "/vis/reviewPlots".
There are histograms that can be viewed with visualization:
27 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...
================== Deleting memory pools ===================
@@ -36,11 +36,11 @@
class ActionInitialization : public G4VUserActionInitialization
{
public:
ActionInitialization();
virtual ~ActionInitialization();
ActionInitialization() = default;
~ActionInitialization() override = default;
virtual void BuildForMaster() const;
virtual void Build() const;
void BuildForMaster() const override;
void Build() const override;
};
#endif
@@ -39,6 +39,8 @@
#include "G4RunManager.hh"
#include "G4VUserDetectorConstruction.hh"
#include <CLHEP/Units/SystemOfUnits.h>
class DetectorMessenger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -47,7 +49,9 @@ class DetectorConstruction : public G4VUserDetectorConstruction
{
public:
DetectorConstruction();
virtual ~DetectorConstruction();
~DetectorConstruction() override;
G4VPhysicalVolume* Construct() override;
G4VPhysicalVolume* GetTank() { return fTank; }
G4double GetTankXSize() { return fTank_x; }
@@ -59,7 +63,7 @@ class DetectorConstruction : public G4VUserDetectorConstruction
fSurface->SetFinish(finish);
G4RunManager::GetRunManager()->GeometryHasBeenModified();
}
G4OpticalSurfaceFinish GetSurfaceFinish(void)
G4OpticalSurfaceFinish GetSurfaceFinish()
{
return fSurface->GetFinish();
}
@@ -75,7 +79,7 @@ class DetectorConstruction : public G4VUserDetectorConstruction
fSurface->SetModel(model);
G4RunManager::GetRunManager()->GeometryHasBeenModified();
}
G4OpticalSurfaceModel GetSurfaceModel(void) { return fSurface->GetModel(); }
G4OpticalSurfaceModel GetSurfaceModel() { return fSurface->GetModel(); }
void SetSurfaceSigmaAlpha(G4double v);
void SetSurfacePolish(G4double v);
@@ -106,32 +110,30 @@ class DetectorConstruction : public G4VUserDetectorConstruction
void SetTankMaterial(const G4String&);
G4Material* GetTankMaterial() const { return fTankMaterial; }
virtual G4VPhysicalVolume* Construct();
private:
G4double fExpHall_x;
G4double fExpHall_y;
G4double fExpHall_z;
G4double fExpHall_x = 10.*CLHEP::m;
G4double fExpHall_y = 10.*CLHEP::m;
G4double fExpHall_z = 10.*CLHEP::m;
G4VPhysicalVolume* fTank;
G4VPhysicalVolume* fTank = nullptr;
G4double fTank_x;
G4double fTank_y;
G4double fTank_z;
G4double fTank_x = 1.*CLHEP::m;
G4double fTank_y = 1.*CLHEP::m;
G4double fTank_z = 1.*CLHEP::m;
G4LogicalVolume* fWorld_LV;
G4LogicalVolume* fTank_LV;
G4LogicalVolume* fWorld_LV = nullptr;
G4LogicalVolume* fTank_LV = nullptr;
G4Material* fWorldMaterial;
G4Material* fTankMaterial;
G4Material* fWorldMaterial = nullptr;
G4Material* fTankMaterial = nullptr;
G4OpticalSurface* fSurface;
G4OpticalSurface* fSurface = nullptr;
DetectorMessenger* fDetectorMessenger;
DetectorMessenger* fDetectorMessenger = nullptr;
G4MaterialPropertiesTable* fTankMPT;
G4MaterialPropertiesTable* fWorldMPT;
G4MaterialPropertiesTable* fSurfaceMPT;
G4MaterialPropertiesTable* fTankMPT = nullptr;
G4MaterialPropertiesTable* fWorldMPT = nullptr;
G4MaterialPropertiesTable* fSurfaceMPT = nullptr;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -51,33 +51,32 @@ class DetectorMessenger : public G4UImessenger
{
public:
DetectorMessenger(DetectorConstruction*);
~DetectorMessenger();
~DetectorMessenger() override;
virtual void SetNewValue(G4UIcommand*, G4String);
void SetNewValue(G4UIcommand*, G4String) override;
private:
DetectorConstruction* fDetector;
G4UIdirectory* fOpticalDir;
DetectorConstruction* fDetector = nullptr;
G4UIdirectory* fOpticalDir = nullptr;
// the surface
G4UIcmdWithAString* fSurfaceTypeCmd;
G4UIcmdWithAString* fSurfaceFinishCmd;
G4UIcmdWithAString* fSurfaceModelCmd;
G4UIcmdWithADouble* fSurfaceSigmaAlphaCmd;
G4UIcmdWithADouble* fSurfacePolishCmd;
G4UIcmdWithAString* fSurfaceMatPropVectorCmd;
G4UIcmdWithAString* fSurfaceMatPropConstCmd;
G4UIcmdWithAString* fSurfaceTypeCmd = nullptr;
G4UIcmdWithAString* fSurfaceFinishCmd = nullptr;
G4UIcmdWithAString* fSurfaceModelCmd = nullptr;
G4UIcmdWithADouble* fSurfaceSigmaAlphaCmd = nullptr;
G4UIcmdWithADouble* fSurfacePolishCmd = nullptr;
G4UIcmdWithAString* fSurfaceMatPropVectorCmd = nullptr;
G4UIcmdWithAString* fSurfaceMatPropConstCmd = nullptr;
// the box
G4UIcmdWithAString* fTankMatPropVectorCmd;
G4UIcmdWithAString* fTankMatPropConstCmd;
G4UIcmdWithAString* fTankMaterialCmd;
G4UIcmdWithAString* fTankMatPropVectorCmd = nullptr;
G4UIcmdWithAString* fTankMatPropConstCmd = nullptr;
G4UIcmdWithAString* fTankMaterialCmd = nullptr;
// the world
G4UIcmdWithAString* fWorldMatPropVectorCmd;
G4UIcmdWithAString* fWorldMatPropConstCmd;
G4UIcmdWithAString* fWorldMaterialCmd;
G4UIcmdWithAString* fWorldMatPropVectorCmd = nullptr;
G4UIcmdWithAString* fWorldMatPropConstCmd = nullptr;
G4UIcmdWithAString* fWorldMaterialCmd = nullptr;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -43,7 +43,7 @@ class HistoManager
{
public:
HistoManager();
~HistoManager();
~HistoManager() = default;
private:
void Book();
@@ -46,9 +46,9 @@ class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
PrimaryGeneratorAction();
virtual ~PrimaryGeneratorAction();
~PrimaryGeneratorAction() override;
virtual void GeneratePrimaries(G4Event*);
void GeneratePrimaries(G4Event*) override;
G4ParticleGun* GetParticleGun() { return fParticleGun; };
@@ -59,11 +59,11 @@ class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
G4double GetPolarization() { return fPolarization; }
private:
G4ParticleGun* fParticleGun;
PrimaryGeneratorMessenger* fGunMessenger;
G4bool fRandomDirection;
G4bool fPolarized;
G4double fPolarization;
G4ParticleGun* fParticleGun = nullptr;
PrimaryGeneratorMessenger* fGunMessenger = nullptr;
G4bool fRandomDirection = false;
G4bool fPolarized = false;
G4double fPolarization = 0.;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -50,15 +50,15 @@ class PrimaryGeneratorMessenger : public G4UImessenger
{
public:
PrimaryGeneratorMessenger(PrimaryGeneratorAction*);
virtual ~PrimaryGeneratorMessenger();
~PrimaryGeneratorMessenger() override;
virtual void SetNewValue(G4UIcommand*, G4String);
void SetNewValue(G4UIcommand*, G4String) override;
private:
PrimaryGeneratorAction* fPrimaryAction;
G4UIdirectory* fGunDir;
G4UIcmdWithADoubleAndUnit* fPolarCmd;
G4UIcmdWithABool* fRandomDirectionCmd;
PrimaryGeneratorAction* fPrimaryAction = nullptr;
G4UIdirectory* fGunDir = nullptr;
G4UIcmdWithADoubleAndUnit* fPolarCmd = nullptr;
G4UIcmdWithABool* fRandomDirectionCmd = nullptr;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -42,7 +42,7 @@ class Run : public G4Run
{
public:
Run();
~Run();
~Run() override = default;
void SetPrimary(G4ParticleDefinition* particle, G4double energy,
G4bool polarized, G4double polarization);
@@ -56,190 +56,190 @@ class Run : public G4Run
void AddWLS2EmissionEnergy(G4double en) { fWLS2EmissionEnergy += en; }
// number of particles
void AddCerenkov(void) { fCerenkovCount += 1; }
void AddScintillation(void) { fScintCount += 1; }
void AddRayleigh(void) { fRayleighCount += 1; }
void AddWLSAbsorption(void) { fWLSAbsorptionCount += 1; }
void AddWLSEmission(void) { fWLSEmissionCount += 1; }
void AddWLS2Absorption(void) { fWLS2AbsorptionCount += 1; }
void AddWLS2Emission(void) { fWLS2EmissionCount += 1; }
void AddCerenkov() { fCerenkovCount += 1; }
void AddScintillation() { fScintCount += 1; }
void AddRayleigh() { fRayleighCount += 1; }
void AddWLSAbsorption() { fWLSAbsorptionCount += 1; }
void AddWLSEmission() { fWLSEmissionCount += 1; }
void AddWLS2Absorption() { fWLS2AbsorptionCount += 1; }
void AddWLS2Emission() { fWLS2EmissionCount += 1; }
void AddOpAbsorption(void) { fOpAbsorption += 1; }
void AddOpAbsorptionPrior(void) { fOpAbsorptionPrior += 1; }
void AddOpAbsorption() { fOpAbsorption += 1; }
void AddOpAbsorptionPrior() { fOpAbsorptionPrior += 1; }
void AddFresnelRefraction(void) { fBoundaryProcs[FresnelRefraction] += 1; }
void AddFresnelReflection(void) { fBoundaryProcs[FresnelReflection] += 1; }
void AddTransmission(void) { fBoundaryProcs[Transmission] += 1; }
void AddTotalInternalReflection(void)
void AddFresnelRefraction() { fBoundaryProcs[FresnelRefraction] += 1; }
void AddFresnelReflection() { fBoundaryProcs[FresnelReflection] += 1; }
void AddTransmission() { fBoundaryProcs[Transmission] += 1; }
void AddTotalInternalReflection()
{
fBoundaryProcs[TotalInternalReflection] += 1;
}
void AddLambertianReflection(void)
void AddLambertianReflection()
{
fBoundaryProcs[LambertianReflection] += 1;
}
void AddLobeReflection(void) { fBoundaryProcs[LobeReflection] += 1; }
void AddSpikeReflection(void) { fBoundaryProcs[SpikeReflection] += 1; }
void AddBackScattering(void) { fBoundaryProcs[BackScattering] += 1; }
void AddAbsorption(void) { fBoundaryProcs[Absorption] += 1; }
void AddDetection(void) { fBoundaryProcs[Detection] += 1; }
void AddNotAtBoundary(void) { fBoundaryProcs[NotAtBoundary] += 1; }
void AddSameMaterial(void) { fBoundaryProcs[SameMaterial] += 1; }
void AddStepTooSmall(void) { fBoundaryProcs[StepTooSmall] += 1; }
void AddNoRINDEX(void) { fBoundaryProcs[NoRINDEX] += 1; }
void AddLobeReflection() { fBoundaryProcs[LobeReflection] += 1; }
void AddSpikeReflection() { fBoundaryProcs[SpikeReflection] += 1; }
void AddBackScattering() { fBoundaryProcs[BackScattering] += 1; }
void AddAbsorption() { fBoundaryProcs[Absorption] += 1; }
void AddDetection() { fBoundaryProcs[Detection] += 1; }
void AddNotAtBoundary() { fBoundaryProcs[NotAtBoundary] += 1; }
void AddSameMaterial() { fBoundaryProcs[SameMaterial] += 1; }
void AddStepTooSmall() { fBoundaryProcs[StepTooSmall] += 1; }
void AddNoRINDEX() { fBoundaryProcs[NoRINDEX] += 1; }
void AddTotalSurface(void) { fTotalSurface += 1; }
void AddPolishedLumirrorAirReflection(void)
void AddTotalSurface() { fTotalSurface += 1; }
void AddPolishedLumirrorAirReflection()
{
fBoundaryProcs[PolishedLumirrorAirReflection] += 1;
}
void AddPolishedLumirrorGlueReflection(void)
void AddPolishedLumirrorGlueReflection()
{
fBoundaryProcs[PolishedLumirrorGlueReflection] += 1;
}
void AddPolishedAirReflection(void)
void AddPolishedAirReflection()
{
fBoundaryProcs[PolishedAirReflection] += 1;
}
void AddPolishedTeflonAirReflection(void)
void AddPolishedTeflonAirReflection()
{
fBoundaryProcs[PolishedTeflonAirReflection] += 1;
}
void AddPolishedTiOAirReflection(void)
void AddPolishedTiOAirReflection()
{
fBoundaryProcs[PolishedTiOAirReflection] += 1;
}
void AddPolishedTyvekAirReflection(void)
void AddPolishedTyvekAirReflection()
{
fBoundaryProcs[PolishedTyvekAirReflection] += 1;
}
void AddPolishedVM2000AirReflection(void)
void AddPolishedVM2000AirReflection()
{
fBoundaryProcs[PolishedVM2000AirReflection] += 1;
}
void AddPolishedVM2000GlueReflection(void)
void AddPolishedVM2000GlueReflection()
{
fBoundaryProcs[PolishedVM2000GlueReflection] += 1;
}
void AddEtchedLumirrorAirReflection(void)
void AddEtchedLumirrorAirReflection()
{
fBoundaryProcs[EtchedLumirrorAirReflection] += 1;
}
void AddEtchedLumirrorGlueReflection(void)
void AddEtchedLumirrorGlueReflection()
{
fBoundaryProcs[EtchedLumirrorGlueReflection] += 1;
}
void AddEtchedAirReflection(void)
void AddEtchedAirReflection()
{
fBoundaryProcs[EtchedAirReflection] += 1;
}
void AddEtchedTeflonAirReflection(void)
void AddEtchedTeflonAirReflection()
{
fBoundaryProcs[EtchedTeflonAirReflection] += 1;
}
void AddEtchedTiOAirReflection(void)
void AddEtchedTiOAirReflection()
{
fBoundaryProcs[EtchedTiOAirReflection] += 1;
}
void AddEtchedTyvekAirReflection(void)
void AddEtchedTyvekAirReflection()
{
fBoundaryProcs[EtchedTyvekAirReflection] += 1;
}
void AddEtchedVM2000AirReflection(void)
void AddEtchedVM2000AirReflection()
{
fBoundaryProcs[EtchedVM2000AirReflection] += 1;
}
void AddEtchedVM2000GlueReflection(void)
void AddEtchedVM2000GlueReflection()
{
fBoundaryProcs[EtchedVM2000GlueReflection] += 1;
}
void AddGroundLumirrorAirReflection(void)
void AddGroundLumirrorAirReflection()
{
fBoundaryProcs[GroundLumirrorAirReflection] += 1;
}
void AddGroundLumirrorGlueReflection(void)
void AddGroundLumirrorGlueReflection()
{
fBoundaryProcs[GroundLumirrorGlueReflection] += 1;
}
void AddGroundAirReflection(void)
void AddGroundAirReflection()
{
fBoundaryProcs[GroundAirReflection] += 1;
}
void AddGroundTeflonAirReflection(void)
void AddGroundTeflonAirReflection()
{
fBoundaryProcs[GroundTeflonAirReflection] += 1;
}
void AddGroundTiOAirReflection(void)
void AddGroundTiOAirReflection()
{
fBoundaryProcs[GroundTiOAirReflection] += 1;
}
void AddGroundTyvekAirReflection(void)
void AddGroundTyvekAirReflection()
{
fBoundaryProcs[GroundTyvekAirReflection] += 1;
}
void AddGroundVM2000AirReflection(void)
void AddGroundVM2000AirReflection()
{
fBoundaryProcs[GroundVM2000AirReflection] += 1;
}
void AddGroundVM2000GlueReflection(void)
void AddGroundVM2000GlueReflection()
{
fBoundaryProcs[GroundVM2000GlueReflection] += 1;
}
void AddDichroic(void) { fBoundaryProcs[Dichroic] += 1; }
void AddCoatedDielectricRefraction(void)
void AddDichroic() { fBoundaryProcs[Dichroic] += 1; }
void AddCoatedDielectricRefraction()
{
fBoundaryProcs[CoatedDielectricRefraction] += 1;
}
void AddCoatedDielectricReflection(void)
void AddCoatedDielectricReflection()
{
fBoundaryProcs[CoatedDielectricReflection] += 1;
}
void AddCoatedDielectricFrustratedTransmission(void)
void AddCoatedDielectricFrustratedTransmission()
{
fBoundaryProcs[CoatedDielectricFrustratedTransmission] += 1;
}
virtual void Merge(const G4Run*);
void Merge(const G4Run*) override;
void EndOfRun();
private:
// primary particle
G4ParticleDefinition* fParticle;
G4double fEkin;
G4bool fPolarized;
G4double fPolarization;
G4ParticleDefinition* fParticle = nullptr;
G4double fEkin = -1.;
G4bool fPolarized = false;
G4double fPolarization = 0.;
G4double fCerenkovEnergy;
G4double fScintEnergy;
G4double fWLSAbsorptionEnergy;
G4double fWLSEmissionEnergy;
G4double fWLS2AbsorptionEnergy;
G4double fWLS2EmissionEnergy;
G4double fCerenkovEnergy = 0.;
G4double fScintEnergy = 0.;
G4double fWLSAbsorptionEnergy = 0.;
G4double fWLSEmissionEnergy = 0.;
G4double fWLS2AbsorptionEnergy = 0.;
G4double fWLS2EmissionEnergy = 0.;
// number of particles
G4int fCerenkovCount;
G4int fScintCount;
G4int fWLSAbsorptionCount;
G4int fWLSEmissionCount;
G4int fWLS2AbsorptionCount;
G4int fWLS2EmissionCount;
G4int fCerenkovCount = 0;
G4int fScintCount = 0;
G4int fWLSAbsorptionCount = 0;
G4int fWLSEmissionCount = 0;
G4int fWLS2AbsorptionCount = 0;
G4int fWLS2EmissionCount = 0;
// number of events
G4int fRayleighCount;
G4int fRayleighCount = 0;
// non-boundary processes
G4int fOpAbsorption;
G4int fOpAbsorption = 0;
// prior to boundary:
G4int fOpAbsorptionPrior;
G4int fOpAbsorptionPrior = 0;
// boundary proc
std::vector<G4int> fBoundaryProcs;
G4int fTotalSurface;
G4int fTotalSurface = 0;
};
#endif /* Run_h */
@@ -47,16 +47,16 @@ class RunAction : public G4UserRunAction
{
public:
RunAction(PrimaryGeneratorAction* = nullptr);
virtual ~RunAction();
~RunAction() override;
virtual G4Run* GenerateRun();
virtual void BeginOfRunAction(const G4Run*);
virtual void EndOfRunAction(const G4Run*);
G4Run* GenerateRun() override;
void BeginOfRunAction(const G4Run*) override;
void EndOfRunAction(const G4Run*) override;
private:
Run* fRun;
HistoManager* fHistoManager;
PrimaryGeneratorAction* fPrimary;
Run* fRun = nullptr;
HistoManager* fHistoManager = nullptr;
PrimaryGeneratorAction* fPrimary = nullptr;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -35,18 +35,27 @@
#include "globals.hh"
#include "G4UserSteppingAction.hh"
class SteppingMessenger;
class SteppingAction : public G4UserSteppingAction
{
public:
SteppingAction();
virtual ~SteppingAction();
~SteppingAction() override;
// method from the base class
virtual void UserSteppingAction(const G4Step*);
void UserSteppingAction(const G4Step*) override;
inline void SetKillOnSecondSurface(G4bool val) { fKillOnSecondSurface = val; }
inline G4bool GetKillOnSecondSurface() { return fKillOnSecondSurface; }
private:
SteppingMessenger* fSteppingMessenger = nullptr;
G4int fVerbose = 0;
size_t fIdxVelocity = 0;
G4bool fKillOnSecondSurface = false;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -0,0 +1,61 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file optical/OpNovice2/include/SteppingMessenger.hh
/// \brief Definition of the SteppingMessenger class
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef SteppingMessenger_h
#define SteppingMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
class SteppingAction;
class G4UIdirectory;
class G4UIcmdWithABool;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class SteppingMessenger : public G4UImessenger
{
public:
SteppingMessenger(SteppingAction*);
~SteppingMessenger() override;
void SetNewValue(G4UIcommand*, G4String) override;
private:
G4UIdirectory* fSteppingDir = nullptr;
G4UIcmdWithABool* fKillOnSecondSurfaceCmd = nullptr;
SteppingAction* fSteppingAction = nullptr;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -44,8 +44,8 @@ class SteppingVerbose;
class SteppingVerbose : public G4SteppingVerbose
{
public:
SteppingVerbose();
virtual ~SteppingVerbose();
SteppingVerbose() = default;
~SteppingVerbose() = default;
virtual G4VSteppingVerbose* Clone() { return new SteppingVerbose; }
@@ -44,7 +44,7 @@ class TrackInformation : public G4VUserTrackInformation
TrackInformation();
TrackInformation(const G4Track* aTrack);
TrackInformation(const TrackInformation* aTrackInfo);
virtual ~TrackInformation();
~TrackInformation() override;
inline void* operator new(size_t);
inline void operator delete(void* aTrackInfo);
@@ -52,14 +52,17 @@ class TrackInformation : public G4VUserTrackInformation
TrackInformation& operator=(const TrackInformation& right);
void SetSourceTrackInformation(const G4Track* aTrack);
virtual void Print() const;
void Print() const override;
public:
inline G4bool GetIsFirstTankX() const { return fFirstTankX; }
inline void SetIsFirstTankX(G4bool b) { fFirstTankX = b; }
inline G4int GetReflectionNumber() const { return fReflectionNumber; }
inline void IncrementReflectionNumber() { ++fReflectionNumber; }
private:
G4bool fFirstTankX;
G4bool fFirstTankX = false;
G4int fReflectionNumber = 0;
};
extern G4ThreadLocal G4Allocator<TrackInformation>* aTrackInformationAllocator;
@@ -38,11 +38,11 @@
class TrackingAction : public G4UserTrackingAction
{
public:
TrackingAction();
virtual ~TrackingAction(){};
TrackingAction() = default;
~TrackingAction() override = default;
virtual void PreUserTrackingAction(const G4Track*);
virtual void PostUserTrackingAction(const G4Track*);
void PreUserTrackingAction(const G4Track*) override;
void PostUserTrackingAction(const G4Track*) override;
};
#endif
@@ -18,23 +18,39 @@
/opnovice2/boxConstProperty RESOLUTIONSCALE 1
#/opnovice2/boxProperty SCINTILLATIONYIELD 5000.
/opnovice2/boxProperty PROTONSCINTILLATIONYIELD 0 50 10 5000
/opnovice2/boxConstProperty PROTONSCINTILLATIONYIELD1 0.2
/opnovice2/boxConstProperty PROTONSCINTILLATIONYIELD2 0.8
/opnovice2/boxConstProperty PROTONSCINTILLATIONYIELD1 0.3
/opnovice2/boxConstProperty PROTONSCINTILLATIONYIELD2 0.5
/opnovice2/boxConstProperty PROTONSCINTILLATIONYIELD3 0.2
/opnovice2/boxConstProperty PROTONSCINTILLATIONTIMECONSTANT1 50
/opnovice2/boxConstProperty PROTONSCINTILLATIONTIMECONSTANT2 200
/opnovice2/boxConstProperty PROTONSCINTILLATIONTIMECONSTANT3 500
/opnovice2/boxProperty DEUTERONSCINTILLATIONYIELD 0 50 10 5000
/opnovice2/boxConstProperty DEUTERONSCINTILLATIONYIELD1 0.6
/opnovice2/boxConstProperty DEUTERONSCINTILLATIONYIELD2 0.4
# if time constants aren't specified for a particle, SCINTILLATIONTIMECONSTANTs
# will be used for that particle
#/opnovice2/boxConstProperty DEUTERONSCINTILLATIONTIMECONSTANT1 50
#/opnovice2/boxConstProperty DEUTERONSCINTILLATIONTIMECONSTANT2 100
/opnovice2/boxProperty TRITONSCINTILLATIONYIELD 0 50 10 5000
/opnovice2/boxConstProperty TRITONSCINTILLATIONYIELD1 0.5
/opnovice2/boxConstProperty TRITONSCINTILLATIONYIELD2 0.5
/opnovice2/boxConstProperty TRITONSCINTILLATIONTIMECONSTANT1 100
/opnovice2/boxConstProperty TRITONSCINTILLATIONTIMECONSTANT2 500
/opnovice2/boxProperty ALPHASCINTILLATIONYIELD 0 50 10 50000
/opnovice2/boxConstProperty ALPHASCINTILLATIONYIELD1 0.7
/opnovice2/boxConstProperty ALPHASCINTILLATIONYIELD2 0.3
/opnovice2/boxConstProperty ALPHASCINTILLATIONTIMECONSTANT1 30
/opnovice2/boxConstProperty ALPHASCINTILLATIONTIMECONSTANT2 60
/opnovice2/boxProperty IONSCINTILLATIONYIELD 0 50 10 5000
/opnovice2/boxConstProperty IONSCINTILLATIONYIELD1 0.7
/opnovice2/boxConstProperty IONSCINTILLATIONYIELD2 0.3
/opnovice2/boxConstProperty IONSCINTILLATIONYIELD1 1.0
/opnovice2/boxConstProperty IONSCINTILLATIONYIELD2 0.0
/opnovice2/boxConstProperty IONSCINTILLATIONTIMECONSTANT1 20
/opnovice2/boxConstProperty IONSCINTILLATIONTIMECONSTANT2 100
/opnovice2/boxProperty ELECTRONSCINTILLATIONYIELD 0 5000 10 500000
/opnovice2/boxConstProperty ELECTRONSCINTILLATIONYIELD1 0.8
/opnovice2/boxConstProperty ELECTRONSCINTILLATIONYIELD2 0.2
/opnovice2/boxConstProperty ELECTRONSCINTILLATIONYIELD1 0.5
/opnovice2/boxConstProperty ELECTRONSCINTILLATIONYIELD2 0.5
/opnovice2/boxConstProperty ELECTRONSCINTILLATIONTIMECONSTANT1 50
/opnovice2/boxConstProperty ELECTRONSCINTILLATIONTIMECONSTANT2 500
/opnovice2/worldProperty RINDEX 0.000002 1.01 0.000008 1.01
/opnovice2/worldProperty ABSLENGTH 0.000002 100 0.000005 100 0.000008 100
@@ -59,9 +75,7 @@
/run/initialize
/process/optical/scintillation/verbose 0
/analysis/setFileName scint_by_particle
/analysis/setFileName scint_by_particle_e
/analysis/h1/set 2 100 0 10 # eV
/analysis/h1/set 3 400 0 200 # ns
@@ -70,18 +84,22 @@
/gun/energy 1 MeV
/gun/position -1 0 0 m
/gun/direction 1 0 0
#
/run/beamOn 100
/gun/particle proton
/analysis/setFileName scint_by_particle_p
/run/beamOn 100
/gun/particle alpha
/analysis/setFileName scint_by_particle_a
/run/beamOn 100
/gun/particle deuteron
/analysis/setFileName scint_by_particle_d
/run/beamOn 100
/gun/particle ion
/analysis/setFileName scint_by_particle_i
/gun/ion 6 12 6
/run/beamOn 100
File diff suppressed because it is too large Load Diff
@@ -34,18 +34,6 @@
#include "SteppingAction.hh"
#include "TrackingAction.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ActionInitialization::ActionInitialization()
: G4VUserActionInitialization()
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ActionInitialization::~ActionInitialization() {}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ActionInitialization::BuildForMaster() const
{
SetUserAction(new RunAction());
@@ -55,7 +43,7 @@ void ActionInitialization::BuildForMaster() const
void ActionInitialization::Build() const
{
PrimaryGeneratorAction* primary = new PrimaryGeneratorAction();
auto primary = new PrimaryGeneratorAction();
SetUserAction(primary);
SetUserAction(new RunAction(primary));
SetUserAction(new SteppingAction());
@@ -53,11 +53,6 @@ DetectorConstruction::DetectorConstruction()
: G4VUserDetectorConstruction()
, fDetectorMessenger(nullptr)
{
fExpHall_x = fExpHall_y = fExpHall_z = 10.0 * m;
fTank_x = fTank_y = fTank_z = 1.0 * m;
fTank = nullptr;
fTankMPT = new G4MaterialPropertiesTable();
fWorldMPT = new G4MaterialPropertiesTable();
fSurfaceMPT = new G4MaterialPropertiesTable();
@@ -68,9 +63,6 @@ DetectorConstruction::DetectorConstruction()
fSurface->SetModel(unified);
fSurface->SetMaterialPropertiesTable(fSurfaceMPT);
fTank_LV = nullptr;
fWorld_LV = nullptr;
fTankMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_WATER");
fWorldMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_AIR");
@@ -98,27 +90,28 @@ G4VPhysicalVolume* DetectorConstruction::Construct()
// ------------- Volumes --------------
// The experimental Hall
G4Box* world_box = new G4Box("World", fExpHall_x, fExpHall_y, fExpHall_z);
auto world_box = new G4Box("World", fExpHall_x, fExpHall_y, fExpHall_z);
fWorld_LV = new G4LogicalVolume(world_box, fWorldMaterial, "World", 0, 0, 0);
fWorld_LV = new G4LogicalVolume(world_box, fWorldMaterial, "World");
G4VPhysicalVolume* world_PV =
new G4PVPlacement(0, G4ThreeVector(), fWorld_LV, "World", 0, false, 0);
new G4PVPlacement(nullptr, G4ThreeVector(), fWorld_LV, "World", nullptr,
false, 0);
// The tank
G4Box* tank_box = new G4Box("Tank", fTank_x, fTank_y, fTank_z);
auto tank_box = new G4Box("Tank", fTank_x, fTank_y, fTank_z);
fTank_LV = new G4LogicalVolume(tank_box, fTankMaterial, "Tank", 0, 0, 0);
fTank_LV = new G4LogicalVolume(tank_box, fTankMaterial, "Tank");
fTank = new G4PVPlacement(0, G4ThreeVector(), fTank_LV, "Tank", fWorld_LV,
false, 0);
fTank = new G4PVPlacement(nullptr, G4ThreeVector(), fTank_LV, "Tank",
fWorld_LV, false, 0);
// ------------- Surface --------------
G4LogicalBorderSurface* surface =
auto surface =
new G4LogicalBorderSurface("Surface", fTank, world_PV, fSurface);
G4OpticalSurface* opticalSurface = dynamic_cast<G4OpticalSurface*>(
auto opticalSurface = dynamic_cast<G4OpticalSurface*>(
surface->GetSurface(fTank, world_PV)->GetSurfaceProperty());
G4cout << "****** opticalSurface->DumpInfo:" << G4endl;
if(opticalSurface)
@@ -406,7 +406,7 @@ void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue)
// string format is property name, then pairs of energy, value
// specify units for each value, eg 3.0*eV
// space delimited
G4MaterialPropertyVector* mpv = new G4MaterialPropertyVector();
auto mpv = new G4MaterialPropertyVector();
std::istringstream instring(newValue);
G4String prop;
instring >> prop;
@@ -430,7 +430,7 @@ void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue)
{
// Convert string to physics vector
// string format is property name, then pairs of energy, value
G4MaterialPropertyVector* mpv = new G4MaterialPropertyVector();
auto mpv = new G4MaterialPropertyVector();
std::istringstream instring(newValue);
G4String prop;
instring >> prop;
@@ -454,7 +454,7 @@ void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue)
// Convert string to physics vector
// string format is property name, then pairs of energy, value
// space delimited
G4MaterialPropertyVector* mpv = new G4MaterialPropertyVector();
auto mpv = new G4MaterialPropertyVector();
G4cout << newValue << G4endl;
std::istringstream instring(newValue);
G4String prop;
@@ -45,10 +45,6 @@ HistoManager::HistoManager()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
HistoManager::~HistoManager() {}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void HistoManager::Book()
{
// Create or get analysis manager
@@ -47,7 +47,7 @@
PrimaryGeneratorAction::PrimaryGeneratorAction()
: G4VUserPrimaryGeneratorAction()
, fParticleGun(0)
, fParticleGun(nullptr)
{
G4int n_particle = 1;
fParticleGun = new G4ParticleGun(n_particle);
@@ -55,11 +55,6 @@ PrimaryGeneratorAction::PrimaryGeneratorAction()
// create a messenger for this class
fGunMessenger = new PrimaryGeneratorMessenger(this);
fRandomDirection = false;
fPolarized = false;
fPolarization = 0.;
// default kinematic
//
G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* particle = particleTable->FindParticle("e+");
+2 -30
View File
@@ -45,37 +45,9 @@
Run::Run()
: G4Run()
{
fParticle = nullptr;
fEkin = -1.;
fPolarized = false;
fPolarization = 0.;
fCerenkovEnergy = 0.0;
fScintEnergy = 0.0;
fWLSAbsorptionEnergy = 0.0;
fWLSEmissionEnergy = 0.0;
fWLS2AbsorptionEnergy = 0.0;
fWLS2EmissionEnergy = 0.0;
fCerenkovCount = 0;
fScintCount = 0;
fWLSAbsorptionCount = 0;
fWLSEmissionCount = 0;
fWLS2AbsorptionCount = 0;
fWLS2EmissionCount = 0;
fRayleighCount = 0;
fOpAbsorption = 0;
fOpAbsorptionPrior = 0;
fTotalSurface = 0;
fBoundaryProcs.assign(43, 0);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Run::~Run() {}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Run::SetPrimary(G4ParticleDefinition* particle, G4double energy,
G4bool polarized, G4double polarization)
@@ -130,7 +102,7 @@ void Run::EndOfRun()
{
if(numberOfEvent == 0)
return;
G4double TotNbofEvents = (G4double) numberOfEvent;
auto TotNbofEvents = (G4double) numberOfEvent;
G4AnalysisManager* analysisMan = G4AnalysisManager::Instance();
G4int id = analysisMan->GetH1Id("Cerenkov spectrum");
@@ -237,7 +209,7 @@ void Run::EndOfRun()
analysisMan->SetH1XAxisTitle(id, "Angle [deg]");
analysisMan->SetH1YAxisTitle(id, "Fraction of photons");
const DetectorConstruction* det =
const auto det =
(const DetectorConstruction*) (G4RunManager::GetRunManager()
->GetUserDetectorConstruction());
@@ -33,6 +33,7 @@
#include "HistoManager.hh"
#include "Run.hh"
#include "SteppingMessenger.hh"
#include "TrackInformation.hh"
#include "G4Cerenkov.hh"
@@ -51,10 +52,15 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
SteppingAction::SteppingAction()
: G4UserSteppingAction()
{}
{
fSteppingMessenger = new SteppingMessenger(this);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
SteppingAction::~SteppingAction() {}
SteppingAction::~SteppingAction()
{
delete fSteppingMessenger;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void SteppingAction::UserSteppingAction(const G4Step* step)
@@ -74,14 +80,13 @@ void SteppingAction::UserSteppingAction(const G4Step* step)
const G4ParticleDefinition* particleDef =
theParticle->GetParticleDefinition();
TrackInformation* trackInfo =
(TrackInformation*) (track->GetUserInformation());
auto trackInfo = (TrackInformation*) (track->GetUserInformation());
if(particleDef == opticalphoton)
{
const G4VProcess* pds = endPoint->GetProcessDefinedStep();
G4String procname = pds->GetProcessName();
if(procname.compare("OpAbsorption") == 0)
if(procname == "OpAbsorption")
{
run->AddOpAbsorption();
if(trackInfo->GetIsFirstTankX())
@@ -89,11 +94,11 @@ void SteppingAction::UserSteppingAction(const G4Step* step)
run->AddOpAbsorptionPrior();
}
}
else if(procname.compare("OpRayleigh") == 0)
else if(procname == "OpRayleigh")
{
run->AddRayleigh();
}
else if(procname.compare("OpWLS") == 0)
else if(procname == "OpWLS")
{
G4double en = track->GetKineticEnergy();
run->AddWLSAbsorption();
@@ -112,7 +117,7 @@ void SteppingAction::UserSteppingAction(const G4Step* step)
analysisMan->FillH1(6, time / ns);
}
}
else if(procname.compare("OpWLS2") == 0)
else if(procname == "OpWLS2")
{
G4double en = track->GetKineticEnergy();
run->AddWLS2Absorption();
@@ -174,8 +179,7 @@ void SteppingAction::UserSteppingAction(const G4Step* step)
{
G4VProcess* currentProcess = (*postStepDoItVector)[i];
G4OpBoundaryProcess* opProc =
dynamic_cast<G4OpBoundaryProcess*>(currentProcess);
auto opProc = dynamic_cast<G4OpBoundaryProcess*>(currentProcess);
if(opProc)
{
G4double angle = std::acos(p0.x());
@@ -328,7 +332,19 @@ void SteppingAction::UserSteppingAction(const G4Step* step)
}
}
}
// when studying boundary scattering, it can be useful to only
// visualize the photon before and after the first surface. If
// selected, kill the photon when reaching the second surface
// (note that there are 2 steps at the boundary, so the counter
// equals 0 and 1 on the first surface)
if (fKillOnSecondSurface) {
if (trackInfo->GetReflectionNumber() >= 2) {
track->SetTrackStatus(fStopAndKill);
}
}
trackInfo->IncrementReflectionNumber();
}
// This block serves to test that G4OpBoundaryProcess sets the group
// velocity correctly. It is not necessary to include in user code.
// Only steps where pre- and post- are the same material, to avoid
@@ -374,12 +390,12 @@ void SteppingAction::UserSteppingAction(const G4Step* step)
for(G4int i = 0; i < n_proc; ++i)
{
G4String proc_name = (*proc_vec)[i]->GetProcessName();
if(proc_name.compare("Cerenkov") == 0)
if(proc_name == "Cerenkov")
{
auto cer = (G4Cerenkov*) (*proc_vec)[i];
n_cer = cer->GetNumPhotons();
}
else if(proc_name.compare("Scintillation") == 0)
else if(proc_name == "Scintillation")
{
auto scint = (G4Scintillation*) (*proc_vec)[i];
n_scint = scint->GetNumPhotons();
@@ -403,14 +419,14 @@ void SteppingAction::UserSteppingAction(const G4Step* step)
if(sec->GetDynamicParticle()->GetParticleDefinition() == opticalphoton)
{
G4String creator_process = sec->GetCreatorProcess()->GetProcessName();
if(creator_process.compare("Cerenkov") == 0)
if(creator_process == "Cerenkov")
{
G4double en = sec->GetKineticEnergy();
run->AddCerenkovEnergy(en);
run->AddCerenkov();
analysisMan->FillH1(1, en / eV);
}
else if(creator_process.compare("Scintillation") == 0)
else if(creator_process == "Scintillation")
{
G4double en = sec->GetKineticEnergy();
run->AddScintillationEnergy(en);
@@ -0,0 +1,76 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file optical/OpNovice2/src/SteppingMessenger.cc
/// \brief Implementation of the SteppingMessenger class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "SteppingMessenger.hh"
#include "SteppingAction.hh"
#include "G4UIdirectory.hh"
#include "G4UIcmdWithABool.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
SteppingMessenger::SteppingMessenger(SteppingAction* steppingAction)
: G4UImessenger(),
fSteppingAction(steppingAction)
{
fSteppingDir = new G4UIdirectory("/opnovice2/stepping/");
fSteppingDir->SetGuidance("Stepping control");
fKillOnSecondSurfaceCmd =
new G4UIcmdWithABool("/opnovice2/stepping/killOnSecondSurface", this);
fKillOnSecondSurfaceCmd->SetGuidance(
"Kill the optical photon when it reaches a second surface. "
"Useful for visualizing boundary scattering.");
fKillOnSecondSurfaceCmd->SetDefaultValue(false);
fKillOnSecondSurfaceCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
SteppingMessenger::~SteppingMessenger()
{
delete fSteppingDir;
delete fKillOnSecondSurfaceCmd;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void SteppingMessenger::SetNewValue(G4UIcommand* command,
G4String newValue)
{
if(command == fKillOnSecondSurfaceCmd)
{
fSteppingAction->SetKillOnSecondSurface(
G4UIcmdWithABool::GetNewBoolValue(newValue));
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -34,14 +34,6 @@
#include "G4SteppingManager.hh"
#include "G4UnitsTable.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
SteppingVerbose::SteppingVerbose()
: G4SteppingVerbose()
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
SteppingVerbose::~SteppingVerbose() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void SteppingVerbose::StepInfo()
{
@@ -60,7 +60,7 @@ TrackInformation::TrackInformation(const TrackInformation* aTrackInfo)
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
TrackInformation::~TrackInformation() {}
TrackInformation::~TrackInformation() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
TrackInformation& TrackInformation::operator=(
@@ -36,15 +36,10 @@
#include "G4TrackingManager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
TrackingAction::TrackingAction()
: G4UserTrackingAction()
{}
void TrackingAction::PreUserTrackingAction(const G4Track* aTrack)
{
// Create trajectory only for track in tracking region
TrackInformation* trackInfo =
(TrackInformation*) (aTrack->GetUserInformation());
auto trackInfo = (TrackInformation*) (aTrack->GetUserInformation());
if(!trackInfo)
{
@@ -62,13 +57,13 @@ void TrackingAction::PostUserTrackingAction(const G4Track* aTrack)
G4TrackVector* secondaries = fpTrackingManager->GimmeSecondaries();
if(secondaries)
{
TrackInformation* info = (TrackInformation*) (aTrack->GetUserInformation());
size_t nSeco = secondaries->size();
auto info = (TrackInformation*) (aTrack->GetUserInformation());
size_t nSeco = secondaries->size();
if(nSeco > 0)
{
for(size_t i = 0; i < nSeco; ++i)
{
TrackInformation* infoNew = new TrackInformation(info);
auto infoNew = new TrackInformation(info);
(*secondaries)[i]->SetUserInformation(infoNew);
}
}
+4 -14
View File
@@ -9,20 +9,10 @@
#
/run/initialize
#
# Use this open statement to create an OpenGL view:
/vis/open OGL 600x600-0+0
#
# Use this open statement to create a .prim file suitable for
# viewing in DAWN:
#/vis/open DAWNFILE
#
# Use this open statement to create a .heprep file suitable for
# viewing in HepRApp:
#/vis/open HepRepFile
#
# Use this open statement to create a .wrl file suitable for
# viewing in a VRML viewer:
#/vis/open VRML2FILE
# Open a viewer
/vis/open
# This opens the default viewer - see examples/basic/B1/vis.mac for a
# more comprehensive overview of options. Also the documentation.
#
# Disable auto refresh and quieten vis messages whilst scene and
# trajectories are established:
+42 -175
View File
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-01-ref-06 (30-June-2023)
Geant4 version Name: geant4-11-02-ref-00 (8-December-2023)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -49,6 +49,10 @@ Registered graphics systems are:
TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB)
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG)
TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB)
Default graphics system is: TSG_OFFSCREEN (based on batch session).
Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation).
Note: Parameters specified on the command line will override these defaults.
Use "vis/open" without parameters to get these defaults.
Registering model factories...
@@ -463,7 +467,7 @@ OpBoundary is created
OpWLS is created
OpWLS2 is created
### Birks coefficients used in run time
G4_BGO 0.126 mm/MeV 0.089838 g/cm^2/MeV massFactor= 6.63951 effCharge= 1.56555
G4_BGO 0.126 mm/MeV 0.089838 g/cm^2/MeV massFactor= 40.0239 effCharge= 1652.42
/analysis/setFileName wls
## WLS process
/analysis/h1/set 4 100 0 10
@@ -960,384 +964,243 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
====================================================================
HADRONIC PROCESSES SUMMARY (verbose level 1)
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for neutron
Process: hadElastic
Model: hElasticCHIPS: 0 eV ---> 100 TeV
Cr_sctns: G4NeutronElasticXS: 0 eV ---> 100 TeV
Process: neutronInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: G4NeutronInelasticXS: 0 eV ---> 100 TeV
Process: nCapture
Model: nRadCapture: 0 eV ---> 100 TeV
Cr_sctns: G4NeutronCaptureXS: 0 eV ---> 100 TeV
Process: nKiller
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for B-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: B-Inelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for D-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: D-Inelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for GenericIon
Process: ionInelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: He3Inelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for alpha
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: alphaInelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_He3Inelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_alpha
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_alphaInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_deuteron
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_deuteronInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-------------------------------------------------------------------------
Hadronic Processes for anti_hypertriton
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_lambda
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: anti_lambdaInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_neutron
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
Model: AntiAElastic: 100 MeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_neutronInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_proton
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
Model: AntiAElastic: 100 MeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_protonInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_triton
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_tritonInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for deuteron
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: dInelastic
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 ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for e+
Process: positronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for e-
Process: electronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for gamma
Process: photonNuclear
Model: GammaNPreco: 0 eV ---> 200 MeV
Model: BertiniCascade: 199 MeV ---> 6 GeV
Model: TheoFSGenerator: 3 GeV ---> 100 TeV
Cr_sctns: GammaNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for kaon+
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: kaon+Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for kaon-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: kaon-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for lambda
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: lambdaInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for mu+
Process: muonNuclear
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for mu-
Process: muonNuclear
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
Process: muMinusCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for pi+
Process: hadElastic
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 ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for pi-
Process: hadElastic
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 ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for proton
Process: hadElastic
Model: hElasticCHIPS: 0 eV ---> 100 TeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: protonInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for sigma-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: sigma-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for triton
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: tInelastic
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 ---> 25.6 PeV
================================================================
=======================================================================
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
@@ -1409,7 +1272,7 @@ See commands in /vis/modeling/trajectories/ for other options.
Run terminated.
Run Summary
Number of events processed : 10000
User=0.550000s Real=0.553646s Sys=0.000000s
User=0.560000s Real=1.216063s Sys=0.000000s
Run Summary
---------------------------------
@@ -1453,9 +1316,13 @@ Surface events by process:
... write file : wls.root - done
... close file : wls.root - done
There are 27 h1 histograms
List them with "/analysis/list".
View them with "/vis/plot" or "/vis/reviewPlots".
There are histograms that can be viewed with visualization:
27 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...
================== Deleting memory pools ===================