QwGeant4
QweakSimUserLeadGlass_DetectorEvent.cc
Go to the documentation of this file.
1 
2 // QweakSimUserLeadGlass_DetectorEvent.cc
3 // Fang Guo
4 // 2012/07/31
5 
6 /////// --------------------------------------------------------------------
7 
9 
10 /////// --------------------------------------------------------------------
11 
13 
14 /////// --------------------------------------------------------------------
15 
17 {
18  SecondaryElectronCount = 0;
19  Initialize();
20 }
21 
22 
23 
24 /////// --------------------------------------------------------------------
25 
27 {;}
28 
29 
30 
31 /////// --------------------------------------------------------------------
32 
34 {
35  //DetectorID = 0.0;
36 
38 
39  TrackID.clear();
40 
41  ParticleName.clear();
42  ParticleType.clear();
43 
44  GlobalTimeOfHit.clear();
45 
46  HasBeenHit = 0;
47  EdgeEventFlag.clear();
48  NbOfHits = 0;
49 
50  //if(SecondaryElectronCount)
51  //{
52  // delete[] SecElecLocalOriginX;
53  // delete[] SecElecLocalOriginY;
54  // delete[] SecElecLocalOriginZ;
55  //
56  // delete[] SecElecLocalMomentumX;
57  // delete[] SecElecLocalMomentumY;
58  // delete[] SecElecLocalMomentumZ;
59  //
60  // delete[] SecElecLocalEnergy;
61  //}
62 
63  //if(SecondaryElectronCount)
64  //{
65  //
66  // SecElecLocalOriginX.clear();
67  // SecElecLocalOriginY.clear();
68  // SecElecLocalOriginZ.clear();
69  //
70  // SecElecLocalMomentumX.clear();
71  // SecElecLocalMomentumY.clear();
72  // SecElecLocalMomentumZ.clear();
73  //
74  // SecElecLocalEnergy.clear();
75  //}
76  //
77 
78  //SecondaryElectronCount = 0;
79 
80  HitGlobalPositionX.clear();
81  HitGlobalPositionY.clear();
82  HitGlobalPositionZ.clear();
83 
84  HitLocalPositionX.clear();
85  HitLocalPositionY.clear();
86  HitLocalPositionZ.clear();
87 
88  HitLocalExitPositionX.clear();
89  HitLocalExitPositionY.clear();
90  HitLocalExitPositionZ.clear();
91 
92  OriginVertexPositionX.clear();
93  OriginVertexPositionY.clear();
94  OriginVertexPositionZ.clear();
95 
99 
103 
104  OriginVertexThetaAngle.clear();
105  OriginVertexPhiAngle.clear();
106 
107  OriginVertexKineticEnergy.clear();
108  OriginVertexTotalEnergy.clear();
109 
110  LocalVertexKineticEnergy.clear();
111  LocalVertexTotalEnergy.clear();
112 
113  //PrimaryQ2 = 0.0;
114  //CrossSection = 0.0;
115  //CrossSectionWeight = 0.0;
116 
117  GlobalPhiAngle.clear();
118  GlobalThetaAngle.clear();
119 
120  //--- deposited energy in the LeadGlass in one step
121  DepositedEnergy.clear();
122  TotalDepositedEnergy = 0.0;
123 }
124 
125 
126 
127 /////// --------------------------------------------------------------------
128 
129 // void QweakSimUserLeadGlass_DetectorEvent::AddSecondaryElectronEvent(Float_t XO, Float_t YO, Float_t ZO,
130 // Float_t XM, Float_t YM, Float_t ZM,
131 // Float_t Eng)
132 // {
133 // G4int cnt = SecondaryElectronCount;
134 //
135 // Float_t *tmp1X = NULL;
136 // Float_t *tmp1Y = NULL;
137 // Float_t *tmp1Z = NULL;
138 //
139 // Float_t *tmp2X = NULL;
140 // Float_t *tmp2Y = NULL;
141 // Float_t *tmp2Z = NULL;
142 //
143 // Float_t *tmp3 = NULL;
144 //
145 // if(cnt){
146 // tmp1X = new Float_t[cnt];
147 // tmp1Y = new Float_t[cnt];
148 // tmp1Z = new Float_t[cnt];
149 //
150 // tmp2X = new Float_t[cnt];
151 // tmp2Y = new Float_t[cnt];
152 // tmp2Z = new Float_t[cnt];
153 //
154 // tmp3 = new Float_t[cnt];
155 // }
156 //
157 // for(Int_t i = 0; i < cnt; i++){
158 // tmp1X[i] = SecElecLocalOriginX[i];
159 // tmp1Y[i] = SecElecLocalOriginY[i];
160 // tmp1Z[i] = SecElecLocalOriginZ[i];
161 //
162 // tmp2X[i] = SecElecLocalMomentumX[i];
163 // tmp2Y[i] = SecElecLocalMomentumY[i];
164 // tmp2Z[i] = SecElecLocalMomentumZ[i];
165 //
166 // tmp3[i] = SecElecLocalEnergy[i];
167 // }
168 //
169 // if(cnt && SecElecLocalOriginX) delete[] SecElecLocalOriginX;
170 // if(cnt && SecElecLocalOriginY) delete[] SecElecLocalOriginY;
171 // if(cnt && SecElecLocalOriginZ) delete[] SecElecLocalOriginZ;
172 //
173 // if(cnt && SecElecLocalMomentumX) delete[] SecElecLocalMomentumX;
174 // if(cnt && SecElecLocalMomentumX) delete[] SecElecLocalMomentumY;
175 // if(cnt && SecElecLocalMomentumX) delete[] SecElecLocalMomentumZ;
176 //
177 // if(cnt && SecElecLocalEnergy) delete[] SecElecLocalEnergy;
178 //
179 // SecElecLocalOriginX = new Float_t[cnt+1];
180 // SecElecLocalOriginY = new Float_t[cnt+1];
181 // SecElecLocalOriginZ = new Float_t[cnt+1];
182 //
183 // SecElecLocalMomentumX = new Float_t[cnt+1];
184 // SecElecLocalMomentumY = new Float_t[cnt+1];
185 // SecElecLocalMomentumZ = new Float_t[cnt+1];
186 //
187 // SecElecLocalEnergy = new Float_t[cnt+1];
188 //
189 // for(Int_t i = 0; i < cnt; i++) {
190 // SecElecLocalOriginX[i] = tmp1X[i];
191 // SecElecLocalOriginY[i] = tmp1Y[i];
192 // SecElecLocalOriginZ[i] = tmp1Z[i];
193 //
194 // SecElecLocalMomentumX[i] = tmp2X[i];
195 // SecElecLocalMomentumY[i] = tmp2Y[i];
196 // SecElecLocalMomentumZ[i] = tmp2Z[i];
197 //
198 // SecElecLocalEnergy[i] = tmp3[i] ;
199 // }
200 
201 // SecElecLocalOriginX.push_back(XO);
202 // SecElecLocalOriginY.push_back(YO);
203 // SecElecLocalOriginZ.push_back(YO);
204 //
205 // SecElecLocalMomentumX.push_back(XM);
206 // SecElecLocalMomentumY.push_back(YM);
207 // SecElecLocalMomentumZ.push_back(ZM);
208 //
209 // SecElecLocalEnergy.push_back(Eng);
210 
211 // if(cnt){
212 // delete[] tmp1X;
213 // delete[] tmp1Y;
214 // delete[] tmp1Z;
215 //
216 // delete[] tmp2X;
217 // delete[] tmp2Y;
218 // delete[] tmp2Z;
219 //
220 // delete[] tmp3;
221 // }
222 //
223 // SecondaryElectronCount++;
224 // }
225 //
226 
227 
228 
229 /////// --------------------------------------------------------------------
230 
231 
232