File indexing completed on 2026-03-30 07:50:59
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 #ifndef LXeRun_h
0030 #define LXeRun_h 1
0031
0032 #include "G4Run.hh"
0033 #include "globals.hh"
0034
0035
0036
0037 class LXeRun : public G4Run
0038 {
0039 public:
0040 LXeRun() = default;
0041 ~LXeRun() override = default;
0042
0043 void IncPhotonCount_Scint(G4int count)
0044 {
0045 fPhotonCount_Scint += count;
0046 fPhotonCount_Scint2 += count * count;
0047 }
0048 void IncPhotonCount_Ceren(G4int count)
0049 {
0050 fPhotonCount_Ceren += count;
0051 fPhotonCount_Ceren2 += count * count;
0052 }
0053 void IncEDep(G4double dep)
0054 {
0055 fTotE += dep;
0056 fTotE2 += dep * dep;
0057 }
0058 void IncAbsorption(G4int count)
0059 {
0060 fAbsorptionCount += count;
0061 fAbsorptionCount2 += count * count;
0062 }
0063 void IncBoundaryAbsorption(G4int count)
0064 {
0065 fBoundaryAbsorptionCount += count;
0066 fBoundaryAbsorptionCount2 += count * count;
0067 }
0068 void IncHitCount(G4int count)
0069 {
0070 fHitCount += count;
0071 fHitCount2 += count * count;
0072 }
0073 void IncHitsAboveThreshold(G4int count)
0074 {
0075 fPMTsAboveThreshold += count;
0076 fPMTsAboveThreshold2 += count * count;
0077 }
0078
0079 void Merge(const G4Run* run) override;
0080
0081 void EndOfRun();
0082
0083 private:
0084 G4int fHitCount = 0;
0085 G4int fHitCount2 = 0;
0086 G4int fPhotonCount_Scint = 0;
0087 G4int fPhotonCount_Scint2 = 0;
0088 G4int fPhotonCount_Ceren = 0;
0089 G4int fPhotonCount_Ceren2 = 0;
0090 G4int fAbsorptionCount = 0;
0091 G4int fAbsorptionCount2 = 0;
0092 G4int fBoundaryAbsorptionCount = 0;
0093 G4int fBoundaryAbsorptionCount2 = 0;
0094 G4int fPMTsAboveThreshold = 0;
0095 G4int fPMTsAboveThreshold2 = 0;
0096
0097 G4double fTotE = 0.;
0098 G4double fTotE2 = 0.;
0099 };
0100
0101 #endif