File indexing completed on 2025-10-30 08:01:04
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 
0030 
0031 
0032 
0033 #ifndef LXeRun_h
0034 #define LXeRun_h 1
0035 
0036 #include "G4Run.hh"
0037 #include "globals.hh"
0038 
0039 
0040 
0041 class LXeRun : public G4Run
0042 {
0043   public:
0044     LXeRun() = default;
0045     ~LXeRun() override = default;
0046 
0047     void IncPhotonCount_Scint(G4int count)
0048     {
0049       fPhotonCount_Scint += count;
0050       fPhotonCount_Scint2 += count * count;
0051     }
0052     void IncPhotonCount_Ceren(G4int count)
0053     {
0054       fPhotonCount_Ceren += count;
0055       fPhotonCount_Ceren2 += count * count;
0056     }
0057     void IncEDep(G4double dep)
0058     {
0059       fTotE += dep;
0060       fTotE2 += dep * dep;
0061     }
0062     void IncAbsorption(G4int count)
0063     {
0064       fAbsorptionCount += count;
0065       fAbsorptionCount2 += count * count;
0066     }
0067     void IncBoundaryAbsorption(G4int count)
0068     {
0069       fBoundaryAbsorptionCount += count;
0070       fBoundaryAbsorptionCount2 += count * count;
0071     }
0072     void IncHitCount(G4int count)
0073     {
0074       fHitCount += count;
0075       fHitCount2 += count * count;
0076     }
0077     void IncHitsAboveThreshold(G4int count)
0078     {
0079       fPMTsAboveThreshold += count;
0080       fPMTsAboveThreshold2 += count * count;
0081     }
0082 
0083     void Merge(const G4Run* run) override;
0084 
0085     void EndOfRun();
0086 
0087   private:
0088     G4int fHitCount = 0;
0089     G4int fHitCount2 = 0;
0090     G4int fPhotonCount_Scint = 0;
0091     G4int fPhotonCount_Scint2 = 0;
0092     G4int fPhotonCount_Ceren = 0;
0093     G4int fPhotonCount_Ceren2 = 0;
0094     G4int fAbsorptionCount = 0;
0095     G4int fAbsorptionCount2 = 0;
0096     G4int fBoundaryAbsorptionCount = 0;
0097     G4int fBoundaryAbsorptionCount2 = 0;
0098     G4int fPMTsAboveThreshold = 0;
0099     G4int fPMTsAboveThreshold2 = 0;
0100 
0101     G4double fTotE = 0.;
0102     G4double fTotE2 = 0.;
0103 };
0104 
0105 #endif