Loading...
Searching...
No Matches
WLSRun.hh
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26//
27/// \file optical/wls/include/WLSRun.hh
28/// \brief Definition of the WLSRun class
29//
30
31//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
32//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
33
34#ifndef WLSRun_h
35#define WLSRun_h 1
36
37#include "G4Run.hh"
38
39class WLSRun : public G4Run
40{
41 public:
42 WLSRun() = default;
43 ~WLSRun() override = default;
44
45 void AddTIR(G4int n)
46 {
47 G4double nd(n);
48 fNTIR += nd;
49 fNTIR2 += nd * nd;
50 };
51 void AddExiting(G4int n)
52 {
53 G4double nd(n);
54 fNExiting += nd;
55 fNExiting2 += nd * nd;
56 };
57 void AddEscapedEnd(G4int n)
58 {
59 G4double nd(n);
60 fEscapedEnd += nd;
61 fEscapedEnd2 += nd * nd;
62 };
63 void AddEscapedMid(G4int n)
64 {
65 G4double nd(n);
66 fEscapedMid += nd;
67 fEscapedMid2 += nd * nd;
68 };
69 void AddBounce(G4int n)
70 {
71 G4double nd(n);
72 fBounce += nd;
73 fBounce2 += nd * nd;
74 };
75 void AddWLSBounce(G4int n)
76 {
77 G4double nd(n);
78 fWLSBounce += nd;
79 fWLSBounce2 += nd * nd;
80 };
81 void AddClad1Bounce(G4int n)
82 {
83 G4double nd(n);
84 fClad1Bounce += nd;
85 fClad1Bounce2 += nd * nd;
86 };
87 void AddClad2Bounce(G4int n)
88 {
89 G4double nd(n);
90 fClad2Bounce += nd;
91 fClad2Bounce2 += nd * nd;
92 };
93 void AddReflected(G4int n)
94 {
95 G4double nd(n);
96 fReflected += nd;
97 fReflected2 += nd * nd;
98 };
99 void AddEscaped(G4int n)
100 {
101 G4double nd(n);
102 fEscaped += nd;
103 fEscaped2 += nd * nd;
104 };
105 void AddMirror(G4int n)
106 {
107 G4double nd(n);
108 fMirror += nd;
109 fMirror2 += nd * nd;
110 };
111 void AddDetectorHits(G4int n)
112 {
113 G4double nd(n);
114 fDetectorHits += nd;
115 fDetectorHits2 += nd * nd;
116 };
117
118 void EndOfRun();
119 void Merge(const G4Run*) override;
120
121 private:
122 G4double fNTIR = 0.;
123 G4double fNTIR2 = 0.;
124 G4double fNExiting = 0.;
125 G4double fNExiting2 = 0.;
126 G4double fEscapedEnd = 0.;
127 G4double fEscapedEnd2 = 0.;
128 G4double fEscapedMid = 0.;
129 G4double fEscapedMid2 = 0.;
130 G4double fBounce = 0.;
131 G4double fBounce2 = 0.;
132 G4double fWLSBounce = 0.;
133 G4double fWLSBounce2 = 0.;
134 G4double fClad1Bounce = 0.;
135 G4double fClad1Bounce2 = 0.;
136 G4double fClad2Bounce = 0.;
137 G4double fClad2Bounce2 = 0.;
138 G4double fReflected = 0.;
139 G4double fReflected2 = 0.;
140 G4double fEscaped = 0.;
141 G4double fEscaped2 = 0.;
142 G4double fMirror = 0.;
143 G4double fMirror2 = 0.;
144 G4double fDetectorHits = 0.;
145 G4double fDetectorHits2 = 0.;
146};
147
148#endif
void AddEscapedEnd(G4int n)
Definition WLSRun.hh:57
void AddEscaped(G4int n)
Definition WLSRun.hh:99
G4double fBounce
Definition WLSRun.hh:130
G4double fDetectorHits2
Definition WLSRun.hh:145
void Merge(const G4Run *) override
Definition WLSRun.cc:36
G4double fBounce2
Definition WLSRun.hh:131
void AddEscapedMid(G4int n)
Definition WLSRun.hh:63
WLSRun()=default
G4double fNExiting
Definition WLSRun.hh:124
G4double fClad2Bounce2
Definition WLSRun.hh:137
G4double fDetectorHits
Definition WLSRun.hh:144
G4double fEscapedMid2
Definition WLSRun.hh:129
G4double fWLSBounce
Definition WLSRun.hh:132
void AddReflected(G4int n)
Definition WLSRun.hh:93
void AddWLSBounce(G4int n)
Definition WLSRun.hh:75
void AddTIR(G4int n)
Definition WLSRun.hh:45
G4double fClad2Bounce
Definition WLSRun.hh:136
void AddExiting(G4int n)
Definition WLSRun.hh:51
void EndOfRun()
Definition WLSRun.cc:70
void AddClad1Bounce(G4int n)
Definition WLSRun.hh:81
G4double fNTIR2
Definition WLSRun.hh:123
G4double fWLSBounce2
Definition WLSRun.hh:133
G4double fClad1Bounce
Definition WLSRun.hh:134
G4double fClad1Bounce2
Definition WLSRun.hh:135
G4double fMirror2
Definition WLSRun.hh:143
G4double fEscapedEnd
Definition WLSRun.hh:126
void AddClad2Bounce(G4int n)
Definition WLSRun.hh:87
G4double fNTIR
Definition WLSRun.hh:122
G4double fEscapedMid
Definition WLSRun.hh:128
G4double fNExiting2
Definition WLSRun.hh:125
void AddBounce(G4int n)
Definition WLSRun.hh:69
void AddDetectorHits(G4int n)
Definition WLSRun.hh:111
G4double fEscaped2
Definition WLSRun.hh:141
G4double fEscaped
Definition WLSRun.hh:140
~WLSRun() override=default
G4double fEscapedEnd2
Definition WLSRun.hh:127
G4double fReflected
Definition WLSRun.hh:138
void AddMirror(G4int n)
Definition WLSRun.hh:105
G4double fReflected2
Definition WLSRun.hh:139
G4double fMirror
Definition WLSRun.hh:142

Applications | User Support | Publications | Collaboration