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
+1 -1
View File
@@ -1,6 +1,6 @@
#----------------------------------------------------------------------------
# Setup the project
cmake_minimum_required(VERSION 3.16...3.21)
cmake_minimum_required(VERSION 3.16...3.27)
project(wls)
#----------------------------------------------------------------------------
+7
View File
@@ -6,6 +6,13 @@ It must **not** be used as a substitute for writing good git commit messages!
-------------------------------------------------------------------------------
## 2023-11-02 Daren Sawkey (WLS-V11-01-01)
- Apply clang-tidy recommendations
## 2023-10-11 Daren Sawkey (WLS-V11-01-00)
- Apply coding guidelines, especially use of override and variable
initialization
## 2022-08-26 Gabriele Cosmo (WLS-V11-00-01)
- Fixed compilation warning on gcc-12.1 in WLSTrajectoryPoint constructor.
+240 -367
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
@@ -50,6 +50,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...
@@ -176,7 +180,7 @@ G4NistElementBuilder: Build Element <Ti> Z= 22 Aeff= 47.8667 with natural iso
### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0
### Birks coefficients used in run time
Polystyrene 0.126 mm/MeV 0.01323 g/cm^2/MeV massFactor= 101.167 effCharge= 0.027027
Polystyrene 0.126 mm/MeV 0.01323 g/cm^2/MeV massFactor= 504.5 effCharge= 18.5
/hits/verbose 2
/process/optical/verbose 1
/run/physicsModified
@@ -672,384 +676,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 ========
=======================================================================
@@ -1145,236 +1008,246 @@ See commands in /vis/modeling/trajectories/ for other options.
... open analysis file : wls.root - done
--> Event 0 starts.
-------->Hits Collection: in this event there are 21 hits in the photon detector:
Arrival time: 6.13333 ns Arrival position: (30.6861 um , 342.658 um ) Exit position: (116.287 um , 315.098 um ) Energy: 2.85608 eV
Arrival time: 13.1579 ns Arrival position: (69.9982 um , 57.818 um ) Exit position: (51.8058 um , -21.5242 um ) Energy: 2.62075 eV
Arrival time: 15.5464 ns Arrival position: (-265.961 um , -351.902 um ) Exit position: (-239.869 um , -389.925 um ) Energy: 2.57231 eV
Arrival time: 10.1009 ns Arrival position: ( 45.04 um , -398.588 um ) Exit position: (185.319 um , -440.171 um ) Energy: 2.80013 eV
Arrival time: 7.65824 ns Arrival position: (110.597 um , 174.301 um ) Exit position: (131.784 um , 114.179 um ) Energy: 2.59618 eV
Arrival time: 12.2203 ns Arrival position: (-207.96 um , 85.739 um ) Exit position: (-171.905 um , 152.852 um ) Energy: 2.5382 eV
Arrival time: 11.9595 ns Arrival position: (-49.2971 um , -326.789 um ) Exit position: (-102.335 um , -414.575 um ) Energy: 2.71959 eV
Arrival time: 66.8902 ns Arrival position: (25.8513 um , 6.2527 um ) Exit position: (18.1439 um , -28.034 um ) Energy: 2.23959 eV
Arrival time: 13.782 ns Arrival position: (382.309 um , 176.207 um ) Exit position: (292.532 um , 178.763 um ) Energy: 2.48354 eV
Arrival time: 7.54465 ns Arrival position: (194.074 um , -26.2704 um ) Exit position: (123.153 um , -70.4647 um ) Energy: 2.75519 eV
Arrival time: 7.36901 ns Arrival position: (-80.2242 um , 253.139 um ) Exit position: (-68.3096 um , 133.878 um ) Energy: 2.8864 eV
Arrival time: 17.4902 ns Arrival position: (-19.7238 um , 236.657 um ) Exit position: (-17.2274 um , 245.354 um ) Energy: 2.92034 eV
Arrival time: 31.4521 ns Arrival position: (-271.193 um , 205.282 um ) Exit position: (-152.639 um , 318.795 um ) Energy: 2.79779 eV
Arrival time: 17.7689 ns Arrival position: (-257.814 um , 224.092 um ) Exit position: (-151.244 um , 189.839 um ) Energy: 2.42038 eV
Arrival time: 7.98568 ns Arrival position: (79.1473 um , -358.366 um ) Exit position: (-45.2269 um , -294.971 um ) Energy: 2.75594 eV
Arrival time: 7.93909 ns Arrival position: (-58.2815 um , -178.254 um ) Exit position: ( -40.43 um , -68.9048 um ) Energy: 2.68778 eV
Arrival time: 11.9538 ns Arrival position: (128.029 um , -206.105 um ) Exit position: (171.832 um , -206.747 um ) Energy: 2.76529 eV
Arrival time: 7.41975 ns Arrival position: (265.795 um , 295.256 um ) Exit position: (295.746 um , 328.164 um ) Energy: 2.67607 eV
Arrival time: 8.47347 ns Arrival position: (209.971 um , 343.794 um ) Exit position: ( 270.32 um , 347.513 um ) Energy: 2.89306 eV
Arrival time: 21.3282 ns Arrival position: (123.504 um , 110 um ) Exit position: (50.5145 um , 185.942 um ) Energy: 2.89536 eV
Arrival time: 17.9056 ns Arrival position: (-102.891 um , 191.686 um ) Exit position: (-106.094 um , 286.852 um ) Energy: 2.55212 eV
-------->Hits Collection: in this event there are 38 hits in the photon detector:
Arrival time: 8.12557 ns Arrival position: (-101.106 um , -375.741 um ) Exit position: (-147.595 um , -335.404 um ) Energy: 2.66364 eV
Arrival time: 8.68611 ns Arrival position: ( 6.9631 um , 378.391 um ) Exit position: (60.0712 um , 406.298 um ) Energy: 2.43293 eV
Arrival time: 12.7898 ns Arrival position: (52.7284 um , 583.029 um ) Exit position: (66.0994 um , 482.427 um ) Energy: 2.60316 eV
Arrival time: 21.5979 ns Arrival position: (55.5647 um , 529.923 um ) Exit position: (175.448 um , 421.407 um ) Energy: 2.17853 eV
Arrival time: 23.3872 ns Arrival position: (-51.607 um , -134.549 um ) Exit position: (53.6985 um , -21.8389 um ) Energy: 2.68574 eV
Arrival time: 18.592 ns Arrival position: (-291.053 um , 214.432 um ) Exit position: (-318.057 um , 195.621 um ) Energy: 2.23112 eV
Arrival time: 11.3944 ns Arrival position: (110.719 um , 134.382 um ) Exit position: ( 101.48 um , 70.7598 um ) Energy: 2.68639 eV
Arrival time: 18.3362 ns Arrival position: (106.104 um , 366.682 um ) Exit position: (34.0006 um , 250.138 um ) Energy: 2.62058 eV
Arrival time: 6.23955 ns Arrival position: (-185.488 um , 425.461 um ) Exit position: (-181.102 um , 437.073 um ) Energy: 2.50916 eV
Arrival time: 23.5135 ns Arrival position: (-357.878 um , 243.41 um ) Exit position: (-135.325 um , 388.94 um ) Energy: 2.64574 eV
Arrival time: 7.09198 ns Arrival position: (99.5128 um , 170.769 um ) Exit position: ( 118.57 um , 121.132 um ) Energy: 2.74135 eV
Arrival time: 9.56366 ns Arrival position: (230.123 um , -378.319 um ) Exit position: (233.807 um , -234.961 um ) Energy: 2.76999 eV
Arrival time: 31.8909 ns Arrival position: (-161.296 um , -287.396 um ) Exit position: (-136.285 um , -225.576 um ) Energy: 2.80638 eV
Arrival time: 18.6464 ns Arrival position: (-187.336 um , 270.324 um ) Exit position: (-114.955 um , 241.86 um ) Energy: 2.95716 eV
Arrival time: 16.615 ns Arrival position: (-178.122 um , -251.743 um ) Exit position: (-130.467 um , -125.321 um ) Energy: 2.60058 eV
Arrival time: 18.0411 ns Arrival position: (-162.445 um , -13.5451 um ) Exit position: (-285.529 um , 57.843 um ) Energy: 2.75642 eV
Arrival time: 18.4673 ns Arrival position: (347.779 um , -73.1243 um ) Exit position: (333.698 um , -130.536 um ) Energy: 2.51984 eV
Arrival time: 8.30237 ns Arrival position: (-441.375 um , 52.2868 um ) Exit position: (-410.481 um , -18.3304 um ) Energy: 2.26501 eV
Arrival time: 11.7727 ns Arrival position: (-119.945 um , 211.051 um ) Exit position: (-173.765 um , 202.574 um ) Energy: 2.53821 eV
Arrival time: 6.87324 ns Arrival position: (236.379 um , 226.048 um ) Exit position: (273.546 um , 231.779 um ) Energy: 2.95372 eV
Arrival time: 24.3014 ns Arrival position: (387.722 um , 68.5597 um ) Exit position: (300.417 um , 151.322 um ) Energy: 2.74684 eV
Arrival time: 9.28 ns Arrival position: (-45.0823 um , 368.982 um ) Exit position: (32.4756 um , 422.766 um ) Energy: 2.41857 eV
Arrival time: 9.48587 ns Arrival position: (98.7922 um , 519.002 um ) Exit position: (70.8424 um , 449.6 um ) Energy: 2.80121 eV
Arrival time: 26.2069 ns Arrival position: (-151.272 um , 54.8421 um ) Exit position: (-5.69373 um , 26.9322 um ) Energy: 2.77251 eV
Arrival time: 14.0965 ns Arrival position: (-28.267 um , 122.977 um ) Exit position: (-28.7308 um , 8.38438 um ) Energy: 2.2453 eV
Arrival time: 7.28955 ns Arrival position: (156.348 um , -150.379 um ) Exit position: (119.595 um , -292.458 um ) Energy: 2.46961 eV
Arrival time: 14.1583 ns Arrival position: (338.673 um , -91.4893 um ) Exit position: (352.379 um , -125.878 um ) Energy: 2.2952 eV
Arrival time: 20.7308 ns Arrival position: (-389.728 um , -290.481 um ) Exit position: (-265.634 um , -288.114 um ) Energy: 2.79647 eV
Arrival time: 13.7239 ns Arrival position: (400.584 um , -178.639 um ) Exit position: (378.933 um , -149.156 um ) Energy: 2.6226 eV
Arrival time: 6.85462 ns Arrival position: (-60.7691 um , -18.8248 um ) Exit position: (-112.249 um , 48.1044 um ) Energy: 2.46111 eV
Arrival time: 27.6935 ns Arrival position: (-295.188 um , -321.503 um ) Exit position: (-310.667 um , -319.842 um ) Energy: 2.60997 eV
Arrival time: 10.5139 ns Arrival position: (-356.721 um , 96.8042 um ) Exit position: (-278.301 um , 82.2029 um ) Energy: 2.17431 eV
Arrival time: 12.6477 ns Arrival position: (235.637 um , -245.974 um ) Exit position: (289.085 um , -249.92 um ) Energy: 2.51026 eV
Arrival time: 8.349 ns Arrival position: (384.955 um , -75.0881 um ) Exit position: (361.919 um , -82.9446 um ) Energy: 2.26565 eV
Arrival time: 7.29684 ns Arrival position: (37.6044 um , -577.687 um ) Exit position: (136.755 um , -436.666 um ) Energy: 2.34745 eV
Arrival time: 31.2606 ns Arrival position: (-387.297 um , -123.41 um ) Exit position: (-252.621 um , -92.7051 um ) Energy: 2.33122 eV
Arrival time: 16.6787 ns Arrival position: (-51.9461 um , -331.993 um ) Exit position: (-118.265 um , -410.999 um ) Energy: 2.72439 eV
Arrival time: 17.5589 ns Arrival position: (-275.515 um , 373.931 um ) Exit position: (-143.012 um , 427.743 um ) Energy: 2.74132 eV
--> Event 1 starts.
-------->Hits Collection: in this event there are 15 hits in the photon detector:
Arrival time: 7.99194 ns Arrival position: (298.249 um , 261.394 um ) Exit position: (277.342 um , 290.707 um ) Energy: 2.76907 eV
Arrival time: 15.228 ns Arrival position: (-48.9633 um , 292.881 um ) Exit position: (-77.3348 um , 209.118 um ) Energy: 2.82582 eV
Arrival time: 6.54658 ns Arrival position: ( 247.37 um , 18.6828 um ) Exit position: (282.769 um , 30.2187 um ) Energy: 2.49386 eV
Arrival time: 7.62891 ns Arrival position: (314.011 um , -222.992 um ) Exit position: (296.429 um , -205.398 um ) Energy: 2.67767 eV
Arrival time: 21.0446 ns Arrival position: (228.308 um , -177.503 um ) Exit position: (298.959 um , -127.725 um ) Energy: 2.40762 eV
Arrival time: 24.4979 ns Arrival position: (92.1634 um , -5.90088 um ) Exit position: (19.0458 um , 77.7259 um ) Energy: 2.43136 eV
Arrival time: 7.0648 ns Arrival position: (-188.854 um , 243.999 um ) Exit position: (-306.878 um , 161.213 um ) Energy: 2.56772 eV
Arrival time: 8.5229 ns Arrival position: (-299.385 um , 216.502 um ) Exit position: (-229.228 um , 252.682 um ) Energy: 2.70771 eV
Arrival time: 8.68212 ns Arrival position: (-67.8188 um , -214.218 um ) Exit position: (59.4679 um , -198.441 um ) Energy: 2.59376 eV
Arrival time: 6.58448 ns Arrival position: (414.228 um , 167.468 um ) Exit position: (315.438 um , 203.392 um ) Energy: 2.38994 eV
Arrival time: 36.9825 ns Arrival position: (90.4762 um , -562.42 um ) Exit position: (29.1153 um , -494.061 um ) Energy: 2.71931 eV
Arrival time: 11.5765 ns Arrival position: (249.446 um , -155.223 um ) Exit position: (137.671 um , -190.117 um ) Energy: 2.63079 eV
Arrival time: 23.4007 ns Arrival position: (-398.763 um , 260.901 um ) Exit position: (-345.637 um , 211.526 um ) Energy: 2.72266 eV
Arrival time: 45.6614 ns Arrival position: (-80.1083 um , -341.209 um ) Exit position: (-170.211 um , -301.723 um ) Energy: 2.24467 eV
Arrival time: 57.9682 ns Arrival position: (413.206 um , -12.182 um ) Exit position: (393.185 um , 63.435 um ) Energy: 2.60497 eV
-------->Hits Collection: in this event there are 12 hits in the photon detector:
Arrival time: 27.9815 ns Arrival position: (316.619 um , -64.2708 um ) Exit position: (331.085 um , -28.5122 um ) Energy: 2.192 eV
Arrival time: 10.3413 ns Arrival position: (-310.19 um , -346.751 um ) Exit position: (-374.954 um , -147.505 um ) Energy: 2.5174 eV
Arrival time: 26.8512 ns Arrival position: (-398.494 um , -125.3 um ) Exit position: (-310.162 um , 113.105 um ) Energy: 2.84156 eV
Arrival time: 18.089 ns Arrival position: (-186.299 um , 418.184 um ) Exit position: (-198.646 um , 407.001 um ) Energy: 2.74613 eV
Arrival time: 23.4564 ns Arrival position: (-270.266 um , 51.0823 um ) Exit position: (-271.926 um , -75.2772 um ) Energy: 2.70187 eV
Arrival time: 7.23268 ns Arrival position: (-114.371 um , 181.003 um ) Exit position: (-109.231 um , 193.473 um ) Energy: 2.4829 eV
Arrival time: 7.74308 ns Arrival position: (-299.414 um , 395.928 um ) Exit position: (-297.27 um , 340.61 um ) Energy: 2.45144 eV
Arrival time: 14.6235 ns Arrival position: (258.179 um , 364.883 um ) Exit position: ( 231.77 um , 362.793 um ) Energy: 2.84498 eV
Arrival time: 19.8781 ns Arrival position: (277.897 um , -204.689 um ) Exit position: (291.771 um , -338.852 um ) Energy: 2.85339 eV
Arrival time: 10.5871 ns Arrival position: (224.105 um , 97.3234 um ) Exit position: (236.678 um , 67.5472 um ) Energy: 2.4518 eV
Arrival time: 7.68792 ns Arrival position: (196.392 um , -336.322 um ) Exit position: (148.749 um , -273.331 um ) Energy: 2.97949 eV
Arrival time: 15.0257 ns Arrival position: (328.041 um , -210.978 um ) Exit position: (372.445 um , -194.932 um ) Energy: 2.73471 eV
--> Event 2 starts.
-------->Hits Collection: in this event there are 9 hits in the photon detector:
Arrival time: 6.64063 ns Arrival position: (-16.9388 um , 339.383 um ) Exit position: (-39.3148 um , 301.051 um ) Energy: 2.47829 eV
Arrival time: 22.2677 ns Arrival position: (-236.773 um , -291.994 um ) Exit position: (-185.619 um , -335.483 um ) Energy: 2.26182 eV
Arrival time: 13.2413 ns Arrival position: ( 155.79 um , -355.196 um ) Exit position: (209.916 um , -393.566 um ) Energy: 2.44886 eV
Arrival time: 17.1016 ns Arrival position: (-118.773 um , 406.291 um ) Exit position: (-192.177 um , 303.396 um ) Energy: 2.42838 eV
Arrival time: 22.3031 ns Arrival position: (221.586 um , -182.009 um ) Exit position: (191.465 um , -149.244 um ) Energy: 2.79044 eV
Arrival time: 10.7852 ns Arrival position: (160.833 um , -291.757 um ) Exit position: (168.061 um , -335.881 um ) Energy: 2.54082 eV
Arrival time: 9.71907 ns Arrival position: (44.7812 um , 261.22 um ) Exit position: (-5.07751 um , 146.093 um ) Energy: 2.90822 eV
Arrival time: 8.10535 ns Arrival position: (106.909 um , 94.539 um ) Exit position: (230.511 um , 194.74 um ) Energy: 2.90495 eV
Arrival time: 12.5923 ns Arrival position: (7.69581 um , 95.5121 um ) Exit position: (-88.748 um , 73.7428 um ) Energy: 2.64568 eV
-------->Hits Collection: in this event there are 56 hits in the photon detector:
Arrival time: 28.8325 ns Arrival position: (-47.5109 um , -444.288 um ) Exit position: (54.3114 um , -487.916 um ) Energy: 2.48591 eV
Arrival time: 35.6407 ns Arrival position: (-6.28627 um , 105.13 um ) Exit position: (-73.5083 um , 211.635 um ) Energy: 2.79346 eV
Arrival time: 9.10246 ns Arrival position: (-185.076 um , 32.0908 um ) Exit position: (-239.299 um , 59.6136 um ) Energy: 2.62458 eV
Arrival time: 15.7116 ns Arrival position: (-278.876 um , 213.215 um ) Exit position: (-253.317 um , 246.514 um ) Energy: 2.49414 eV
Arrival time: 19.1692 ns Arrival position: (231.697 um , -112.774 um ) Exit position: (213.586 um , 48.4867 um ) Energy: 2.2524 eV
Arrival time: 9.18644 ns Arrival position: (310.865 um , -350.057 um ) Exit position: ( 146.71 um , -387.909 um ) Energy: 2.5985 eV
Arrival time: 8.70311 ns Arrival position: (-107.126 um , 228.483 um ) Exit position: (-161.531 um , 357.843 um ) Energy: 2.73993 eV
Arrival time: 36.9935 ns Arrival position: (-150.17 um , -300.43 um ) Exit position: (-39.3003 um , -203.11 um ) Energy: 2.91613 eV
Arrival time: 17.5892 ns Arrival position: (358.034 um , -294.822 um ) Exit position: (235.443 um , -269.476 um ) Energy: 2.60424 eV
Arrival time: 16.518 ns Arrival position: (-343.906 um , 19.6822 um ) Exit position: (-328.281 um , 28.3008 um ) Energy: 2.53559 eV
Arrival time: 14.9751 ns Arrival position: (199.367 um , -141.641 um ) Exit position: (157.478 um , -114.619 um ) Energy: 2.7382 eV
Arrival time: 30.4263 ns Arrival position: (-215.513 um , -249.329 um ) Exit position: (-233.686 um , -251.151 um ) Energy: 2.48557 eV
Arrival time: 8.01974 ns Arrival position: (228.543 um , 406.314 um ) Exit position: (64.4283 um , 419.145 um ) Energy: 2.56576 eV
Arrival time: 16.2967 ns Arrival position: (185.679 um , -309.445 um ) Exit position: (190.975 um , -271.37 um ) Energy: 2.27271 eV
Arrival time: 9.81695 ns Arrival position: (220.717 um , -451.231 um ) Exit position: (182.313 um , -460.433 um ) Energy: 2.58307 eV
Arrival time: 9.47611 ns Arrival position: (-343.359 um , 152.549 um ) Exit position: (-317.932 um , 59.9628 um ) Energy: 2.84207 eV
Arrival time: 7.04804 ns Arrival position: (365.472 um , -109.063 um ) Exit position: (265.789 um , -270.633 um ) Energy: 2.57832 eV
Arrival time: 14.4783 ns Arrival position: (135.833 um , 308.399 um ) Exit position: (43.1944 um , 300.33 um ) Energy: 2.84283 eV
Arrival time: 7.20867 ns Arrival position: (-69.5564 um , 274.574 um ) Exit position: (37.9742 um , 207.823 um ) Energy: 2.64134 eV
Arrival time: 20.6617 ns Arrival position: (89.4711 um , -29.2178 um ) Exit position: (80.3412 um , 92.1062 um ) Energy: 2.85382 eV
Arrival time: 13.0168 ns Arrival position: (-145.847 um , 405.826 um ) Exit position: (-189.086 um , 379.119 um ) Energy: 2.82299 eV
Arrival time: 47.5965 ns Arrival position: (40.1912 um , 120.135 um ) Exit position: (75.5614 um , 91.0779 um ) Energy: 2.86059 eV
Arrival time: 17.4484 ns Arrival position: (403.685 um , -120.314 um ) Exit position: (318.441 um , -58.762 um ) Energy: 2.27635 eV
Arrival time: 19.8312 ns Arrival position: (283.177 um , 223.17 um ) Exit position: (255.259 um , 154.706 um ) Energy: 2.79671 eV
Arrival time: 18.7499 ns Arrival position: (-314.445 um , 351.214 um ) Exit position: (-243.051 um , 361.993 um ) Energy: 2.82893 eV
Arrival time: 12.7577 ns Arrival position: ( 74.748 um , 551.288 um ) Exit position: (79.1391 um , 395.255 um ) Energy: 2.53704 eV
Arrival time: 43.3028 ns Arrival position: (58.6987 um , -219.331 um ) Exit position: (150.623 um , -136.306 um ) Energy: 2.1964 eV
Arrival time: 27.0226 ns Arrival position: (-122.34 um , -263.409 um ) Exit position: (-211.304 um , -176.116 um ) Energy: 2.83742 eV
Arrival time: 7.5644 ns Arrival position: (69.2666 um , 421.695 um ) Exit position: (160.567 um , 323.132 um ) Energy: 2.14969 eV
Arrival time: 14.7988 ns Arrival position: (63.4378 um , -183.304 um ) Exit position: (63.2793 um , -325.455 um ) Energy: 2.75674 eV
Arrival time: 27.0377 ns Arrival position: (-108.723 um , 326.507 um ) Exit position: (-6.35988 um , 268.112 um ) Energy: 2.49551 eV
Arrival time: 52.7867 ns Arrival position: (24.5246 um , -50.6747 um ) Exit position: (-35.9775 um , -15.5595 um ) Energy: 2.64396 eV
Arrival time: 15.6286 ns Arrival position: (49.5161 um , 232.86 um ) Exit position: (142.917 um , 345.895 um ) Energy: 2.70639 eV
Arrival time: 10.2147 ns Arrival position: (-242.987 um , -508.909 um ) Exit position: (-164.485 um , -442.614 um ) Energy: 2.52373 eV
Arrival time: 9.5761 ns Arrival position: (184.651 um , -145.451 um ) Exit position: (233.434 um , -122.956 um ) Energy: 2.59012 eV
Arrival time: 8.7961 ns Arrival position: (-141.024 um , -276.001 um ) Exit position: (-41.4584 um , -220.101 um ) Energy: 2.84016 eV
Arrival time: 43.9596 ns Arrival position: (-478.813 um , -349.499 um ) Exit position: (-156.714 um , -428.105 um ) Energy: 2.59553 eV
Arrival time: 13.6665 ns Arrival position: (95.6242 um , -430.505 um ) Exit position: (52.6059 um , -325.555 um ) Energy: 2.62543 eV
Arrival time: 22.2215 ns Arrival position: (-3.3188 um , -470.774 um ) Exit position: ( 8.6715 um , -480.56 um ) Energy: 2.81941 eV
Arrival time: 16.9948 ns Arrival position: (-202.353 um , 363.596 um ) Exit position: (-125.871 um , 330.477 um ) Energy: 2.62349 eV
Arrival time: 6.69662 ns Arrival position: (127.916 um , 461.73 um ) Exit position: (68.8598 um , 345.726 um ) Energy: 2.71691 eV
Arrival time: 11.6671 ns Arrival position: (-112.886 um , 187.705 um ) Exit position: (-42.2279 um , 148.812 um ) Energy: 2.70231 eV
Arrival time: 9.54699 ns Arrival position: (-249.853 um , -400.412 um ) Exit position: (-183.515 um , -370.926 um ) Energy: 2.35625 eV
Arrival time: 12.749 ns Arrival position: (438.702 um , -29.3976 um ) Exit position: (359.067 um , 46.1177 um ) Energy: 2.67323 eV
Arrival time: 27.3965 ns Arrival position: (244.992 um , 102.099 um ) Exit position: (339.804 um , 192.798 um ) Energy: 2.47122 eV
Arrival time: 16.771 ns Arrival position: (126.046 um , 388.788 um ) Exit position: (68.5383 um , 260.013 um ) Energy: 2.62566 eV
Arrival time: 12.6001 ns Arrival position: (-181.377 um , -170.035 um ) Exit position: (-166.222 um , -160.676 um ) Energy: 2.75969 eV
Arrival time: 20.3529 ns Arrival position: (116.426 um , 52.6423 um ) Exit position: (105.743 um , 56.8171 um ) Energy: 2.83226 eV
Arrival time: 8.8975 ns Arrival position: (161.894 um , -386.108 um ) Exit position: (182.675 um , -374.419 um ) Energy: 2.67593 eV
Arrival time: 33.6894 ns Arrival position: (105.474 um , -244.343 um ) Exit position: (21.0487 um , -339.68 um ) Energy: 2.77194 eV
Arrival time: 32.8208 ns Arrival position: (70.6074 um , -258.708 um ) Exit position: (22.5366 um , -252.126 um ) Energy: 2.48594 eV
Arrival time: 8.45262 ns Arrival position: (30.7388 um , -564.858 um ) Exit position: (15.6922 um , -463.956 um ) Energy: 2.74603 eV
Arrival time: 8.33641 ns Arrival position: (33.7627 um , 557.639 um ) Exit position: ( 23.694 um , 448.631 um ) Energy: 2.84074 eV
Arrival time: 7.63991 ns Arrival position: (-77.055 um , -241.485 um ) Exit position: (-113.696 um , -151.721 um ) Energy: 2.84326 eV
Arrival time: 29.3132 ns Arrival position: (44.8867 um , 261.027 um ) Exit position: (108.307 um , 354.78 um ) Energy: 2.68125 eV
Arrival time: 7.81185 ns Arrival position: ( -123.3 um , -304.928 um ) Exit position: (-122.776 um , -241.483 um ) Energy: 2.33091 eV
--> Event 3 starts.
-------->Hits Collection: in this event there are 25 hits in the photon detector:
Arrival time: 12.3861 ns Arrival position: (377.809 um , -108.501 um ) Exit position: (233.994 um , -350.937 um ) Energy: 2.5182 eV
Arrival time: 7.61238 ns Arrival position: (46.9732 um , 67.5258 um ) Exit position: (100.514 um , 63.3535 um ) Energy: 2.70992 eV
Arrival time: 9.46642 ns Arrival position: (-58.5806 um , 181.485 um ) Exit position: (-81.7422 um , 207.131 um ) Energy: 2.70662 eV
Arrival time: 10.5494 ns Arrival position: ( 71.142 um , -334.375 um ) Exit position: (48.3279 um , -351.035 um ) Energy: 2.46759 eV
Arrival time: 17.7517 ns Arrival position: (-280.699 um , 436.437 um ) Exit position: (-211.911 um , 353.193 um ) Energy: 2.60862 eV
Arrival time: 11.0025 ns Arrival position: (397.738 um , 257.104 um ) Exit position: (345.769 um , 231.435 um ) Energy: 2.81114 eV
Arrival time: 6.91074 ns Arrival position: (-275.86 um , -30.4533 um ) Exit position: (-277.878 um , -54.5231 um ) Energy: 2.81358 eV
Arrival time: 20.9962 ns Arrival position: (-145.188 um , 185.675 um ) Exit position: (-119.199 um , 250.294 um ) Energy: 2.55411 eV
Arrival time: 7.96067 ns Arrival position: (424.082 um , -294.059 um ) Exit position: (405.421 um , 39.3629 um ) Energy: 2.61937 eV
Arrival time: 6.41928 ns Arrival position: (175.382 um , 186.705 um ) Exit position: (164.863 um , 173.394 um ) Energy: 2.5364 eV
Arrival time: 11.2179 ns Arrival position: (250.317 um , 71.8078 um ) Exit position: (311.712 um , -39.6102 um ) Energy: 2.78077 eV
Arrival time: 20.4037 ns Arrival position: (-351.417 um , 219.955 um ) Exit position: (-386.612 um , 176.389 um ) Energy: 2.54933 eV
Arrival time: 27.1621 ns Arrival position: (-196.993 um , -200.259 um ) Exit position: (-208.587 um , -116.914 um ) Energy: 2.71564 eV
Arrival time: 28.1432 ns Arrival position: (-117.996 um , -133.848 um ) Exit position: (-106.001 um , -110.236 um ) Energy: 2.49349 eV
Arrival time: 30.3879 ns Arrival position: (329.249 um , 417.794 um ) Exit position: (314.115 um , 209.981 um ) Energy: 2.49135 eV
Arrival time: 29.7428 ns Arrival position: (-344.862 um , -325.716 um ) Exit position: (-235.215 um , -400.12 um ) Energy: 2.38225 eV
Arrival time: 6.62242 ns Arrival position: (72.1635 um , 14.7569 um ) Exit position: (-1.34414 um , -93.5742 um ) Energy: 2.8146 eV
Arrival time: 6.92909 ns Arrival position: (287.906 um , -309.463 um ) Exit position: (309.332 um , -147.747 um ) Energy: 2.80872 eV
Arrival time: 18.4894 ns Arrival position: (88.1314 um , -287.167 um ) Exit position: (202.801 um , -258.053 um ) Energy: 2.78133 eV
Arrival time: 7.31193 ns Arrival position: (-129.979 um , 219.966 um ) Exit position: (-29.4144 um , 338.103 um ) Energy: 2.71479 eV
Arrival time: 17.0591 ns Arrival position: (285.312 um , -59.7589 um ) Exit position: (278.498 um , -45.2779 um ) Energy: 2.64732 eV
Arrival time: 6.79487 ns Arrival position: (-128.123 um , 500.459 um ) Exit position: (-85.5959 um , 361.156 um ) Energy: 2.59837 eV
Arrival time: 10.5882 ns Arrival position: (144.112 um , -399.983 um ) Exit position: (72.3694 um , -447.545 um ) Energy: 2.67774 eV
Arrival time: 27.1111 ns Arrival position: (-59.2693 um , -329.724 um ) Exit position: (-59.4513 um , -430.179 um ) Energy: 2.83982 eV
Arrival time: 9.37045 ns Arrival position: (-195.765 um , 260.684 um ) Exit position: (-142.193 um , 301.158 um ) Energy: 2.64671 eV
-------->Hits Collection: in this event there are 17 hits in the photon detector:
Arrival time: 9.38391 ns Arrival position: (-237.751 um , -144.792 um ) Exit position: (-182.903 um , -175.991 um ) Energy: 2.77341 eV
Arrival time: 9.86201 ns Arrival position: (159.705 um , -154.237 um ) Exit position: (128.739 um , -196.17 um ) Energy: 2.80024 eV
Arrival time: 22.6552 ns Arrival position: (87.9539 um , 275.189 um ) Exit position: (-23.6476 um , 176.379 um ) Energy: 2.84752 eV
Arrival time: 13.976 ns Arrival position: (16.9935 um , 509.43 um ) Exit position: (48.7386 um , 368.084 um ) Energy: 2.81353 eV
Arrival time: 12.8454 ns Arrival position: (-251.732 um , 49.0596 um ) Exit position: (-320.762 um , 46.6142 um ) Energy: 2.65288 eV
Arrival time: 14.8495 ns Arrival position: (263.662 um , -355.578 um ) Exit position: (235.796 um , -418.218 um ) Energy: 2.75312 eV
Arrival time: 52.6315 ns Arrival position: (-357.799 um , -93.2181 um ) Exit position: (-272.328 um , -132.502 um ) Energy: 2.84929 eV
Arrival time: 13.9719 ns Arrival position: (178.588 um , 260.405 um ) Exit position: (228.733 um , 242.078 um ) Energy: 2.92463 eV
Arrival time: 12.0841 ns Arrival position: (310.547 um , 76.7056 um ) Exit position: (197.384 um , 75.7599 um ) Energy: 2.7093 eV
Arrival time: 13.8266 ns Arrival position: (-21.716 um , -207.46 um ) Exit position: (-121.359 um , -258.375 um ) Energy: 2.10575 eV
Arrival time: 19.7478 ns Arrival position: (-20.6629 um , -480.386 um ) Exit position: (-29.2236 um , -494.843 um ) Energy: 2.82142 eV
Arrival time: 17.2674 ns Arrival position: (-246.759 um , -217.84 um ) Exit position: (-138.117 um , -167.229 um ) Energy: 2.88982 eV
Arrival time: 10.7394 ns Arrival position: (-115.332 um , -215.752 um ) Exit position: (-195.209 um , -168.43 um ) Energy: 2.84643 eV
Arrival time: 31.8105 ns Arrival position: (-201.368 um , 49.3332 um ) Exit position: (-246.401 um , 1.90571 um ) Energy: 2.63574 eV
Arrival time: 6.71793 ns Arrival position: (-269.111 um , -416.704 um ) Exit position: (-166.363 um , -468.168 um ) Energy: 2.29869 eV
Arrival time: 10.6739 ns Arrival position: (79.7826 um , 77.1732 um ) Exit position: (-21.9248 um , 99.3867 um ) Energy: 2.96705 eV
Arrival time: 6.66449 ns Arrival position: (222.879 um , 31.6945 um ) Exit position: (248.342 um , 45.581 um ) Energy: 2.75012 eV
--> Event 4 starts.
-------->Hits Collection: in this event there are 19 hits in the photon detector:
Arrival time: 6.05087 ns Arrival position: (-434.151 um , 38.605 um ) Exit position: (-391.116 um , 95.6272 um ) Energy: 2.85745 eV
Arrival time: 36.2025 ns Arrival position: (5.23938 um , 204.285 um ) Exit position: (17.2953 um , 267.302 um ) Energy: 2.46951 eV
Arrival time: 10.5964 ns Arrival position: (98.7339 um , -185.822 um ) Exit position: (30.7152 um , -248.298 um ) Energy: 2.26861 eV
Arrival time: 7.37403 ns Arrival position: (139.687 um , -480.019 um ) Exit position: (-79.4345 um , -443.018 um ) Energy: 2.78353 eV
Arrival time: 12.3394 ns Arrival position: (-32.8366 um , 255.768 um ) Exit position: (-98.7771 um , 272.322 um ) Energy: 2.69792 eV
Arrival time: 10.9758 ns Arrival position: (-102.749 um , 237.533 um ) Exit position: (-132.361 um , 362.958 um ) Energy: 2.85907 eV
Arrival time: 11.5784 ns Arrival position: (-426.259 um , 26.841 um ) Exit position: (-364.688 um , -39.068 um ) Energy: 2.33025 eV
Arrival time: 22.5992 ns Arrival position: (-19.7728 um , 427.773 um ) Exit position: (-105.626 um , 328.138 um ) Energy: 2.91191 eV
Arrival time: 19.9148 ns Arrival position: (-279.336 um , -52.0912 um ) Exit position: (-230.373 um , -16.3447 um ) Energy: 2.70197 eV
Arrival time: 17.3398 ns Arrival position: (-304.151 um , 397.925 um ) Exit position: (-248.05 um , 265.411 um ) Energy: 2.85921 eV
Arrival time: 9.4072 ns Arrival position: (-263.832 um , 251.435 um ) Exit position: (-128.737 um , 291.314 um ) Energy: 2.34304 eV
Arrival time: 8.56567 ns Arrival position: (164.317 um , 154.216 um ) Exit position: (177.309 um , 139.658 um ) Energy: 2.85356 eV
Arrival time: 19.1143 ns Arrival position: (157.227 um , 43.6209 um ) Exit position: (60.4349 um , -44.9587 um ) Energy: 2.22196 eV
Arrival time: 6.14637 ns Arrival position: (164.351 um , 87.3001 um ) Exit position: (180.074 um , 134.826 um ) Energy: 2.30919 eV
Arrival time: 31.2787 ns Arrival position: ( -138.3 um , 97.5625 um ) Exit position: (-115.824 um , 110.981 um ) Energy: 2.57724 eV
Arrival time: 9.87729 ns Arrival position: (44.6074 um , 306.631 um ) Exit position: (-32.0847 um , 258.666 um ) Energy: 2.54099 eV
Arrival time: 7.53381 ns Arrival position: (-352.598 um , -128.896 um ) Exit position: (-279.542 um , -142.431 um ) Energy: 2.6441 eV
Arrival time: 8.67628 ns Arrival position: (259.813 um , -244.081 um ) Exit position: (232.635 um , -131.055 um ) Energy: 2.60422 eV
Arrival time: 32.2672 ns Arrival position: (242.579 um , -223.406 um ) Exit position: (287.736 um , -213.517 um ) Energy: 2.63072 eV
-------->Hits Collection: in this event there are 1 hits in the photon detector:
Arrival time: 6.03943 ns Arrival position: (-227.809 um , -122.503 um ) Exit position: (-175.129 um , -69.7241 um ) Energy: 2.86026 eV
--> Event 5 starts.
-------->Hits Collection: in this event there are 1 hits in the photon detector:
Arrival time: 8.98578 ns Arrival position: (-151.461 um , -282.961 um ) Exit position: (-63.2137 um , -328.275 um ) Energy: 2.8678 eV
-------->Hits Collection: in this event there are 3 hits in the photon detector:
Arrival time: 5.699 ns Arrival position: (94.5497 um , -117.773 um ) Exit position: (26.7349 um , -20.2702 um ) Energy: 2.85231 eV
Arrival time: 5.70654 ns Arrival position: (465.148 um , 38.4505 um ) Exit position: ( 368.56 um , 82.517 um ) Energy: 2.37458 eV
Arrival time: 5.76372 ns Arrival position: (185.532 um , 165.745 um ) Exit position: (252.703 um , 281.133 um ) Energy: 2.24732 eV
--> Event 6 starts.
-------->Hits Collection: in this event there are 0 hits in the photon detector:
-------->Hits Collection: in this event there are 22 hits in the photon detector:
Arrival time: 8.09604 ns Arrival position: (-128.238 um , 171.622 um ) Exit position: (-96.7143 um , 226.268 um ) Energy: 2.89201 eV
Arrival time: 11.9709 ns Arrival position: (163.664 um , 408.039 um ) Exit position: ( 172.64 um , 261.174 um ) Energy: 2.82389 eV
Arrival time: 10.2062 ns Arrival position: (-105.38 um , -141.981 um ) Exit position: ( 35.264 um , -193.076 um ) Energy: 2.87145 eV
Arrival time: 7.35669 ns Arrival position: (417.936 um , -162.297 um ) Exit position: (343.449 um , -97.3382 um ) Energy: 2.81696 eV
Arrival time: 29.2763 ns Arrival position: ( 254.32 um , -266.643 um ) Exit position: (281.719 um , -109.221 um ) Energy: 2.8348 eV
Arrival time: 10.072 ns Arrival position: (-192.143 um , 452.222 um ) Exit position: ( 139.36 um , 434.719 um ) Energy: 2.92814 eV
Arrival time: 15.8358 ns Arrival position: (-14.7157 um , -110.406 um ) Exit position: (-97.0456 um , -168.217 um ) Energy: 2.61626 eV
Arrival time: 6.49958 ns Arrival position: (384.106 um , -59.463 um ) Exit position: (312.028 um , -76.4485 um ) Energy: 2.5009 eV
Arrival time: 16.0147 ns Arrival position: (243.053 um , -93.1274 um ) Exit position: (385.321 um , -90.1985 um ) Energy: 2.0649 eV
Arrival time: 17.5359 ns Arrival position: (-37.0429 um , 130.581 um ) Exit position: (-156.568 um , 207.101 um ) Energy: 2.49395 eV
Arrival time: 24.3106 ns Arrival position: (-194.948 um , 80.8104 um ) Exit position: (-214.355 um , 63.6841 um ) Energy: 2.44012 eV
Arrival time: 6.9215 ns Arrival position: (-14.8201 um , 328.947 um ) Exit position: (-57.1546 um , 237.64 um ) Energy: 2.84712 eV
Arrival time: 18.5197 ns Arrival position: (-429.512 um , -58.9929 um ) Exit position: (-389.869 um , -77.9253 um ) Energy: 2.49196 eV
Arrival time: 6.60669 ns Arrival position: (-133.303 um , 231.087 um ) Exit position: (-136.128 um , 109.622 um ) Energy: 2.55756 eV
Arrival time: 19.3407 ns Arrival position: (-249.894 um , -5.70293 um ) Exit position: (-280.526 um , 77.7939 um ) Energy: 2.29104 eV
Arrival time: 14.6453 ns Arrival position: (3.27364 um , -243.352 um ) Exit position: (110.734 um , -355.043 um ) Energy: 2.12955 eV
Arrival time: 10.7028 ns Arrival position: (112.446 um , 300.583 um ) Exit position: (83.0186 um , 390.996 um ) Energy: 2.55172 eV
Arrival time: 16.6404 ns Arrival position: (-13.697 um , 47.4201 um ) Exit position: (42.5632 um , 83.3451 um ) Energy: 2.3394 eV
Arrival time: 22.115 ns Arrival position: (-137.028 um , 212.057 um ) Exit position: (-47.8401 um , 298.879 um ) Energy: 2.81418 eV
Arrival time: 53.6943 ns Arrival position: (139.047 um , 148.76 um ) Exit position: (38.0247 um , 144.987 um ) Energy: 2.95089 eV
Arrival time: 6.77104 ns Arrival position: (122.066 um , 34.187 um ) Exit position: (-11.7452 um , 10.5274 um ) Energy: 2.55271 eV
Arrival time: 12.166 ns Arrival position: (222.822 um , 338.985 um ) Exit position: ( 167.05 um , 285.749 um ) Energy: 2.72333 eV
--> Event 7 starts.
-------->Hits Collection: in this event there are 13 hits in the photon detector:
Arrival time: 13.4811 ns Arrival position: (-156.521 um , -419.362 um ) Exit position: (-76.762 um , -417.307 um ) Energy: 2.18233 eV
Arrival time: 8.61199 ns Arrival position: (-183.004 um , -198.525 um ) Exit position: (-141.283 um , -205.539 um ) Energy: 2.64921 eV
Arrival time: 23.7025 ns Arrival position: (163.249 um , -287.707 um ) Exit position: (216.178 um , -288.571 um ) Energy: 2.11938 eV
Arrival time: 15.3025 ns Arrival position: (-141.513 um , -4.94657 um ) Exit position: (-103.166 um , -95.1014 um ) Energy: 2.49075 eV
Arrival time: 8.66285 ns Arrival position: (192.943 um , 311.879 um ) Exit position: (64.7615 um , 329.951 um ) Energy: 2.60338 eV
Arrival time: 34.7121 ns Arrival position: (325.061 um , -223.42 um ) Exit position: (281.017 um , -292.408 um ) Energy: 2.06443 eV
Arrival time: 8.06983 ns Arrival position: (18.8198 um , -374.148 um ) Exit position: (36.6327 um , -454.766 um ) Energy: 2.5304 eV
Arrival time: 34.7056 ns Arrival position: (-423.66 um , -139.634 um ) Exit position: (-311.965 um , -51.4027 um ) Energy: 2.82807 eV
Arrival time: 13.8592 ns Arrival position: (105.738 um , -152.536 um ) Exit position: (31.3124 um , -160.48 um ) Energy: 2.44724 eV
Arrival time: 25.9444 ns Arrival position: (-199.777 um , 42.1148 um ) Exit position: (-205.135 um , 71.2206 um ) Energy: 2.20672 eV
Arrival time: 13.2449 ns Arrival position: (-141.504 um , -321.833 um ) Exit position: (-92.3105 um , -357.547 um ) Energy: 2.69602 eV
Arrival time: 13.4141 ns Arrival position: (-266.133 um , 125.472 um ) Exit position: (-238.501 um , 63.0818 um ) Energy: 2.82163 eV
Arrival time: 11.2683 ns Arrival position: (-4.67918 um , 296.335 um ) Exit position: (43.5191 um , 434.221 um ) Energy: 2.7665 eV
-------->Hits Collection: in this event there are 9 hits in the photon detector:
Arrival time: 18.3504 ns Arrival position: (81.8173 um , 231.965 um ) Exit position: (21.2948 um , 320.074 um ) Energy: 2.59114 eV
Arrival time: 23.8992 ns Arrival position: (-459.693 um , 291.893 um ) Exit position: (-379.571 um , 106.78 um ) Energy: 2.63817 eV
Arrival time: 18.6854 ns Arrival position: (2.19086 um , 276.326 um ) Exit position: (1.18572 um , 246.154 um ) Energy: 2.57128 eV
Arrival time: 9.54842 ns Arrival position: (-309.765 um , 155.925 um ) Exit position: (-311.17 um , 285.307 um ) Energy: 2.36789 eV
Arrival time: 27.8869 ns Arrival position: (31.5855 um , -18.0405 um ) Exit position: (-102.644 um , -60.9304 um ) Energy: 2.96866 eV
Arrival time: 42.5595 ns Arrival position: ( 332.9 um , -311.947 um ) Exit position: (302.217 um , -330.696 um ) Energy: 2.59716 eV
Arrival time: 14.107 ns Arrival position: (291.145 um , -44.8809 um ) Exit position: (247.973 um , 45.5321 um ) Energy: 2.6188 eV
Arrival time: 6.13978 ns Arrival position: (119.648 um , -139.081 um ) Exit position: ( 118.94 um , -125.859 um ) Energy: 2.64909 eV
Arrival time: 9.82077 ns Arrival position: (296.441 um , -83.3741 um ) Exit position: (216.397 um , 51.1912 um ) Energy: 2.75891 eV
--> Event 8 starts.
-------->Hits Collection: in this event there are 16 hits in the photon detector:
Arrival time: 11.0674 ns Arrival position: (202.018 um , 10.8154 um ) Exit position: (178.746 um , -13.0889 um ) Energy: 2.65988 eV
Arrival time: 7.11635 ns Arrival position: (-30.6136 um , 343.489 um ) Exit position: (118.553 um , 374.535 um ) Energy: 2.84541 eV
Arrival time: 17.9837 ns Arrival position: (-309.037 um , -62.5327 um ) Exit position: (-285.466 um , -84.3951 um ) Energy: 2.54974 eV
Arrival time: 8.43555 ns Arrival position: (-404.571 um , -86.5385 um ) Exit position: (-371.414 um , -195.824 um ) Energy: 2.60551 eV
Arrival time: 7.41892 ns Arrival position: (82.3337 um , -205.655 um ) Exit position: (176.713 um , -158.25 um ) Energy: 2.84779 eV
Arrival time: 7.68025 ns Arrival position: (137.166 um , 575.243 um ) Exit position: (140.404 um , 446.099 um ) Energy: 2.60137 eV
Arrival time: 9.13281 ns Arrival position: (14.9553 um , -562.888 um ) Exit position: (24.9652 um , -409.348 um ) Energy: 2.60953 eV
Arrival time: 13.6346 ns Arrival position: (-34.9928 um , -371.578 um ) Exit position: (-86.1137 um , -248.214 um ) Energy: 2.6588 eV
Arrival time: 34.6013 ns Arrival position: (13.4783 um , 289.406 um ) Exit position: (34.0651 um , 408.347 um ) Energy: 2.60389 eV
Arrival time: 32.382 ns Arrival position: (-369.469 um , 372.711 um ) Exit position: (-83.3954 um , 430.028 um ) Energy: 2.41317 eV
Arrival time: 26.2973 ns Arrival position: (-339.957 um , -278.741 um ) Exit position: (-288.864 um , -239.525 um ) Energy: 2.78032 eV
Arrival time: 12.8353 ns Arrival position: (413.759 um , 67.9238 um ) Exit position: (390.659 um , 22.9896 um ) Energy: 2.38792 eV
Arrival time: 7.02989 ns Arrival position: (-386.522 um , 185.668 um ) Exit position: (-342.621 um , 179.456 um ) Energy: 2.75648 eV
Arrival time: 29.2883 ns Arrival position: (-100.288 um , -113.976 um ) Exit position: (-194.844 um , -213.43 um ) Energy: 2.82993 eV
Arrival time: 10.9521 ns Arrival position: ( 148.45 um , -327.906 um ) Exit position: ( 107.53 um , -243.343 um ) Energy: 2.73188 eV
Arrival time: 12.5372 ns Arrival position: (465.139 um , 126.636 um ) Exit position: (392.001 um , -86.7152 um ) Energy: 2.60097 eV
-------->Hits Collection: in this event there are 9 hits in the photon detector:
Arrival time: 17.4074 ns Arrival position: (-103.539 um , -629.585 nm ) Exit position: (-83.2022 um , -41.1063 um ) Energy: 2.38027 eV
Arrival time: 16.5196 ns Arrival position: ( 61.07 um , 134.389 um ) Exit position: (121.864 um , 130.089 um ) Energy: 2.71684 eV
Arrival time: 25.58 ns Arrival position: (-343.95 um , 38.6518 um ) Exit position: (-298.976 um , 285.693 um ) Energy: 2.40633 eV
Arrival time: 15.8419 ns Arrival position: (112.903 um , -98.0667 um ) Exit position: (83.1398 um , -52.7967 um ) Energy: 2.41549 eV
Arrival time: 9.47447 ns Arrival position: (52.9164 um , -243.603 um ) Exit position: (-45.6402 um , -316.668 um ) Energy: 2.73365 eV
Arrival time: 18.471 ns Arrival position: (205.464 um , 281.417 um ) Exit position: (106.496 um , 417.096 um ) Energy: 2.71408 eV
Arrival time: 23.4322 ns Arrival position: (271.994 um , 483.013 um ) Exit position: (187.495 um , 433.426 um ) Energy: 2.45883 eV
Arrival time: 12.6881 ns Arrival position: ( 81.951 um , 78.6133 um ) Exit position: (-31.3182 um , 36.5921 um ) Energy: 2.64442 eV
Arrival time: 8.80641 ns Arrival position: (165.499 um , 527.679 um ) Exit position: (-15.2448 um , 458.319 um ) Energy: 2.74009 eV
--> Event 9 starts.
-------->Hits Collection: in this event there are 48 hits in the photon detector:
Arrival time: 16.0509 ns Arrival position: (-47.8196 um , -437.373 um ) Exit position: (47.1685 um , -383.737 um ) Energy: 2.29637 eV
Arrival time: 40.7938 ns Arrival position: (-88.3405 um , 414.698 um ) Exit position: (-63.6589 um , 488.038 um ) Energy: 2.65829 eV
Arrival time: 14.8862 ns Arrival position: (-35.5946 um , 474.22 um ) Exit position: ( 5.7533 um , 437.302 um ) Energy: 2.76013 eV
Arrival time: 40.7604 ns Arrival position: (-78.5115 um , -146.411 um ) Exit position: (6.56076 um , -245.668 um ) Energy: 2.57214 eV
Arrival time: 60.3635 ns Arrival position: (-188.744 um , -360.572 um ) Exit position: (-79.5542 um , -369.198 um ) Energy: 2.45901 eV
Arrival time: 32.5765 ns Arrival position: (124.375 um , 408.05 um ) Exit position: (-39.2842 um , 432.271 um ) Energy: 2.57635 eV
Arrival time: 22.6001 ns Arrival position: (210.827 um , -1.21524 um ) Exit position: (142.289 um , -8.00617 um ) Energy: 2.63556 eV
Arrival time: 20.4329 ns Arrival position: (131.904 um , -204.735 um ) Exit position: (118.015 um , -359.513 um ) Energy: 2.66007 eV
Arrival time: 13.7473 ns Arrival position: (-139.638 um , 367.237 um ) Exit position: (-152.32 um , 289.266 um ) Energy: 2.21249 eV
Arrival time: 30.4878 ns Arrival position: (169.958 um , -288.141 um ) Exit position: (22.1942 um , -304.783 um ) Energy: 2.95227 eV
Arrival time: 10.7834 ns Arrival position: (-260.57 um , -279.847 um ) Exit position: (-200.744 um , -415.708 um ) Energy: 2.63111 eV
Arrival time: 15.3546 ns Arrival position: (294.828 um , -348.265 um ) Exit position: (191.411 um , -233.613 um ) Energy: 2.16907 eV
Arrival time: 15.8805 ns Arrival position: (217.176 um , 437.904 um ) Exit position: (280.606 um , 372.8 um ) Energy: 2.73564 eV
Arrival time: 17.6494 ns Arrival position: (119.343 um , 231.878 um ) Exit position: (57.4829 um , 281.043 um ) Energy: 2.94955 eV
Arrival time: 18.664 ns Arrival position: ( 11.875 um , -7.11494 um ) Exit position: (-27.1553 um , -22.4129 um ) Energy: 2.80917 eV
Arrival time: 9.68355 ns Arrival position: (-113.778 um , -226.665 um ) Exit position: (-10.9898 um , -163.785 um ) Energy: 2.71337 eV
Arrival time: 7.27527 ns Arrival position: (-184.69 um , -16.6457 um ) Exit position: (-182.456 um , -132.158 um ) Energy: 2.53193 eV
Arrival time: 8.11726 ns Arrival position: (-465.917 um , -39.3732 um ) Exit position: (-343.951 um , -77.7656 um ) Energy: 2.55416 eV
Arrival time: 29.3405 ns Arrival position: (22.4775 um , 86.0647 um ) Exit position: (83.9607 um , 7.9356 um ) Energy: 2.82197 eV
Arrival time: 17.1544 ns Arrival position: (-99.6133 um , 76.4536 um ) Exit position: (-209.096 um , 55.0635 um ) Energy: 2.6981 eV
Arrival time: 33.3008 ns Arrival position: (122.582 um , -36.549 um ) Exit position: (-8.19883 um , -17.6074 um ) Energy: 2.54319 eV
Arrival time: 6.96665 ns Arrival position: (-115.96 um , -61.223 um ) Exit position: (-98.0564 um , -128.901 um ) Energy: 2.56162 eV
Arrival time: 18.528 ns Arrival position: (284.304 um , 311.907 um ) Exit position: (293.421 um , 334.33 um ) Energy: 2.68015 eV
Arrival time: 10.0566 ns Arrival position: ( 164.36 um , -543.552 um ) Exit position: (146.449 um , -463.503 um ) Energy: 2.68939 eV
Arrival time: 14.0057 ns Arrival position: (117.439 um , -189.765 um ) Exit position: ( 185.4 um , -296.984 um ) Energy: 2.66766 eV
Arrival time: 16.0192 ns Arrival position: (-9.16705 um , 232.743 um ) Exit position: (-143.927 um , 287.628 um ) Energy: 2.61171 eV
Arrival time: 6.48039 ns Arrival position: (-334.051 um , -2.61549 um ) Exit position: (-342.283 um , 4.26663 um ) Energy: 2.52415 eV
Arrival time: 17.7722 ns Arrival position: (337.182 um , 260.698 um ) Exit position: (313.206 um , 168.27 um ) Energy: 2.52079 eV
Arrival time: 14.009 ns Arrival position: (-63.7867 um , -307.308 um ) Exit position: (-85.1604 um , -359.092 um ) Energy: 2.64912 eV
Arrival time: 19.3701 ns Arrival position: (445.845 um , 16.6498 um ) Exit position: (359.978 um , -238.698 um ) Energy: 2.58452 eV
Arrival time: 14.9771 ns Arrival position: (-179.273 um , 109.336 um ) Exit position: (-188.144 um , 198.793 um ) Energy: 2.57504 eV
Arrival time: 6.79527 ns Arrival position: (502.783 um , 2.47367 um ) Exit position: ( 378.32 um , -23.5437 um ) Energy: 2.92977 eV
Arrival time: 26.3725 ns Arrival position: (32.7868 um , 265.937 um ) Exit position: (-86.6452 um , 199.992 um ) Energy: 2.86826 eV
Arrival time: 9.36379 ns Arrival position: (-87.188 um , -27.7334 um ) Exit position: (-141.235 um , -104.163 um ) Energy: 2.76794 eV
Arrival time: 13.2659 ns Arrival position: (332.338 um , -33.7519 um ) Exit position: (384.579 um , -124.107 um ) Energy: 2.35638 eV
Arrival time: 9.98919 ns Arrival position: (294.271 um , 356.198 um ) Exit position: (322.202 um , 227.976 um ) Energy: 2.57853 eV
Arrival time: 6.09655 ns Arrival position: (265.908 um , -241.277 um ) Exit position: (257.825 um , -311.737 um ) Energy: 2.82204 eV
Arrival time: 11.5405 ns Arrival position: (-179.633 um , -310.894 um ) Exit position: (-191.529 um , -412.759 um ) Energy: 2.85821 eV
Arrival time: 20.6781 ns Arrival position: (-144.776 um , -63.2813 um ) Exit position: (-60.0635 um , 49.7377 um ) Energy: 2.24699 eV
Arrival time: 12.7679 ns Arrival position: (9.64254 um , -164.077 um ) Exit position: (-34.1542 um , -164.307 um ) Energy: 2.65585 eV
Arrival time: 44.5805 ns Arrival position: (-69.9023 um , -440.892 um ) Exit position: (-28.0782 um , -469.329 um ) Energy: 2.77826 eV
Arrival time: 9.02097 ns Arrival position: (179.186 um , 452.126 um ) Exit position: (136.663 um , 455.25 um ) Energy: 2.59787 eV
Arrival time: 24.248 ns Arrival position: (-226.587 um , -239.712 um ) Exit position: (-272.85 um , -262.884 um ) Energy: 2.49164 eV
Arrival time: 18.5291 ns Arrival position: (-183.084 um , -196.952 um ) Exit position: (-242.172 um , -293.757 um ) Energy: 2.6493 eV
Arrival time: 18.3411 ns Arrival position: (-193.652 um , 485.654 um ) Exit position: (-213.806 um , 401.787 um ) Energy: 2.3401 eV
Arrival time: 7.52896 ns Arrival position: (-300.153 um , 15.729 um ) Exit position: (-241.998 um , -46.9587 um ) Energy: 2.81411 eV
Arrival time: 15.3659 ns Arrival position: (-101.957 um , 465.029 um ) Exit position: (-29.3675 um , 350.423 um ) Energy: 2.60861 eV
Arrival time: 39.151 ns Arrival position: (-8.89374 um , 509.083 um ) Exit position: (-31.383 um , 508.792 um ) Energy: 2.79351 eV
-------->Hits Collection: in this event there are 9 hits in the photon detector:
Arrival time: 6.73385 ns Arrival position: (192.439 um , 352.928 um ) Exit position: (65.3376 um , 353.825 um ) Energy: 2.47177 eV
Arrival time: 11.2309 ns Arrival position: (-208.425 um , 301.687 um ) Exit position: (-191.36 um , 396.822 um ) Energy: 2.5049 eV
Arrival time: 18.6766 ns Arrival position: (-195.976 um , -455.399 um ) Exit position: (-268.039 um , -308.499 um ) Energy: 2.5239 eV
Arrival time: 7.97701 ns Arrival position: (-151.568 um , 99.4462 um ) Exit position: (-127.225 um , 8.13337 um ) Energy: 2.43451 eV
Arrival time: 9.6958 ns Arrival position: (241.362 um , -119.316 um ) Exit position: (357.049 um , -35.0657 um ) Energy: 2.31882 eV
Arrival time: 7.92007 ns Arrival position: (-116.928 um , -120.605 um ) Exit position: (-149.474 um , -104.6 um ) Energy: 2.746 eV
Arrival time: 26.2376 ns Arrival position: (-124.395 um , -137.605 um ) Exit position: (-69.3718 um , -108.337 um ) Energy: 2.81782 eV
Arrival time: 17.3852 ns Arrival position: (195.219 um , 65.3307 um ) Exit position: (159.571 um , 61.6968 um ) Energy: 2.70156 eV
Arrival time: 6.83775 ns Arrival position: (-323.864 um , -16.6674 um ) Exit position: (-276.18 um , 96.5193 um ) Energy: 2.84706 eV
Run terminated.
Run Summary
Number of events processed : 10
User=14.350000s Real=14.415669s Sys=0.000000s
User=17.640000s Real=19.207047s Sys=0.010000s
----> print histograms statistics for the entire run
Mean number of photons detected/event: 16.7 rms = 12.9387
Mean number of photons detected/event: 17.6 rms = 16.2862
... write file : wls.root - done
... close file : wls.root - done
======================== run summary =====================
Average number per event:
TIR: 1.69e+05 +- 1.38e+05
Exiting: 3.97e+05 +- 3.49e+05
Escaped Mid: 349 +- 292
Escaped End: 17 +- 13.1
Bounced: 1.47e+04 +- 1.31e+04
TIR: 1.89e+05 +- 1.62e+05
Exiting: 4.36e+05 +- 3.66e+05
Escaped Mid: 382 +- 329
Escaped End: 18.3 +- 16.8
Bounced: 1.6e+04 +- 1.35e+04
WLS Bounce: 0 +- 0
Clad1 Bounce: 9.85e+03 +- 8.87e+03
Clad1 Bounce: 1.07e+04 +- 9e+03
Clad2 Bounce: 0 +- 0
Reflected: 2.26e+04 +- 2.03e+04
Escaped: 0.3 +- 0.64
Mirror: 17.4 +- 12.5
Detector hit: 16.7 +- 12.9
Reflected: 2.39e+04 +- 2.12e+04
Escaped: 0.7 +- 0.9
Mirror: 22.7 +- 20
Detector hit: 17.6 +- 16.3
There are 3 h1 histograms
0 with 0 entries: Energy of optical photon
1 with 0 entries: Arrival time
2 with 0 entries: Number of photons
List them with "/analysis/list".
View them with "/vis/plot" or "/vis/reviewPlots".
There are histograms that can be viewed with visualization:
3 h1 histograms(s)
List them with "/analysis/list".
View them immediately with "/vis/plot" or "/vis/reviewPlots".
But...there are no entries. To make your histograms available for
plotting in this UI session, use CloseFile(false) in your
EndOfRunAction and Reset() in your BeginOfRunAction.
Graphics systems deleted.
Visualization Manager deleting...
================== Deleting memory pools ===================
Number of memory pools allocated: 16 of which, static: 0
Dynamic pools deleted: 16 / Total memory freed: 1.7 MB
Dynamic pools deleted: 16 / Total memory freed: 1.6 MB
============================================================
@@ -38,13 +38,13 @@ class WLSActionInitialization : public G4VUserActionInitialization
{
public:
WLSActionInitialization(WLSDetectorConstruction*);
~WLSActionInitialization();
~WLSActionInitialization() override = default;
void BuildForMaster() const override;
void Build() const override;
private:
WLSDetectorConstruction* fDetector;
WLSDetectorConstruction* fDetector = nullptr;
};
#endif
@@ -38,6 +38,7 @@
#include "G4Cache.hh"
#include "G4RotationMatrix.hh"
#include "G4VUserDetectorConstruction.hh"
#include <CLHEP/Units/SystemOfUnits.h>
class WLSMaterials;
class WLSDetectorMessenger;
@@ -55,7 +56,7 @@ class WLSDetectorConstruction : public G4VUserDetectorConstruction
{
public:
WLSDetectorConstruction();
~WLSDetectorConstruction();
~WLSDetectorConstruction() override;
G4VPhysicalVolume* Construct() override;
G4VPhysicalVolume* ConstructDetector();
@@ -118,74 +119,74 @@ class WLSDetectorConstruction : public G4VUserDetectorConstruction
private:
std::vector<G4VisAttributes*> fVisAttributes;
WLSMaterials* fMaterials;
WLSMaterials* fMaterials = nullptr;
G4LogicalVolume* fLogicHole;
G4LogicalVolume* fLogicWorld;
G4LogicalVolume* fLogicHole = nullptr;
G4LogicalVolume* fLogicWorld = nullptr;
G4VPhysicalVolume* fPhysiWorld;
G4VPhysicalVolume* fPhysiHole;
G4VPhysicalVolume* fPhysiWorld = nullptr;
G4VPhysicalVolume* fPhysiHole = nullptr;
G4double fWorldSizeX;
G4double fWorldSizeY;
G4double fWorldSizeZ;
G4double fWorldSizeX = -1.;
G4double fWorldSizeY = -1.;
G4double fWorldSizeZ = -1.;
G4double fWLSfiberRX;
G4double fWLSfiberRY;
G4double fWLSfiberZ;
G4double fWLSfiberRX = -1.;
G4double fWLSfiberRY = 0.5 * CLHEP::mm;
G4double fWLSfiberZ = 1. * CLHEP::m;
G4double fClad1RX;
G4double fClad1RY;
G4double fClad1Z;
G4double fClad1RX = -1.;
G4double fClad1RY = -1.;
G4double fClad1Z = -1.;
G4double fClad2RX;
G4double fClad2RY;
G4double fClad2Z;
G4double fClad2RX = -1.;
G4double fClad2RY = -1.;
G4double fClad2Z = -1.;
G4double fClrfiberHalfL;
G4double fClrfiberZ;
G4double fClrfiberHalfL = -1.;
G4double fClrfiberZ = -1.;
G4double fCoupleRX;
G4double fCoupleRY;
G4double fCoupleZ;
G4double fCoupleRX = -1.;
G4double fCoupleRY = -1.;
G4double fCoupleZ = -1.;
G4double fMirrorRmax;
G4double fMirrorZ;
G4bool fMirrorToggle;
G4double fMirrorRmax = -1.;
G4double fMirrorZ = 0.1 * CLHEP::mm;
G4bool fMirrorToggle = true;
G4String fMPPCShape;
G4double fMPPCHalfL;
G4double fMPPCZ;
G4double fMPPCDist;
G4double fMPPCTheta;
G4String fMPPCShape = "Circle";
G4double fMPPCHalfL = -1.;
G4double fMPPCZ = 0.05 * CLHEP::mm;
G4double fMPPCDist = 0.;
G4double fMPPCTheta = 0;
G4double fWLSfiberOrigin;
G4double fCoupleOrigin;
G4double fMirrorOrigin;
G4double fMPPCOriginX;
G4double fMPPCOriginZ;
G4double fWLSfiberOrigin = 0.;
G4double fCoupleOrigin = 0.;
G4double fMirrorOrigin = 0.;
G4double fMPPCOriginX = 0.;
G4double fMPPCOriginZ = 0.;
G4int fNumOfCladLayers;
G4int fNumOfCladLayers = 0;
G4double fMirrorPolish;
G4double fMirrorReflectivity;
G4double fMPPCPolish;
G4double fMPPCReflectivity;
G4double fExtrusionPolish;
G4double fExtrusionReflectivity;
G4double fSurfaceRoughness;
G4double fXYRatio;
G4double fMirrorPolish = 1.;
G4double fMirrorReflectivity = 1.;
G4double fMPPCPolish = 1.;
G4double fMPPCReflectivity = 0.;
G4double fExtrusionPolish = 1.;
G4double fExtrusionReflectivity = 1.;
G4double fSurfaceRoughness = 1.;
G4double fXYRatio = 1.;
G4double fBarLength;
G4double fBarBase;
G4double fHoleRadius;
G4double fHoleLength;
G4double fCoatingThickness;
G4double fCoatingRadius;
G4double fBarLength = 1. * CLHEP::m;
G4double fBarBase = 9.6 * CLHEP::mm;
G4double fHoleRadius = 0.9 * CLHEP::mm;
G4double fHoleLength = -1.;
G4double fCoatingThickness = 0.25 * CLHEP::mm;
G4double fCoatingRadius = 1.875 * CLHEP::mm;
void UpdateGeometryParameters();
WLSDetectorMessenger* fDetectorMessenger;
WLSDetectorMessenger* fDetectorMessenger = nullptr;
G4Cache<WLSPhotonDetSD*> fmppcSD;
};
@@ -52,36 +52,36 @@ class WLSDetectorMessenger : public G4UImessenger
{
public:
WLSDetectorMessenger(WLSDetectorConstruction*);
~WLSDetectorMessenger();
~WLSDetectorMessenger() override;
void SetNewValue(G4UIcommand*, G4String) override;
private:
WLSDetectorConstruction* fDetector;
WLSDetectorConstruction* fDetector = nullptr;
G4UIdirectory* fDetDir;
G4UIdirectory* fDetDir = nullptr;
G4UIcmdWithAString* fSetPhotonDetGeometryCmd;
G4UIcmdWithAnInteger* fSetNumOfCladLayersCmd;
G4UIcmdWithADoubleAndUnit* fSetWLSLengthCmd;
G4UIcmdWithADoubleAndUnit* fSetWLSRadiusCmd;
G4UIcmdWithADoubleAndUnit* fSetClad1RadiusCmd;
G4UIcmdWithADoubleAndUnit* fSetClad2RadiusCmd;
G4UIcmdWithADoubleAndUnit* fSetPhotonDetHalfLengthCmd;
G4UIcmdWithADoubleAndUnit* fSetGapCmd;
G4UIcmdWithADoubleAndUnit* fSetPhotonDetAlignmentCmd;
G4UIcmdWithADouble* fSetXYRatioCmd;
G4UIcmdWithADouble* fSetSurfaceRoughnessCmd;
G4UIcmdWithADouble* fSetMirrorPolishCmd;
G4UIcmdWithADouble* fSetMirrorReflectivityCmd;
G4UIcmdWithADouble* fSetPhotonDetPolishCmd;
G4UIcmdWithADouble* fSetPhotonDetReflectivityCmd;
G4UIcmdWithABool* fSetMirrorCmd;
G4UIcmdWithADoubleAndUnit* fSetBarLengthCmd;
G4UIcmdWithADoubleAndUnit* fSetBarBaseCmd;
G4UIcmdWithADoubleAndUnit* fSetHoleRadiusCmd;
G4UIcmdWithADoubleAndUnit* fSetCoatingThicknessCmd;
G4UIcmdWithADoubleAndUnit* fSetCoatingRadiusCmd;
G4UIcmdWithAString* fSetPhotonDetGeometryCmd = nullptr;
G4UIcmdWithAnInteger* fSetNumOfCladLayersCmd = nullptr;
G4UIcmdWithADoubleAndUnit* fSetWLSLengthCmd = nullptr;
G4UIcmdWithADoubleAndUnit* fSetWLSRadiusCmd = nullptr;
G4UIcmdWithADoubleAndUnit* fSetClad1RadiusCmd = nullptr;
G4UIcmdWithADoubleAndUnit* fSetClad2RadiusCmd = nullptr;
G4UIcmdWithADoubleAndUnit* fSetPhotonDetHalfLengthCmd = nullptr;
G4UIcmdWithADoubleAndUnit* fSetGapCmd = nullptr;
G4UIcmdWithADoubleAndUnit* fSetPhotonDetAlignmentCmd = nullptr;
G4UIcmdWithADouble* fSetXYRatioCmd = nullptr;
G4UIcmdWithADouble* fSetSurfaceRoughnessCmd = nullptr;
G4UIcmdWithADouble* fSetMirrorPolishCmd = nullptr;
G4UIcmdWithADouble* fSetMirrorReflectivityCmd = nullptr;
G4UIcmdWithADouble* fSetPhotonDetPolishCmd = nullptr;
G4UIcmdWithADouble* fSetPhotonDetReflectivityCmd = nullptr;
G4UIcmdWithABool* fSetMirrorCmd = nullptr;
G4UIcmdWithADoubleAndUnit* fSetBarLengthCmd = nullptr;
G4UIcmdWithADoubleAndUnit* fSetBarBaseCmd = nullptr;
G4UIcmdWithADoubleAndUnit* fSetHoleRadiusCmd = nullptr;
G4UIcmdWithADoubleAndUnit* fSetCoatingThicknessCmd = nullptr;
G4UIcmdWithADoubleAndUnit* fSetCoatingRadiusCmd = nullptr;
};
#endif
@@ -43,7 +43,7 @@ class WLSEventAction : public G4UserEventAction
{
public:
WLSEventAction();
~WLSEventAction();
~WLSEventAction() override;
void BeginOfEventAction(const G4Event*) override;
void EndOfEventAction(const G4Event*) override;
@@ -64,23 +64,23 @@ class WLSEventAction : public G4UserEventAction
void AddMirror() { fMirror += 1; };
private:
WLSEventActionMessenger* fEventMessenger;
WLSEventActionMessenger* fEventMessenger = nullptr;
G4int fVerboseLevel;
G4int fVerboseLevel = 0;
G4int fMPPCCollID;
G4int fMPPCCollID = 0;
G4int fNTIR;
G4int fNExiting;
G4int fEscapedEnd;
G4int fEscapedMid;
G4int fBounce;
G4int fWLSBounce;
G4int fClad1Bounce;
G4int fClad2Bounce;
G4int fReflected;
G4int fEscaped;
G4int fMirror;
G4int fNTIR = 0;
G4int fNExiting = 0;
G4int fEscapedEnd = 0;
G4int fEscapedMid = 0;
G4int fBounce = 0;
G4int fWLSBounce = 0;
G4int fClad1Bounce = 0;
G4int fClad2Bounce = 0;
G4int fReflected = 0;
G4int fEscaped = 0;
G4int fMirror = 0;
};
#endif
@@ -44,14 +44,14 @@ class WLSEventActionMessenger : public G4UImessenger
{
public:
WLSEventActionMessenger(WLSEventAction*);
~WLSEventActionMessenger();
~WLSEventActionMessenger() override;
void SetNewValue(G4UIcommand*, G4String) override;
private:
WLSEventAction* fEventAction;
WLSEventAction* fEventAction = nullptr;
G4UIcmdWithAnInteger* fSetVerboseCmd;
G4UIcmdWithAnInteger* fSetVerboseCmd = nullptr;
};
#endif
@@ -53,15 +53,15 @@ class WLSMaterials
static WLSMaterials* fInstance;
G4NistManager* fNistMan;
G4NistManager* fNistMan = nullptr;
G4Material* fAir;
G4Material* fPMMA;
G4Material* fPethylene;
G4Material* fFPethylene;
G4Material* fPolystyrene;
G4Material* fSilicone;
G4Material* fCoating;
G4Material* fAir = nullptr;
G4Material* fPMMA = nullptr;
G4Material* fPethylene = nullptr;
G4Material* fFPethylene = nullptr;
G4Material* fPolystyrene = nullptr;
G4Material* fSilicone = nullptr;
G4Material* fCoating = nullptr;
};
#endif /*WLSMaterials_h*/
@@ -46,7 +46,7 @@ class WLSPhotonDetHit : public G4VHit
public:
WLSPhotonDetHit();
WLSPhotonDetHit(G4ThreeVector pExit, G4ThreeVector pArrive, G4double pTime, G4double pEnergy);
~WLSPhotonDetHit();
~WLSPhotonDetHit() override = default;
WLSPhotonDetHit(const WLSPhotonDetHit& right);
const WLSPhotonDetHit& operator=(const WLSPhotonDetHit& right);
@@ -68,17 +68,17 @@ class WLSPhotonDetHit : public G4VHit
inline void SetEnergy(G4double en) { fEnergy = en; }
inline G4double GetEnergy() { return fEnergy; }
void Print();
void Print() override;
private:
// the arrival time of the photon
G4double fArrivalTime;
G4double fArrivalTime = 0.;
// where the photon hit the detector (detector's coordinate)
G4ThreeVector fPosArrive;
// where the photon exited the fiber (world's coordinate)
G4ThreeVector fPosExit;
// energy of photon
G4double fEnergy;
G4double fEnergy = 0.;
};
//--------------------------------------------------
@@ -45,7 +45,7 @@ class WLSPhotonDetSD : public G4VSensitiveDetector
{
public:
WLSPhotonDetSD(G4String);
~WLSPhotonDetSD();
~WLSPhotonDetSD() override = default;
void Initialize(G4HCofThisEvent*) override;
@@ -54,8 +54,8 @@ class WLSPhotonDetSD : public G4VSensitiveDetector
void EndOfEvent(G4HCofThisEvent*) override;
private:
WLSPhotonDetHitsCollection* fPhotonDetHitCollection;
G4int fHCID;
WLSPhotonDetHitsCollection* fPhotonDetHitCollection = nullptr;
G4int fHCID = -1;
};
#endif
@@ -48,7 +48,7 @@ class WLSPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
WLSPrimaryGeneratorAction(WLSDetectorConstruction*);
~WLSPrimaryGeneratorAction();
~WLSPrimaryGeneratorAction() override;
void GeneratePrimaries(G4Event*) override;
@@ -59,19 +59,19 @@ class WLSPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
void SetUseSampledEnergy(G4bool v) { fUseSampledEnergy = v; }
protected:
G4PhysicsTable* fIntegralTable;
G4PhysicsTable* fIntegralTable = nullptr;
private:
void SetOptPhotonPolar();
void SetOptPhotonTime();
WLSDetectorConstruction* fDetector;
G4GeneralParticleSource* fParticleGun;
WLSPrimaryGeneratorMessenger* fGunMessenger;
WLSDetectorConstruction* fDetector = nullptr;
G4GeneralParticleSource* fParticleGun = nullptr;
WLSPrimaryGeneratorMessenger* fGunMessenger = nullptr;
static G4bool fFirst;
G4double fTimeConstant;
G4bool fUseSampledEnergy;
G4double fTimeConstant = 0.;
G4bool fUseSampledEnergy = false;
};
#endif
@@ -46,18 +46,17 @@ class WLSPrimaryGeneratorMessenger : public G4UImessenger
{
public:
WLSPrimaryGeneratorMessenger(WLSPrimaryGeneratorAction*);
~WLSPrimaryGeneratorMessenger();
~WLSPrimaryGeneratorMessenger() override;
void SetNewValue(G4UIcommand*, G4String) override;
private:
WLSPrimaryGeneratorAction* fAction;
WLSPrimaryGeneratorAction* fAction = nullptr;
G4UIdirectory* fGunDir;
G4UIdirectory* fGunDir = nullptr;
G4UIcmdWithADoubleAndUnit* fSetPolarizationCmd;
G4UIcmdWithADoubleAndUnit* fSetDecayTimeConstantCmd;
// G4UIcmdWithABool* fSetUseSampledEnergyCmd;
G4UIcmdWithADoubleAndUnit* fSetPolarizationCmd = nullptr;
G4UIcmdWithADoubleAndUnit* fSetDecayTimeConstantCmd = nullptr;
};
#endif
+26 -26
View File
@@ -39,8 +39,8 @@
class WLSRun : public G4Run
{
public:
WLSRun();
~WLSRun();
WLSRun() = default;
~WLSRun() override = default;
void AddTIR(G4int n)
{
@@ -119,30 +119,30 @@ class WLSRun : public G4Run
void Merge(const G4Run*) override;
private:
G4double fNTIR;
G4double fNTIR2;
G4double fNExiting;
G4double fNExiting2;
G4double fEscapedEnd;
G4double fEscapedEnd2;
G4double fEscapedMid;
G4double fEscapedMid2;
G4double fBounce;
G4double fBounce2;
G4double fWLSBounce;
G4double fWLSBounce2;
G4double fClad1Bounce;
G4double fClad1Bounce2;
G4double fClad2Bounce;
G4double fClad2Bounce2;
G4double fReflected;
G4double fReflected2;
G4double fEscaped;
G4double fEscaped2;
G4double fMirror;
G4double fMirror2;
G4double fDetectorHits;
G4double fDetectorHits2;
G4double fNTIR = 0.;
G4double fNTIR2 = 0.;
G4double fNExiting = 0.;
G4double fNExiting2 = 0.;
G4double fEscapedEnd = 0.;
G4double fEscapedEnd2 = 0.;
G4double fEscapedMid = 0.;
G4double fEscapedMid2 = 0.;
G4double fBounce = 0.;
G4double fBounce2 = 0.;
G4double fWLSBounce = 0.;
G4double fWLSBounce2 = 0.;
G4double fClad1Bounce = 0.;
G4double fClad1Bounce2 = 0.;
G4double fClad2Bounce = 0.;
G4double fClad2Bounce2 = 0.;
G4double fReflected = 0.;
G4double fReflected2 = 0.;
G4double fEscaped = 0.;
G4double fEscaped2 = 0.;
G4double fMirror = 0.;
G4double fMirror2 = 0.;
G4double fDetectorHits = 0.;
G4double fDetectorHits2 = 0.;
};
#endif
@@ -37,21 +37,20 @@
#include "G4UserRunAction.hh"
class WLSRun;
class G4Run;
class WLSRunAction : public G4UserRunAction
{
public:
WLSRunAction();
~WLSRunAction();
~WLSRunAction() override = default;
void BeginOfRunAction(const G4Run*) override;
void EndOfRunAction(const G4Run*) override;
G4Run* GenerateRun() override;
private:
WLSRun* fRun;
WLSRun* fRun = nullptr;
};
#endif
@@ -40,15 +40,15 @@
class WLSStackingAction : public G4UserStackingAction
{
public:
WLSStackingAction();
~WLSStackingAction();
WLSStackingAction() = default;
~WLSStackingAction() override = default;
G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track*) override;
void NewStage() override;
void PrepareNewEvent() override;
private:
G4int fPhotonCounter;
G4int fPhotonCounter = 0;
};
#endif
@@ -49,7 +49,7 @@ class WLSSteppingAction : public G4UserSteppingAction
{
public:
WLSSteppingAction(WLSDetectorConstruction*, WLSEventAction*);
~WLSSteppingAction();
~WLSSteppingAction() override;
void UserSteppingAction(const G4Step*) override;
@@ -65,30 +65,30 @@ class WLSSteppingAction : public G4UserSteppingAction
private:
// Artificially kill the photon after it has bounced more than this number
G4int fBounceLimit;
G4int fBounceLimit = 100000;
// number of photons that reach the end
G4int fCounterEnd;
G4int fCounterEnd = 0;
// number of photons that didn't make it to the end
G4int fCounterMid;
G4int fCounterMid = 0;
// total number of bounces that a photon been through
G4int fCounterBounce;
G4int fCounterBounce = 0;
// number of bounces that a photon been through within the fibre
G4int fCounterWLSBounce;
G4int fCounterWLSBounce = 0;
// number of bounces that a photon been through from Cladding 1 to 2
G4int fCounterClad1Bounce;
G4int fCounterClad1Bounce = 0;
// number of bounces that a photon been through from Cladding 2 to World
G4int fCounterClad2Bounce;
G4int fCounterClad2Bounce = 0;
// initial gamma of the photon
G4double fInitGamma;
G4double fInitGamma = -1.;
// initial theta of the photon
G4double fInitTheta;
G4double fInitTheta = -1.;
G4OpBoundaryProcess* fOpProcess;
G4OpBoundaryProcess* fOpProcess = nullptr;
WLSDetectorConstruction* fDetector;
WLSSteppingActionMessenger* fSteppingMessenger;
WLSEventAction* fEventAction;
WLSDetectorConstruction* fDetector = nullptr;
WLSSteppingActionMessenger* fSteppingMessenger = nullptr;
WLSEventAction* fEventAction = nullptr;
inline void ResetCounters()
{
@@ -45,14 +45,14 @@ class WLSSteppingActionMessenger : public G4UImessenger
{
public:
WLSSteppingActionMessenger(WLSSteppingAction*);
~WLSSteppingActionMessenger();
~WLSSteppingActionMessenger() override;
void SetNewValue(G4UIcommand*, G4String) override;
private:
WLSSteppingAction* fSteppingAction;
G4UIdirectory* fSteppingDir;
G4UIcmdWithAnInteger* fSetBounceLimitCmd;
WLSSteppingAction* fSteppingAction = nullptr;
G4UIdirectory* fSteppingDir = nullptr;
G4UIcmdWithAnInteger* fSetBounceLimitCmd = nullptr;
};
#endif
@@ -39,8 +39,8 @@
class WLSTrackingAction : public G4UserTrackingAction
{
public:
WLSTrackingAction(){};
~WLSTrackingAction(){};
WLSTrackingAction() = default;
~WLSTrackingAction() override = default;
void PreUserTrackingAction(const G4Track*) override;
};
@@ -49,10 +49,10 @@ typedef std::vector<G4VTrajectoryPoint*> WLSTrajectoryPointContainer;
class WLSTrajectory : public G4VTrajectory
{
public:
WLSTrajectory();
WLSTrajectory() = default;
WLSTrajectory(const G4Track*);
WLSTrajectory(WLSTrajectory&);
~WLSTrajectory();
~WLSTrajectory() override;
inline void* operator new(size_t);
inline void operator delete(void*);
@@ -61,42 +61,42 @@ class WLSTrajectory : public G4VTrajectory
return (this == &right);
}
inline virtual G4int GetTrackID() const { return fTrackID; }
inline virtual G4int GetParentID() const { return fParentID; }
inline virtual G4String GetParticleName() const { return fParticleName; }
inline virtual G4double GetCharge() const { return fPDGCharge; }
inline virtual G4int GetPDGEncoding() const { return fPDGEncoding; }
inline virtual G4ThreeVector GetInitialMomentum() const
inline G4int GetTrackID() const override { return fTrackID; }
inline G4int GetParentID() const override { return fParentID; }
inline G4String GetParticleName() const override { return fParticleName; }
inline G4double GetCharge() const override { return fPDGCharge; }
inline G4int GetPDGEncoding() const override { return fPDGEncoding; }
inline G4ThreeVector GetInitialMomentum() const override
{
return fInitialMomentum;
}
virtual void ShowTrajectory(std::ostream& os = G4cout) const;
virtual void AppendStep(const G4Step* aStep);
virtual void MergeTrajectory(G4VTrajectory* secondTrajectory);
void ShowTrajectory(std::ostream& os = G4cout) const override;
void AppendStep(const G4Step* aStep) override;
void MergeTrajectory(G4VTrajectory* secondTrajectory) override;
G4ParticleDefinition* GetParticleDefinition();
virtual int GetPointEntries() const { return fpPointsContainer->size(); }
virtual G4VTrajectoryPoint* GetPoint(G4int i) const
int GetPointEntries() const override { return fpPointsContainer->size(); }
G4VTrajectoryPoint* GetPoint(G4int i) const override
{
return (*fpPointsContainer)[i];
}
virtual const std::map<G4String, G4AttDef>* GetAttDefs() const;
virtual std::vector<G4AttValue>* CreateAttValues() const;
const std::map<G4String, G4AttDef>* GetAttDefs() const override;
std::vector<G4AttValue>* CreateAttValues() const override;
private:
WLSTrajectoryPointContainer* fpPointsContainer;
WLSTrajectoryPointContainer* fpPointsContainer = nullptr;
G4int fTrackID;
G4int fParentID;
G4double fPDGCharge;
G4int fPDGEncoding;
G4int fTrackID = 0;
G4int fParentID = 0;
G4double fPDGCharge = 0.;
G4int fPDGEncoding = 0;
G4String fParticleName;
G4ThreeVector fInitialMomentum;
G4ParticleDefinition* fParticleDefinition;
G4ParticleDefinition* fParticleDefinition = nullptr;
};
extern G4ThreadLocal G4Allocator<WLSTrajectory>* WLSTrajectoryAllocator;
@@ -47,11 +47,11 @@ class G4VProcess;
class WLSTrajectoryPoint : public G4TrajectoryPoint
{
public:
WLSTrajectoryPoint();
WLSTrajectoryPoint() = default;
WLSTrajectoryPoint(const G4Track*);
WLSTrajectoryPoint(const G4Step*);
WLSTrajectoryPoint(const WLSTrajectoryPoint& right);
~WLSTrajectoryPoint();
~WLSTrajectoryPoint() override = default;
inline void* operator new(size_t);
inline void operator delete(void* aTrajectoryPoint);
@@ -65,13 +65,13 @@ class WLSTrajectoryPoint : public G4TrajectoryPoint
inline G4StepStatus GetStepStatus() const { return fStepStatus; };
inline G4String GetVolumeName() const { return fVolumeName; };
virtual const std::map<G4String, G4AttDef>* GetAttDefs() const;
virtual std::vector<G4AttValue>* CreateAttValues() const;
const std::map<G4String, G4AttDef>* GetAttDefs() const override;
std::vector<G4AttValue>* CreateAttValues() const override;
private:
G4double fTime;
G4double fTime = 0.;
G4ThreeVector fMomentum;
G4StepStatus fStepStatus;
G4StepStatus fStepStatus = fUndefined;
G4String fVolumeName;
};
@@ -40,37 +40,23 @@
enum TrackStatus
{
undefined = 0,
left = 1,
right = 2,
defined = 3,
EscapedFromSide = 4,
EscapedFromReadOut = 8,
ReflectedAtMirror = 16,
ReflectedAtReadOut = 32,
murderee = 64,
InsideOfFiber = 128,
OutsideOfFiber = 256
left = 1, // track is going -z
right = 2, // track is going +z
defined = 3, // left or right flag is on (Can't be Set)
EscapedFromSide = 4, // photon escaped through the side of the fiber
EscapedFromReadOut = 8, // photon escaped through read-out end of the fiber
ReflectedAtMirror = 16, // photon has been reflected by mirror at far end
ReflectedAtReadOut = 32, // photon has been reflected at the read-out end
murderee = 64, // photon is artificially killed
InsideOfFiber = 128, // Flag is on if the photon is inside of fiber
OutsideOfFiber = 256 // Flag is on if the photon is outside of fiber
};
/*TrackStatus:
undefined:
left: track is going -z
right: track is going +z
defined: left or right flag is on (Can't be Set)
EscapedFromSide: photon escaped through the side of the fiber
EscapedFromReadOut: photon escaped through the read-out end of the fiber
ReflectedAtMirror: photon has been reflected by the mirror at far end
ReflectedAtReadOut: photon has been reflected at the read-out end
murderee photon is artificially killed
InsideOfFiber Flag is on if the photon is inside of fiber
OutsideOfFiber Flag is on if the photon is outside of fiber
*/
class WLSUserTrackInformation : public G4VUserTrackInformation
{
public:
WLSUserTrackInformation();
~WLSUserTrackInformation();
WLSUserTrackInformation() = default;
~WLSUserTrackInformation() override = default;
const G4ThreeVector& GetExitPosition() const { return fExitPosition; }
void SetExitPosition(const G4ThreeVector& pos) { fExitPosition = pos; }
@@ -87,7 +73,7 @@ class WLSUserTrackInformation : public G4VUserTrackInformation
}
private:
G4int fStatus;
G4int fStatus = undefined;
G4ThreeVector fExitPosition;
};
@@ -46,10 +46,6 @@ WLSActionInitialization::WLSActionInitialization(WLSDetectorConstruction* det)
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSActionInitialization::~WLSActionInitialization() {}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void WLSActionInitialization::BuildForMaster() const
{
SetUserAction(new WLSRunAction());
@@ -62,7 +58,7 @@ void WLSActionInitialization::Build() const
SetUserAction(new WLSPrimaryGeneratorAction(fDetector));
SetUserAction(new WLSRunAction());
WLSEventAction* eventAction = new WLSEventAction();
auto eventAction = new WLSEventAction();
SetUserAction(eventAction);
SetUserAction(new WLSTrackingAction());
@@ -64,59 +64,20 @@
WLSDetectorConstruction::WLSDetectorConstruction()
: fVisAttributes()
, fMaterials(nullptr)
, fLogicHole(nullptr)
, fLogicWorld(nullptr)
, fPhysiWorld(nullptr)
, fPhysiHole(nullptr)
{
fDetectorMessenger = new WLSDetectorMessenger(this);
fNumOfCladLayers = 0;
fSurfaceRoughness = 1;
fMirrorToggle = true;
fMirrorPolish = 1.;
fMirrorReflectivity = 1.;
fMPPCPolish = 1.;
fMPPCReflectivity = 0.;
fExtrusionPolish = 1.;
fExtrusionReflectivity = 1.;
fXYRatio = 1.0;
fWLSfiberZ = 1. * m;
fWLSfiberRY = 0.5 * mm;
fWLSfiberOrigin = 0.0;
fMPPCShape = "Circle";
fMPPCHalfL = fWLSfiberRY;
fMPPCDist = 0.00 * mm;
fMPPCTheta = 0.0 * deg;
fMPPCZ = 0.05 * mm;
fClrfiberZ = fMPPCZ + 10. * nm;
fMirrorZ = 0.1 * mm;
fBarLength = 1. * m;
fBarBase = 9.6 * mm;
fHoleRadius = 0.9 * mm;
fHoleLength = fBarLength;
fCoatingThickness = 0.25 * mm;
fCoatingRadius = 1.875 * mm;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSDetectorConstruction::~WLSDetectorConstruction()
{
if(fDetectorMessenger)
delete fDetectorMessenger;
if(fMaterials)
delete fMaterials;
delete fDetectorMessenger;
delete fMaterials;
for (auto visAttributes: fVisAttributes)
{
delete visAttributes;
@@ -163,7 +124,8 @@ G4VPhysicalVolume* WLSDetectorConstruction::ConstructDetector()
new G4LogicalVolume(solidWorld, air, "World");
fPhysiWorld =
new G4PVPlacement(0, G4ThreeVector(), fLogicWorld, "World", 0, false, 0);
new G4PVPlacement(nullptr, G4ThreeVector(), fLogicWorld, "World", nullptr,
false, 0);
//--------------------------------------------------
// Extrusion
@@ -174,14 +136,13 @@ G4VPhysicalVolume* WLSDetectorConstruction::ConstructDetector()
G4VSolid* solidExtrusion = new G4Box("Extrusion", GetBarBase() / 2.,
GetBarBase() / 2., GetBarLength() / 2.);
G4LogicalVolume* logicExtrusion =
auto logicExtrusion =
new G4LogicalVolume(solidExtrusion, coating, "Extrusion");
G4OpticalSurface* TiO2Surface = new G4OpticalSurface(
auto TiO2Surface = new G4OpticalSurface(
"TiO2Surface", glisur, ground, dielectric_metal, fExtrusionPolish);
G4MaterialPropertiesTable* TiO2SurfaceProperty =
new G4MaterialPropertiesTable();
auto TiO2SurfaceProperty = new G4MaterialPropertiesTable();
std::vector<G4double> p_TiO2 = { 2.00 * eV, 3.47 * eV };
@@ -194,7 +155,7 @@ G4VPhysicalVolume* WLSDetectorConstruction::ConstructDetector()
TiO2Surface->SetMaterialPropertiesTable(TiO2SurfaceProperty);
new G4PVPlacement(0, G4ThreeVector(), logicExtrusion, "Extrusion",
new G4PVPlacement(nullptr, G4ThreeVector(), logicExtrusion, "Extrusion",
fLogicWorld, false, 0);
new G4LogicalSkinSurface("TiO2Surface", logicExtrusion, TiO2Surface);
@@ -213,10 +174,10 @@ G4VPhysicalVolume* WLSDetectorConstruction::ConstructDetector()
GetBarBase() / 2. - GetCoatingThickness() - GetCoatingRadius(),
GetBarLength() / 2.);
G4LogicalVolume* logicScintillator = new G4LogicalVolume(
auto logicScintillator = new G4LogicalVolume(
solidScintillator, polystyrene, "Scintillator");
new G4PVPlacement(0, G4ThreeVector(), logicScintillator, "Scintillator",
new G4PVPlacement(nullptr, G4ThreeVector(), logicScintillator, "Scintillator",
logicExtrusion, false, 0);
G4LogicalVolume* logicScintSide = nullptr;
@@ -247,7 +208,7 @@ G4VPhysicalVolume* WLSDetectorConstruction::ConstructDetector()
new G4PVPlacement(nullptr, G4ThreeVector(0., pos, 0.), logicScintSide,
"SideOfBar", logicExtrusion, false, 1);
G4RotationMatrix* rot1 = new G4RotationMatrix();
auto rot1 = new G4RotationMatrix();
rot1->rotateZ(-90.*deg);
new G4PVPlacement(rot1, G4ThreeVector(pos, 0., 0.), logicScintSide,
@@ -264,13 +225,13 @@ G4VPhysicalVolume* WLSDetectorConstruction::ConstructDetector()
new G4PVPlacement(rot1, G4ThreeVector(-pos, pos, 0.), logicScintCrnr,
"CrnrOfBar", logicExtrusion, false, 1);
G4RotationMatrix* rot2 = new G4RotationMatrix();
auto rot2 = new G4RotationMatrix();
rot2->rotateZ(-180.*deg);
new G4PVPlacement(rot2, G4ThreeVector(-pos, -pos, 0.), logicScintCrnr,
"CrnrOfBar", logicExtrusion, false, 2);
G4RotationMatrix* rot3 = new G4RotationMatrix();
auto rot3 = new G4RotationMatrix();
rot3->rotateZ(-270.*deg);
new G4PVPlacement(rot3, G4ThreeVector(pos, -pos, 0.), logicScintCrnr,
@@ -284,7 +245,7 @@ G4VPhysicalVolume* WLSDetectorConstruction::ConstructDetector()
fLogicHole = new G4LogicalVolume(solidHole, air, "Hole");
fPhysiHole = new G4PVPlacement(0, G4ThreeVector(), fLogicHole, "Hole",
fPhysiHole = new G4PVPlacement(nullptr, G4ThreeVector(), fLogicHole, "Hole",
logicScintillator, false, 0);
}
@@ -347,7 +308,7 @@ G4VPhysicalVolume* WLSDetectorConstruction::ConstructDetector()
new G4LogicalVolume(solidClad2, fpethylene, "Clad2");
physiClad2 =
new G4PVPlacement(0, G4ThreeVector(0.0, 0.0, fWLSfiberOrigin),
new G4PVPlacement(nullptr, G4ThreeVector(0.0, 0.0, fWLSfiberOrigin),
logicClad2, "Clad2", logicPlacement, false, 0);
// Place the rough surface only if needed
@@ -383,8 +344,8 @@ G4VPhysicalVolume* WLSDetectorConstruction::ConstructDetector()
new G4LogicalVolume(solidClad1, pethylene, "Clad1");
physiClad1 =
new G4PVPlacement(0, G4ThreeVector(0., 0., fWLSfiberOrigin), logicClad1,
"Clad1", logicPlacement, false, 0);
new G4PVPlacement(nullptr, G4ThreeVector(0., 0., fWLSfiberOrigin),
logicClad1, "Clad1", logicPlacement, false, 0);
// Place the rough surface only if needed
if(opSurface)
@@ -429,7 +390,7 @@ G4VPhysicalVolume* WLSDetectorConstruction::ConstructDetector()
new G4UserLimits(DBL_MAX, DBL_MAX, 10. * ms));
G4VPhysicalVolume* physiWLSfiber =
new G4PVPlacement(0, G4ThreeVector(0., 0., fWLSfiberOrigin),
new G4PVPlacement(nullptr, G4ThreeVector(0., 0., fWLSfiberOrigin),
logicWLSfiber, "WLSFiber", logicPlacement, false, 0);
// Place the rough surface only if needed
@@ -460,11 +421,10 @@ G4VPhysicalVolume* WLSDetectorConstruction::ConstructDetector()
logicMirror =
new G4LogicalVolume(solidMirror, aluminum, "Mirror");
G4OpticalSurface* mirrorSurface = new G4OpticalSurface(
auto mirrorSurface = new G4OpticalSurface(
"MirrorSurface", glisur, ground, dielectric_metal, fMirrorPolish);
G4MaterialPropertiesTable* mirrorSurfaceProperty =
new G4MaterialPropertiesTable();
auto mirrorSurfaceProperty = new G4MaterialPropertiesTable();
std::vector<G4double> p_mirror = { 2.00 * eV, 3.47 * eV };
std::vector<G4double> refl_mirror = { fMirrorReflectivity,
@@ -476,8 +436,8 @@ G4VPhysicalVolume* WLSDetectorConstruction::ConstructDetector()
mirrorSurface->SetMaterialPropertiesTable(mirrorSurfaceProperty);
new G4PVPlacement(0, G4ThreeVector(0., 0., fMirrorOrigin), logicMirror,
"Mirror", fLogicWorld, false, 0);
new G4PVPlacement(nullptr, G4ThreeVector(0., 0., fMirrorOrigin),
logicMirror, "Mirror", fLogicWorld, false, 0);
new G4LogicalSkinSurface("MirrorSurface", logicMirror, mirrorSurface);
}
@@ -489,10 +449,9 @@ G4VPhysicalVolume* WLSDetectorConstruction::ConstructDetector()
// Clear Fiber (Coupling Layer)
G4VSolid* solidCouple = new G4Box("Couple", fCoupleRX, fCoupleRY, fCoupleZ);
G4LogicalVolume* logicCouple =
new G4LogicalVolume(solidCouple, air, "Couple");
auto logicCouple = new G4LogicalVolume(solidCouple, air, "Couple");
new G4PVPlacement(0, G4ThreeVector(0., 0., fCoupleOrigin), logicCouple,
new G4PVPlacement(nullptr, G4ThreeVector(0., 0., fCoupleOrigin), logicCouple,
"Couple", fLogicWorld, false, 0);
//--------------------------------------------------
@@ -526,8 +485,7 @@ G4VPhysicalVolume* WLSDetectorConstruction::ConstructDetector()
new G4Tubs("ClearFiber", 0., fClrfiberHalfL, fClrfiberZ, 0., twopi);
}
G4LogicalVolume* logicClrfiber =
new G4LogicalVolume(solidClrfiber, air, "ClearFiber");
auto logicClrfiber = new G4LogicalVolume(solidClrfiber, air, "ClearFiber");
new G4PVPlacement(new G4RotationMatrix(CLHEP::HepRotationY(-fMPPCTheta)),
G4ThreeVector(fMPPCOriginX, 0.0, fMPPCOriginZ),
@@ -545,18 +503,17 @@ G4VPhysicalVolume* WLSDetectorConstruction::ConstructDetector()
else
solidPhotonDet = new G4Tubs("PhotonDet", 0., fMPPCHalfL, fMPPCZ, 0., twopi);
G4LogicalVolume* logicPhotonDet =
auto logicPhotonDet =
new G4LogicalVolume(solidPhotonDet, aluminum, "PhotonDet_LV");
new G4PVPlacement(0, G4ThreeVector(0., 0., 0.), logicPhotonDet, "PhotonDet",
logicClrfiber, false, 0);
new G4PVPlacement(nullptr, G4ThreeVector(0., 0., 0.), logicPhotonDet,
"PhotonDet", logicClrfiber, false, 0);
// PhotonDet Surface Properties
G4OpticalSurface* photonDetSurface = new G4OpticalSurface(
auto photonDetSurface = new G4OpticalSurface(
"PhotonDetSurface", glisur, ground, dielectric_metal, fMPPCPolish);
G4MaterialPropertiesTable* photonDetSurfaceProperty =
new G4MaterialPropertiesTable();
auto photonDetSurfaceProperty = new G4MaterialPropertiesTable();
std::vector<G4double> p_mppc = { 2.00 * eV, 3.47 * eV };
std::vector<G4double> refl_mppc = { fMPPCReflectivity, fMPPCReflectivity };
@@ -658,7 +615,7 @@ void WLSDetectorConstruction::ConstructSDandField()
if(!fmppcSD.Get())
{
G4String mppcSDName = "WLS/PhotonDet";
WLSPhotonDetSD* mppcSD = new WLSPhotonDetSD(mppcSDName);
auto mppcSD = new WLSPhotonDetSD(mppcSDName);
G4SDManager::GetSDMpointer()->AddNewDetector(mppcSD);
fmppcSD.Put(mppcSD);
}
@@ -51,10 +51,7 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSEventAction::WLSEventAction()
: fVerboseLevel(0)
{
fMPPCCollID = 0;
fEventMessenger = new WLSEventActionMessenger(this);
}
@@ -133,7 +130,7 @@ void WLSEventAction::EndOfEventAction(const G4Event* evt)
<< " Detector hit: " << n_hit << G4endl;
}
WLSRun* run = static_cast<WLSRun*>(
auto run = static_cast<WLSRun*>(
G4RunManager::GetRunManager()->GetNonConstCurrentRun());
run->AddTIR(fNTIR);
@@ -49,11 +49,13 @@ WLSMaterials::WLSMaterials()
WLSMaterials::~WLSMaterials()
{
delete fAir;
delete fPMMA;
delete fPethylene;
delete fFPethylene;
delete fPolystyrene;
delete fSilicone;
delete fCoating;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -254,7 +256,7 @@ void WLSMaterials::CreateMaterials()
std::vector<G4double> refractiveIndex = { 1.0, 1.0 };
G4MaterialPropertiesTable* mpt = new G4MaterialPropertiesTable();
auto mpt = new G4MaterialPropertiesTable();
mpt->AddProperty("RINDEX", energySmall, refractiveIndex);
fAir->SetMaterialPropertiesTable(mpt);
@@ -285,7 +287,7 @@ void WLSMaterials::CreateMaterials()
};
// Add entries into properties table
G4MaterialPropertiesTable* mptWLSfiber = new G4MaterialPropertiesTable();
auto mptWLSfiber = new G4MaterialPropertiesTable();
mptWLSfiber->AddProperty("RINDEX", energySmall, refractiveIndexWLSfiber);
mptWLSfiber->AddProperty("WLSABSLENGTH", energy, absWLSfiber);
mptWLSfiber->AddProperty("WLSCOMPONENT", energy, emissionFib);
@@ -302,7 +304,7 @@ void WLSMaterials::CreateMaterials()
std::vector<G4double> absClad = { 20.0 * m, 20.0 * m };
// Add entries into properties table
G4MaterialPropertiesTable* mptClad1 = new G4MaterialPropertiesTable();
auto mptClad1 = new G4MaterialPropertiesTable();
mptClad1->AddProperty("RINDEX", energySmall, refractiveIndexClad1);
mptClad1->AddProperty("ABSLENGTH", energySmall, absClad);
@@ -315,7 +317,7 @@ void WLSMaterials::CreateMaterials()
std::vector<G4double> refractiveIndexClad2 = { 1.42, 1.42 };
// Add entries into properties table
G4MaterialPropertiesTable* mptClad2 = new G4MaterialPropertiesTable();
auto mptClad2 = new G4MaterialPropertiesTable();
mptClad2->AddProperty("RINDEX", energySmall, refractiveIndexClad2);
mptClad2->AddProperty("ABSLENGTH", energySmall, absClad);
@@ -328,7 +330,7 @@ void WLSMaterials::CreateMaterials()
std::vector<G4double> refractiveIndexSilicone = { 1.46, 1.46 };
// Add entries into properties table
G4MaterialPropertiesTable* mptSilicone = new G4MaterialPropertiesTable();
auto mptSilicone = new G4MaterialPropertiesTable();
mptSilicone->AddProperty("RINDEX", energySmall, refractiveIndexSilicone);
mptSilicone->AddProperty("ABSLENGTH", energySmall, absClad);
@@ -350,7 +352,7 @@ void WLSMaterials::CreateMaterials()
};
// Add entries into properties table
G4MaterialPropertiesTable* mptPolystyrene = new G4MaterialPropertiesTable();
auto mptPolystyrene = new G4MaterialPropertiesTable();
mptPolystyrene->AddProperty("RINDEX", energySmall, refractiveIndexPS);
mptPolystyrene->AddProperty("ABSLENGTH", energySmall, absPS);
mptPolystyrene->AddProperty("SCINTILLATIONCOMPONENT1", energy, scintilFast);
@@ -38,8 +38,6 @@ G4ThreadLocal G4Allocator<WLSPhotonDetHit>* WLSPhotonDetHitAllocator = nullptr;
WLSPhotonDetHit::WLSPhotonDetHit()
{
fArrivalTime = 0.;
fEnergy = 0.;
fPosArrive = G4ThreeVector(0., 0., 0.);
fPosExit = G4ThreeVector(0., 0., 0.);
}
@@ -57,10 +55,6 @@ WLSPhotonDetHit::WLSPhotonDetHit(G4ThreeVector pExit, G4ThreeVector pArrive,
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSPhotonDetHit::~WLSPhotonDetHit() {}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSPhotonDetHit::WLSPhotonDetHit(const WLSPhotonDetHit& right)
: G4VHit()
{
@@ -45,18 +45,12 @@
WLSPhotonDetSD::WLSPhotonDetSD(G4String name)
: G4VSensitiveDetector(name)
, fPhotonDetHitCollection(nullptr)
, fHCID(-1)
{
collectionName.insert("PhotonDetHitCollection");
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSPhotonDetSD::~WLSPhotonDetSD() {}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void WLSPhotonDetSD::Initialize(G4HCofThisEvent* HCE)
{
fPhotonDetHitCollection =
@@ -87,11 +81,10 @@ G4bool WLSPhotonDetSD::ProcessHits(G4Step* aStep, G4TouchableHistory*)
// Find out information regarding the hit
G4StepPoint* thePostPoint = aStep->GetPostStepPoint();
WLSUserTrackInformation* trackInformation =
auto trackInformation =
(WLSUserTrackInformation*) theTrack->GetUserInformation();
G4TouchableHistory* theTouchable =
(G4TouchableHistory*) (thePostPoint->GetTouchable());
auto theTouchable = (G4TouchableHistory*) (thePostPoint->GetTouchable());
G4ThreeVector photonExit = trackInformation->GetExitPosition();
G4ThreeVector photonArrive = thePostPoint->GetPosition();
@@ -58,14 +58,9 @@ WLSPrimaryGeneratorAction::WLSPrimaryGeneratorAction(
WLSDetectorConstruction* dc)
{
fDetector = dc;
fIntegralTable = nullptr;
fParticleGun = new G4GeneralParticleSource();
fGunMessenger = new WLSPrimaryGeneratorMessenger(this);
fTimeConstant = 0.;
fUseSampledEnergy = false;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -103,7 +98,7 @@ void WLSPrimaryGeneratorAction::BuildEmissionSpectrum()
for(G4int i = 0; i < numOfMaterials; ++i)
{
G4PhysicsFreeVector* vec = new G4PhysicsFreeVector();
auto vec = new G4PhysicsFreeVector();
G4MaterialPropertiesTable* MPT =
(*theMaterialTable)[i]->GetMaterialPropertiesTable();
@@ -168,8 +163,7 @@ void WLSPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
if(WLSIntensity)
{
G4PhysicsFreeVector* WLSIntegral =
(G4PhysicsFreeVector*) ((*fIntegralTable)(
auto WLSIntegral = (G4PhysicsFreeVector*) ((*fIntegralTable)(
fMaterial->GetIndex()));
G4double CIImax = WLSIntegral->GetMaxValue();
+2 -37
View File
@@ -33,44 +33,9 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSRun::WLSRun()
: G4Run()
{
fNTIR = 0.;
fNTIR2 = 0.;
fNExiting = 0.;
fNExiting2 = 0.;
fEscapedEnd = 0.;
fEscapedEnd2 = 0.;
fEscapedMid = 0.;
fEscapedMid2 = 0.;
fBounce = 0.;
fBounce2 = 0.;
fWLSBounce = 0.;
fWLSBounce2 = 0.;
fClad1Bounce = 0.;
fClad1Bounce2 = 0.;
fClad2Bounce = 0.;
fClad2Bounce2 = 0.;
fReflected = 0.;
fReflected2 = 0.;
fEscaped = 0.;
fEscaped2 = 0.;
fMirror = 0.;
fMirror2 = 0.;
fDetectorHits = 0.;
fDetectorHits2 = 0.;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSRun::~WLSRun() {}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void WLSRun::Merge(const G4Run* run)
{
const WLSRun* localRun = static_cast<const WLSRun*>(run);
const auto localRun = static_cast<const WLSRun*>(run);
fNTIR += localRun->fNTIR;
fNTIR2 += localRun->fNTIR2;
@@ -106,7 +71,7 @@ void WLSRun::EndOfRun()
{
if(numberOfEvent == 0)
return;
G4double TotNbofEvents = G4double(numberOfEvent);
auto TotNbofEvents = G4double(numberOfEvent);
fNTIR = fNTIR / TotNbofEvents;
fNTIR2 = fNTIR2 / TotNbofEvents;
@@ -43,7 +43,6 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSRunAction::WLSRunAction()
: fRun(nullptr)
{
auto analysisManager = G4AnalysisManager::Instance();
@@ -55,14 +54,10 @@ WLSRunAction::WLSRunAction()
2.*CLHEP::eV, 3.2*CLHEP::eV);
analysisManager->CreateH1("Time", "Arrival time", 100, 0., 100.*CLHEP::ns);
analysisManager->CreateH1("Number of photons", "Number of photons", 100, 0., 100.);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSRunAction::~WLSRunAction() {}
G4Run* WLSRunAction::GenerateRun()
{
fRun = new WLSRun();
@@ -84,7 +79,7 @@ void WLSRunAction::EndOfRunAction(const G4Run*)
if (analysisManager->GetH1(0)) {
G4cout << G4endl << " ----> print histograms statistics ";
if(isMaster)
{
{
G4cout << "for the entire run " << G4endl << G4endl;
}
else {
@@ -95,13 +90,11 @@ void WLSRunAction::EndOfRunAction(const G4Run*)
<< analysisManager->GetH1(2)->mean()
<< " rms = "
<< analysisManager->GetH1(2)->rms() << G4endl;
}
analysisManager->Write();
analysisManager->CloseFile();
if(isMaster)
fRun->EndOfRun();
}
@@ -36,16 +36,6 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSStackingAction::WLSStackingAction()
: fPhotonCounter(0)
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSStackingAction::~WLSStackingAction() {}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4ClassificationOfNewTrack WLSStackingAction::ClassifyNewTrack(
const G4Track* aTrack)
{
@@ -61,13 +61,6 @@ WLSSteppingAction::WLSSteppingAction(WLSDetectorConstruction* detector,
, fEventAction(event)
{
fSteppingMessenger = new WLSSteppingActionMessenger(this);
fCounterEnd = 0;
fCounterMid = 0;
fBounceLimit = 100000;
fOpProcess = nullptr;
ResetCounters();
}
@@ -115,7 +108,7 @@ G4int WLSSteppingAction::ResetSuccessCounter()
void WLSSteppingAction::UserSteppingAction(const G4Step* theStep)
{
G4Track* theTrack = theStep->GetTrack();
WLSUserTrackInformation* trackInformation =
auto trackInformation =
(WLSUserTrackInformation*) theTrack->GetUserInformation();
G4StepPoint* thePrePoint = theStep->GetPreStepPoint();
@@ -47,7 +47,7 @@ void WLSTrackingAction::PreUserTrackingAction(const G4Track* aTrack)
// Use custom trajectory class
fpTrackingManager->SetTrajectory(new WLSTrajectory(aTrack));
WLSUserTrackInformation* trackInformation = new WLSUserTrackInformation();
auto trackInformation = new WLSUserTrackInformation();
if(aTrack->GetMomentumDirection().z() > 0.0)
{
@@ -50,20 +50,6 @@ G4ThreadLocal G4Allocator<WLSTrajectory>* WLSTrajectoryAllocator = nullptr;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSTrajectory::WLSTrajectory()
: fpPointsContainer(0)
, fTrackID(0)
, fParentID(0)
, fPDGCharge(0.0)
, fPDGEncoding(0)
, fParticleName("")
, fInitialMomentum(G4ThreeVector())
{
fParticleDefinition = nullptr;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSTrajectory::WLSTrajectory(const G4Track* aTrack)
{
fParticleDefinition = aTrack->GetDefinition();
@@ -94,8 +80,7 @@ WLSTrajectory::WLSTrajectory(WLSTrajectory& right)
for(size_t i = 0; i < right.fpPointsContainer->size(); ++i)
{
WLSTrajectoryPoint* rightPoint =
(WLSTrajectoryPoint*) ((*(right.fpPointsContainer))[i]);
auto rightPoint = (WLSTrajectoryPoint*) ((*(right.fpPointsContainer))[i]);
fpPointsContainer->push_back(new WLSTrajectoryPoint(*rightPoint));
}
}
@@ -142,8 +127,8 @@ void WLSTrajectory::MergeTrajectory(G4VTrajectory* secondTrajectory)
if(!secondTrajectory)
return;
WLSTrajectory* second = (WLSTrajectory*) secondTrajectory;
G4int ent = second->GetPointEntries();
auto second = (WLSTrajectory*) secondTrajectory;
G4int ent = second->GetPointEntries();
// initial point of the second trajectory should not be merged
for(G4int i = 1; i < ent; ++i)
{
@@ -197,7 +182,7 @@ const std::map<G4String, G4AttDef>* WLSTrajectory::GetAttDefs() const
std::vector<G4AttValue>* WLSTrajectory::CreateAttValues() const
{
std::vector<G4AttValue>* values = new std::vector<G4AttValue>;
auto values = new std::vector<G4AttValue>;
values->push_back(
G4AttValue("ID", G4UIcommand::ConvertToString(fTrackID), ""));
@@ -44,15 +44,6 @@ G4ThreadLocal G4Allocator<WLSTrajectoryPoint>* WLSTrajPointAllocator = nullptr;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSTrajectoryPoint::WLSTrajectoryPoint()
: fTime(0.)
, fMomentum(0., 0., 0.)
, fStepStatus(fUndefined)
, fVolumeName("")
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSTrajectoryPoint::WLSTrajectoryPoint(const G4Step* aStep)
: G4TrajectoryPoint(aStep->GetPostStepPoint()->GetPosition())
{
@@ -94,10 +85,6 @@ WLSTrajectoryPoint::WLSTrajectoryPoint(const WLSTrajectoryPoint& right)
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSTrajectoryPoint::~WLSTrajectoryPoint() {}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
const std::map<G4String, G4AttDef>* WLSTrajectoryPoint::GetAttDefs() const
{
G4bool isNew;
@@ -132,7 +119,7 @@ const std::map<G4String, G4AttDef>* WLSTrajectoryPoint::GetAttDefs() const
std::vector<G4AttValue>* WLSTrajectoryPoint::CreateAttValues() const
{
std::vector<G4AttValue>* values = new std::vector<G4AttValue>;
auto values = new std::vector<G4AttValue>;
values->push_back(G4AttValue("Time", G4BestUnit(fTime, "Time"), ""));
values->push_back(
@@ -33,14 +33,6 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSUserTrackInformation::WLSUserTrackInformation() { fStatus = undefined; }
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
WLSUserTrackInformation::~WLSUserTrackInformation() {}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4bool WLSUserTrackInformation::AddStatusFlag(TrackStatus s)
// Try adding a status flag and return if it is successful or not
// Cannot Add Undefine or a flag that conflicts with another flag
+4 -14
View File
@@ -29,20 +29,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:
+2 -2
View File
@@ -62,13 +62,13 @@ int main(int argc, char** argv)
G4Random::setTheSeed(seed);
// Detector construction
WLSDetectorConstruction* detector = new WLSDetectorConstruction();
auto detector = new WLSDetectorConstruction();
runManager->SetUserInitialization(detector);
// Physics list
G4VModularPhysicsList* physicsList = new FTFP_BERT;
physicsList->ReplacePhysics(new G4EmStandardPhysics_option4());
G4OpticalPhysics* opticalPhysics = new G4OpticalPhysics();
auto opticalPhysics = new G4OpticalPhysics();
auto opticalParams = G4OpticalParameters::Instance();
opticalParams->SetBoundaryInvokeSD(true);