Import Geant4 11.2.0 source tree
This commit is contained in:
@@ -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)
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user