ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4ScoreQuantityMessengerQCmd.cc
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4ScoreQuantityMessengerQCmd.cc
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
//
28
// ---------------------------------------------------------------------
29
// Modifications
30
// 08-Oct-2010 T.Aso remove unit of G4PSPassageCellCurrent.
31
// 01-Jun-2012 T.Aso Support weighted/dividedByArea options
32
// in flatCurrent and flatFulx commands.
33
// 29-Mar-2013 T.Aso Support weighted options in the nOfTrack command.
34
// Support a boundary flag option in the nOfStep command
35
// for skipping stepLength=0 steps.
36
// 13-Feb-2020 T.Aso Change SetDefaultUnit() in trackLength scorer to
37
// SetDefaultValue() to support various unit category.
38
// ---------------------------------------------------------------------
39
40
#include "
G4ScoreQuantityMessenger.hh
"
41
#include "
G4ScoringManager.hh
"
42
#include "
G4VScoringMesh.hh
"
43
44
#include "
G4PSCellCharge3D.hh
"
45
#include "
G4PSCellFlux3D.hh
"
46
#include "
G4PSPassageCellFlux3D.hh
"
47
#include "
G4PSEnergyDeposit3D.hh
"
48
#include "
G4PSDoseDeposit3D.hh
"
49
#include "
G4PSNofStep3D.hh
"
50
#include "
G4PSNofSecondary3D.hh
"
51
//
52
#include "
G4PSTrackLength3D.hh
"
53
#include "
G4PSPassageCellCurrent3D.hh
"
54
#include "
G4PSPassageTrackLength3D.hh
"
55
#include "
G4PSFlatSurfaceCurrent3D.hh
"
56
#include "
G4PSFlatSurfaceFlux3D.hh
"
57
#include "
G4PSSphereSurfaceCurrent3D.hh
"
58
#include "
G4PSSphereSurfaceFlux3D.hh
"
59
#include "
G4PSCylinderSurfaceCurrent3D.hh
"
60
#include "
G4PSCylinderSurfaceFlux3D.hh
"
61
#include "
G4PSNofCollision3D.hh
"
62
#include "
G4PSPopulation3D.hh
"
63
#include "
G4PSTrackCounter3D.hh
"
64
#include "
G4PSTermination3D.hh
"
65
66
#include "
G4SDChargedFilter.hh
"
67
#include "
G4SDNeutralFilter.hh
"
68
#include "
G4SDKineticEnergyFilter.hh
"
69
#include "
G4SDParticleFilter.hh
"
70
#include "
G4SDParticleWithEnergyFilter.hh
"
71
72
#include "
G4UIdirectory.hh
"
73
#include "
G4UIcmdWithoutParameter.hh
"
74
#include "
G4UIcmdWithAnInteger.hh
"
75
#include "
G4UIcmdWithAString.hh
"
76
#include "
G4UIcmdWithABool.hh
"
77
#include "
G4UIcmdWithADoubleAndUnit.hh
"
78
#include "
G4UIcmdWith3VectorAndUnit.hh
"
79
#include "
G4UIcommand.hh
"
80
#include "
G4UIparameter.hh
"
81
#include "
G4Tokenizer.hh
"
82
#include "
G4UnitsTable.hh
"
83
84
void
G4ScoreQuantityMessenger::QuantityCommands
()
85
{
86
G4UIparameter
* param;
87
88
//
89
// Quantity commands
90
quantityDir
=
new
G4UIdirectory
(
"/score/quantity/"
);
91
quantityDir
->
SetGuidance
(
"Scoring quantity of the mesh."
);
92
//
93
qTouchCmd
=
new
G4UIcmdWithAString
(
"/score/quantity/touch"
,
this
);
94
qTouchCmd
->
SetGuidance
(
"Assign previously defined quantity to the current quantity."
);
95
qTouchCmd
->
SetParameterName
(
"qname"
,
false
);
96
//
97
qGetUnitCmd
=
new
G4UIcmdWithoutParameter
(
"/score/quantity/get/unit"
,
this
);
98
qGetUnitCmd
->
SetGuidance
(
"Print output unit of the current quantity."
);
99
//
100
qSetUnitCmd
=
new
G4UIcmdWithAString
(
"/score/quantity/set/unit"
,
this
);
101
qSetUnitCmd
->
SetGuidance
(
"Set output unit of the current quantity."
);
102
qSetUnitCmd
->
SetParameterName
(
"unit"
,
false
);
103
104
// Primitive Scorers
105
qeDepCmd
=
new
G4UIcommand
(
"/score/quantity/energyDeposit"
,
this
);
106
qeDepCmd
->
SetGuidance
(
"Energy deposit scorer."
);
107
qeDepCmd
->
108
SetGuidance(
"[usage] /score/quantity/energyDeposit qname unit"
);
109
qeDepCmd
->
SetGuidance
(
" qname :(String) scorer name"
);
110
qeDepCmd
->
SetGuidance
(
" unit :(String) unit"
);
111
param =
new
G4UIparameter
(
"qname"
,
's'
,
false
);
112
qeDepCmd
->
SetParameter
(param);
113
param =
new
G4UIparameter
(
"unit"
,
's'
,
true
);
114
param->
SetDefaultUnit
(
"MeV"
);
115
qeDepCmd
->
SetParameter
(param);
116
//
117
qCellChgCmd
=
new
G4UIcommand
(
"/score/quantity/cellCharge"
,
this
);
118
qCellChgCmd
->
SetGuidance
(
"Cell charge scorer."
);
119
qCellChgCmd
->
120
SetGuidance(
"[usage] /score/quantity/cellCharge qname unit"
);
121
qCellChgCmd
->
SetGuidance
(
" qname :(String) scorer name"
);
122
qCellChgCmd
->
SetGuidance
(
" unit :(String) unit"
);
123
param =
new
G4UIparameter
(
"qname"
,
's'
,
false
);
124
qCellChgCmd
->
SetParameter
(param);
125
param =
new
G4UIparameter
(
"unit"
,
's'
,
true
);
126
param->
SetDefaultUnit
(
"e+"
);
127
qCellChgCmd
->
SetParameter
(param);
128
//
129
qCellFluxCmd
=
new
G4UIcommand
(
"/score/quantity/cellFlux"
,
this
);
130
qCellFluxCmd
->
SetGuidance
(
"Cell flux scorer."
);
131
qCellFluxCmd
->
132
SetGuidance(
"[usage] /score/quantity/cellFlux qname unit"
);
133
qCellFluxCmd
->
SetGuidance
(
" qname :(String) scorer name"
);
134
qCellFluxCmd
->
SetGuidance
(
" unit :(String) unit"
);
135
param =
new
G4UIparameter
(
"qname"
,
's'
,
false
);
136
qCellFluxCmd
->
SetParameter
(param);
137
param =
new
G4UIparameter
(
"unit"
,
's'
,
true
);
138
param->
SetDefaultValue
(
"percm2"
);
139
qCellFluxCmd
->
SetParameter
(param);
140
//
141
qPassCellFluxCmd
=
new
G4UIcommand
(
"/score/quantity/passageCellFlux"
,
this
);
142
qPassCellFluxCmd
->
SetGuidance
(
"Passage cell flux scorer"
);
143
qPassCellFluxCmd
->
144
SetGuidance(
"[usage] /score/quantity/passageCellFlux qname unit"
);
145
qPassCellFluxCmd
->
SetGuidance
(
" qname :(String) scorer name"
);
146
qPassCellFluxCmd
->
SetGuidance
(
" unit :(String) unit"
);
147
param =
new
G4UIparameter
(
"qname"
,
's'
,
false
);
148
qPassCellFluxCmd
->
SetParameter
(param);
149
param =
new
G4UIparameter
(
"unit"
,
's'
,
true
);
150
param->
SetDefaultValue
(
"percm2"
);
151
qPassCellFluxCmd
->
SetParameter
(param);
152
//
153
qdoseDepCmd
=
new
G4UIcommand
(
"/score/quantity/doseDeposit"
,
this
);
154
qdoseDepCmd
->
SetGuidance
(
"Dose deposit scorer."
);
155
qdoseDepCmd
->
156
SetGuidance(
"[usage] /score/quantity/doseDeposit qname unit"
);
157
qdoseDepCmd
->
SetGuidance
(
" qname :(String) scorer name"
);
158
qdoseDepCmd
->
SetGuidance
(
" unit :(String) unit"
);
159
param =
new
G4UIparameter
(
"qname"
,
's'
,
false
);
160
qdoseDepCmd
->
SetParameter
(param);
161
param =
new
G4UIparameter
(
"unit"
,
's'
,
true
);
162
param->
SetDefaultUnit
(
"Gy"
);
163
qdoseDepCmd
->
SetParameter
(param);
164
//
165
qnOfStepCmd
=
new
G4UIcommand
(
"/score/quantity/nOfStep"
,
this
);
166
qnOfStepCmd
->
SetGuidance
(
"Number of step scorer."
);
167
qnOfStepCmd
->
168
SetGuidance(
"[usage] /score/quantity/nOfStep qname"
);
169
qnOfStepCmd
->
170
SetGuidance(
"[usage] /score/quantity/nOfStep qname bflag"
);
171
qnOfStepCmd
->
SetGuidance
(
" qname :(String) scorer name"
);
172
qnOfStepCmd
->
SetGuidance
(
" bflag :(Bool) Skip zero step "
);
173
qnOfStepCmd
->
SetGuidance
(
" at geometry boundary if true"
);
174
param =
new
G4UIparameter
(
"qname"
,
's'
,
false
);
175
qnOfStepCmd
->
SetParameter
(param);
176
param =
new
G4UIparameter
(
"bflag"
,
'b'
,
true
);
177
param->
SetDefaultValue
(
"false"
);
178
qnOfStepCmd
->
SetParameter
(param);
179
//
180
qnOfSecondaryCmd
=
new
G4UIcommand
(
"/score/quantity/nOfSecondary"
,
this
);
181
qnOfSecondaryCmd
->
SetGuidance
(
"Number of secondary scorer."
);
182
qnOfSecondaryCmd
->
183
SetGuidance(
"[usage] /score/quantity/nOfSecondary qname"
);
184
qnOfSecondaryCmd
->
SetGuidance
(
" qname :(String) scorer name"
);
185
param =
new
G4UIparameter
(
"qname"
,
's'
,
false
);
186
qnOfSecondaryCmd
->
SetParameter
(param);
187
//
188
qTrackLengthCmd
=
new
G4UIcommand
(
"/score/quantity/trackLength"
,
this
);
189
qTrackLengthCmd
->
SetGuidance
(
"Track length scorer."
);
190
qTrackLengthCmd
->
191
SetGuidance(
"[usage] /score/quantity/trackLength qname wflag kflag vflag unit"
);
192
qTrackLengthCmd
->
SetGuidance
(
" qname :(String) scorer name"
);
193
qTrackLengthCmd
->
SetGuidance
(
" wflag :(Bool) weighted"
);
194
qTrackLengthCmd
->
SetGuidance
(
" kflag :(Bool) multiply kinetic energy"
);
195
qTrackLengthCmd
->
SetGuidance
(
" vflag :(Bool) divide by velocity"
);
196
qTrackLengthCmd
->
SetGuidance
(
" unit :(String) unit"
);
197
param =
new
G4UIparameter
(
"qname"
,
's'
,
false
);
198
qTrackLengthCmd
->
SetParameter
(param);
199
param =
new
G4UIparameter
(
"wflag"
,
'b'
,
true
);
200
param->
SetDefaultValue
(
"false"
);
201
qTrackLengthCmd
->
SetParameter
(param);
202
param =
new
G4UIparameter
(
"kflag"
,
'b'
,
true
);
203
param->
SetDefaultValue
(
"false"
);
204
qTrackLengthCmd
->
SetParameter
(param);
205
param =
new
G4UIparameter
(
"vflag"
,
'b'
,
true
);
206
param->
SetDefaultValue
(
"false"
);
207
qTrackLengthCmd
->
SetParameter
(param);
208
param =
new
G4UIparameter
(
"unit"
,
's'
,
true
);
209
param->
SetDefaultValue
(
"mm"
);
210
qTrackLengthCmd
->
SetParameter
(param);
211
//
212
qPassCellCurrCmd
=
new
G4UIcommand
(
"/score/quantity/passageCellCurrent"
,
this
);
213
qPassCellCurrCmd
->
SetGuidance
(
"Passage cell current scorer."
);
214
qPassCellCurrCmd
->
215
SetGuidance(
"[usage] /score/quantity/passageCellCurrent qname wflag"
);
216
qPassCellCurrCmd
->
SetGuidance
(
" qname :(String) scorer name"
);
217
qPassCellCurrCmd
->
SetGuidance
(
" wflag :(Bool) weighted"
);
218
param =
new
G4UIparameter
(
"qname"
,
's'
,
false
);
219
qPassCellCurrCmd
->
SetParameter
(param);
220
param =
new
G4UIparameter
(
"wflag"
,
'b'
,
true
);
221
param->
SetDefaultValue
(
"true"
);
222
qPassCellCurrCmd
->
SetParameter
(param);
223
//
224
qPassTrackLengthCmd
=
new
G4UIcommand
(
"/score/quantity/passageTrackLength"
,
this
);
225
qPassTrackLengthCmd
->
SetGuidance
(
"Passage track length scorer."
);
226
qPassTrackLengthCmd
->
227
SetGuidance(
"[usage] /score/quantity/passageTrackLength qname wflag unit"
);
228
qPassTrackLengthCmd
->
SetGuidance
(
" qname :(String) scorer name"
);
229
qPassTrackLengthCmd
->
SetGuidance
(
" wflag :(Bool) weighted"
);
230
qPassTrackLengthCmd
->
SetGuidance
(
" unit :(Bool) unit"
);
231
param =
new
G4UIparameter
(
"qname"
,
's'
,
false
);
232
qPassTrackLengthCmd
->
SetParameter
(param);
233
param =
new
G4UIparameter
(
"wflag"
,
'b'
,
true
);
234
param->
SetDefaultValue
(
"true"
);
235
qPassTrackLengthCmd
->
SetParameter
(param);
236
param =
new
G4UIparameter
(
"unit"
,
's'
,
true
);
237
param->
SetDefaultUnit
(
"mm"
);
238
qPassTrackLengthCmd
->
SetParameter
(param);
239
//
240
qFlatSurfCurrCmd
=
new
G4UIcommand
(
"/score/quantity/flatSurfaceCurrent"
,
this
);
241
qFlatSurfCurrCmd
->
SetGuidance
(
"Flat surface current Scorer."
);
242
qFlatSurfCurrCmd
->
243
SetGuidance(
"[usage] /score/quantity/flatSurfaceCurrent qname dflag wflag aflag unit"
);
244
qFlatSurfCurrCmd
->
SetGuidance
(
" qname :(String) scorer name"
);
245
qFlatSurfCurrCmd
->
SetGuidance
(
" dflag :(Int) direction flag"
);
246
qFlatSurfCurrCmd
->
SetGuidance
(
" : 0 = Both In and Out"
);
247
qFlatSurfCurrCmd
->
SetGuidance
(
" : 1 = In only"
);
248
qFlatSurfCurrCmd
->
SetGuidance
(
" : 2 = Out only"
);
249
qFlatSurfCurrCmd
->
SetGuidance
(
" wflag :(Bool) weighted"
);
250
qFlatSurfCurrCmd
->
SetGuidance
(
" aflag :(Bool) divide by area"
);
251
qFlatSurfCurrCmd
->
SetGuidance
(
" unit :(String) unit"
);
252
param =
new
G4UIparameter
(
"qname"
,
's'
,
false
);
253
qFlatSurfCurrCmd
->
SetParameter
(param);
254
param =
new
G4UIparameter
(
"dflag"
,
'i'
,
true
);
255
param->
SetDefaultValue
(
"0"
);
256
qFlatSurfCurrCmd
->
SetParameter
(param);
257
param =
new
G4UIparameter
(
"wflag"
,
'b'
,
true
);
258
param->
SetDefaultValue
(
"true"
);
259
qFlatSurfCurrCmd
->
SetParameter
(param);
260
param =
new
G4UIparameter
(
"aflag"
,
'b'
,
true
);
261
param->
SetDefaultValue
(
"true"
);
262
qFlatSurfCurrCmd
->
SetParameter
(param);
263
param =
new
G4UIparameter
(
"unit"
,
's'
,
true
);
264
param->
SetDefaultValue
(
"percm2"
);
265
qFlatSurfCurrCmd
->
SetParameter
(param);
266
//
267
qFlatSurfFluxCmd
=
new
G4UIcommand
(
"/score/quantity/flatSurfaceFlux"
,
this
);
268
qFlatSurfFluxCmd
->
SetGuidance
(
"Flat surface flux scorer."
);
269
qFlatSurfFluxCmd
->
270
SetGuidance(
"[usage] /score/quantity/flatSurfaceFlux qname dflag unit"
);
271
qFlatSurfFluxCmd
->
SetGuidance
(
" qname :(String) scorer name"
);
272
qFlatSurfFluxCmd
->
SetGuidance
(
" dflag :(Int) direction flag"
);
273
qFlatSurfFluxCmd
->
SetGuidance
(
" : 0 = Both In and Out"
);
274
qFlatSurfFluxCmd
->
SetGuidance
(
" : 1 = In only"
);
275
qFlatSurfFluxCmd
->
SetGuidance
(
" : 2 = Out only"
);
276
qFlatSurfFluxCmd
->
SetGuidance
(
" wflag :(Bool) weighted"
);
277
qFlatSurfFluxCmd
->
SetGuidance
(
" aflag :(Bool) divide by area"
);
278
qFlatSurfFluxCmd
->
SetGuidance
(
" unit :(String) unit"
);
279
param =
new
G4UIparameter
(
"qname"
,
's'
,
false
);
280
qFlatSurfFluxCmd
->
SetParameter
(param);
281
param =
new
G4UIparameter
(
"dflag"
,
'i'
,
true
);
282
param->
SetDefaultValue
(
"0"
);
283
qFlatSurfFluxCmd
->
SetParameter
(param);
284
param =
new
G4UIparameter
(
"wflag"
,
'b'
,
true
);
285
param->
SetDefaultValue
(
"true"
);
286
qFlatSurfFluxCmd
->
SetParameter
(param);
287
param =
new
G4UIparameter
(
"aflag"
,
'b'
,
true
);
288
param->
SetDefaultValue
(
"true"
);
289
qFlatSurfFluxCmd
->
SetParameter
(param);
290
param =
new
G4UIparameter
(
"unit"
,
's'
,
true
);
291
param->
SetDefaultValue
(
"percm2"
);
292
qFlatSurfFluxCmd
->
SetParameter
(param);
293
//
294
// qSphereSurfCurrCmd = new G4UIcommand("/score/quantity/sphereSurfaceCurrent",this);
295
// qSphereSurfCurrCmd->SetGuidance("Sphere surface current Scorer.");
296
// qSphereSurfCurrCmd->
297
// SetGuidance("[usage] /score/quantity/sphereSurfaceCurrent qname dflag wflag aflag unit");
298
// qSphereSurfCurrCmd->SetGuidance(" qname :(String) scorer name");
299
// qSphereSurfCurrCmd->SetGuidance(" dflag :(Int) direction flag");
300
// qSphereSurfCurrCmd->SetGuidance(" : 0 = Both In and Out");
301
// qSphereSurfCurrCmd->SetGuidance(" : 1 = In only");
302
// qSphereSurfCurrCmd->SetGuidance(" : 2 = Out only");
303
// qSphereSurfCurrCmd->SetGuidance(" wflag :(Bool) Weighted");
304
// qSphereSurfCurrCmd->SetGuidance(" aflag :(Bool) DivideByArea");
305
// qSphereSurfCurrCmd->SetGuidance(" unit :(String) unit");
306
// param = new G4UIparameter("qname",'s',false);
307
// qSphereSurfCurrCmd->SetParameter(param);
308
// param = new G4UIparameter("dflag",'i',true);
309
// param->SetDefaultValue("0");
310
// qSphereSurfCurrCmd->SetParameter(param);
311
// param = new G4UIparameter("wflag",'b',true);
312
// param->SetDefaultValue("true");
313
// qSphereSurfCurrCmd->SetParameter(param);
314
// param = new G4UIparameter("aflag",'b',true);
315
// param->SetDefaultValue("true");
316
// qSphereSurfCurrCmd->SetParameter(param);
317
// param = new G4UIparameter("unit",'s',true);
318
// param->SetDefaultValue("percm2");
319
// qSphereSurfCurrCmd->SetParameter(param);
320
321
//
322
// qSphereSurfFluxCmd = new G4UIcommand("/score/quantity/sphereSurfaceFlux",this);
323
// qSphereSurfFluxCmd->SetGuidance("Sphere surface Flux Scorer.");
324
// qSphereSurfFluxCmd->
325
// SetGuidance("[usage] /score/quantity/sphereSurfaceFlux qname dflag unit");
326
// qSphereSurfFluxCmd->SetGuidance(" qname :(String) scorer name");
327
// qSphereSurfFluxCmd->SetGuidance(" dflag :(Int) direction flag");
328
// qSphereSurfFluxCmd->SetGuidance(" : 0 = Both In and Out");
329
// qSphereSurfFluxCmd->SetGuidance(" : 1 = In only");
330
// qSphereSurfFluxCmd->SetGuidance(" : 2 = Out only");
331
// qSphereSurfFluxCmd->SetGuidance(" wflag :(Bool) weighted");
332
// qSphereSurfFluxCmd->SetGuidance(" aflag :(Bool) divide by area");
333
// qSphereSurfFluxCmd->SetGuidance(" unit :(String) unit");
334
// param = new G4UIparameter("qname",'s',false);
335
// qSphereSurfFluxCmd->SetParameter(param);
336
// param = new G4UIparameter("dflag",'i',true);
337
// param->SetDefaultValue("0");
338
// qSphereSurfFluxCmd->SetParameter(param);
339
// param = new G4UIparameter("wflag",'b',true);
340
// param->SetDefaultValue("true");
341
// qSphereSurfFluxCmd->SetParameter(param);
342
// param = new G4UIparameter("aflag",'b',true);
343
// param->SetDefaultValue("true");
344
// qSphereSurfFluxCmd->SetParameter(param);
345
// param = new G4UIparameter("unit",'s',true);
346
// param->SetDefaultValue("percm2");
347
// qSphereSurfFluxCmd->SetParameter(param);
348
349
//
350
// qCylSurfCurrCmd = new G4UIcommand("/score/quantity/cylinderSurfaceCurrent",this);
351
// qCylSurfCurrCmd->SetGuidance("Cylinder surface current Scorer.");
352
// qCylSurfCurrCmd->
353
// SetGuidance("[usage] /score/quantity/cylinderSurfaceCurrent qname dflag wflag aflag unit");
354
// qCylSurfCurrCmd->SetGuidance(" qname :(String) scorer name");
355
// qCylSurfCurrCmd->SetGuidance(" dflag :(Int) direction flag");
356
// qCylSurfCurrCmd->SetGuidance(" : 0 = Both In and Out");
357
// qCylSurfCurrCmd->SetGuidance(" : 1 = In only");
358
// qCylSurfCurrCmd->SetGuidance(" : 2 = Out only");
359
// qCylSurfCurrCmd->SetGuidance(" wflag :(Bool) Weighted");
360
// qCylSurfCurrCmd->SetGuidance(" aflag :(Bool) DivideByArea");
361
// qCylSurfCurrCmd->SetGuidance(" unit :(String) unit");
362
// param = new G4UIparameter("qname",'s',false);
363
// qCylSurfCurrCmd->SetParameter(param);
364
// param = new G4UIparameter("dflag",'i',true);
365
// param->SetDefaultValue("0");
366
// qCylSurfCurrCmd->SetParameter(param);
367
// param = new G4UIparameter("wflag",'b',true);
368
// param->SetDefaultValue("true");
369
// qCylSurfCurrCmd->SetParameter(param);
370
// param = new G4UIparameter("aflag",'b',true);
371
// param->SetDefaultValue("true");
372
// qCylSurfCurrCmd->SetParameter(param);
373
// param = new G4UIparameter("unit",'s',true);
374
// param->SetDefaultValue("percm2");
375
// qCylSurfCurrCmd->SetParameter(param);
376
//
377
// qCylSurfFluxCmd = new G4UIcommand("/score/quantity/cylinderSurfaceFlux",this);
378
// qCylSurfFluxCmd->SetGuidance("Cylinder surface Flux Scorer.");
379
// qCylSurfFluxCmd->
380
// SetGuidance("[usage] /score/quantity/cylinderSurfaceFlux qname dflag unit");
381
// qCylSurfFluxCmd->SetGuidance(" qname :(String) scorer name");
382
// qCylSurfFluxCmd->SetGuidance(" dflag :(Int) direction flag");
383
// qCylSurfFluxCmd->SetGuidance(" : 0 = Both In and Out");
384
// qCylSurfFluxCmd->SetGuidance(" : 1 = In only");
385
// qCylSurfFluxCmd->SetGuidance(" : 2 = Out only");
386
// qCylSurfFluxCmd->SetGuidance(" wflag :(Bool) weighted");
387
// qCylSurfFluxCmd->SetGuidance(" aflag :(Bool) divide by area");
388
// qCylSurfFluxCmd->SetGuidance(" unit :(String) unit");
389
// param = new G4UIparameter("qname",'s',false);
390
// qCylSurfFluxCmd->SetParameter(param);
391
// param = new G4UIparameter("dflag",'i',true);
392
// param->SetDefaultValue("0");
393
// qCylSurfFluxCmd->SetParameter(param);
394
// param = new G4UIparameter("wflag",'b',true);
395
// param->SetDefaultValue("true");
396
// qCylSurfFluxCmd->SetParameter(param);
397
// param = new G4UIparameter("aflag",'b',true);
398
// param->SetDefaultValue("true");
399
// qCylSurfFluxCmd->SetParameter(param);
400
// param = new G4UIparameter("unit",'s',true);
401
// param->SetDefaultValue("percm2");
402
// qCylSurfFluxCmd->SetParameter(param);
403
//
404
//
405
qNofCollisionCmd
=
new
G4UIcommand
(
"/score/quantity/nOfCollision"
,
this
);
406
qNofCollisionCmd
->
SetGuidance
(
"Number of collision scorer."
);
407
qNofCollisionCmd
->
408
SetGuidance(
"[usage] /score/quantity/nOfCollision qname wflag"
);
409
qNofCollisionCmd
->
SetGuidance
(
" qname :(String) scorer name"
);
410
param =
new
G4UIparameter
(
"qname"
,
's'
,
false
);
411
qNofCollisionCmd
->
SetParameter
(param);
412
param =
new
G4UIparameter
(
"wflag"
,
'b'
,
true
);
413
param->
SetDefaultValue
(
"false"
);
414
qNofCollisionCmd
->
SetParameter
(param);
415
//
416
qPopulationCmd
=
new
G4UIcommand
(
"/score/quantity/population"
,
this
);
417
qPopulationCmd
->
SetGuidance
(
"Population scorer."
);
418
qPopulationCmd
->
419
SetGuidance(
"[usage] /score/quantity/population qname wflag"
);
420
qPopulationCmd
->
SetGuidance
(
" qname :(String) scorer name"
);
421
qPopulationCmd
->
SetGuidance
(
" wflag :(Bool) weighted"
);
422
param =
new
G4UIparameter
(
"qname"
,
's'
,
false
);
423
qPopulationCmd
->
SetParameter
(param);
424
param =
new
G4UIparameter
(
"wflag"
,
'b'
,
true
);
425
param->
SetDefaultValue
(
"false"
);
426
qPopulationCmd
->
SetParameter
(param);
427
428
//
429
qTrackCountCmd
=
new
G4UIcommand
(
"/score/quantity/nOfTrack"
,
this
);
430
qTrackCountCmd
->
SetGuidance
(
"Number of track scorer."
);
431
qTrackCountCmd
->
432
SetGuidance(
"[usage] /score/quantity/nOfTrack qname dflag wflag"
);
433
qTrackCountCmd
->
SetGuidance
(
" qname :(String) scorer name"
);
434
qTrackCountCmd
->
SetGuidance
(
" dflag :(Int) direction"
);
435
qTrackCountCmd
->
SetGuidance
(
" : 0 = Both In and Out"
);
436
qTrackCountCmd
->
SetGuidance
(
" : 1 = In only"
);
437
qTrackCountCmd
->
SetGuidance
(
" : 2 = Out only"
);
438
qTrackCountCmd
->
SetGuidance
(
" wflag :(Bool) weighted"
);
439
param =
new
G4UIparameter
(
"qname"
,
's'
,
false
);
440
qTrackCountCmd
->
SetParameter
(param);
441
param =
new
G4UIparameter
(
"dflag"
,
'i'
,
true
);
442
param->
SetDefaultValue
(
"0"
);
443
qTrackCountCmd
->
SetParameter
(param);
444
param =
new
G4UIparameter
(
"wflag"
,
'b'
,
true
);
445
param->
SetDefaultValue
(
"false"
);
446
qTrackCountCmd
->
SetParameter
(param);
447
448
//
449
qTerminationCmd
=
new
G4UIcommand
(
"/score/quantity/nOfTerminatedTrack"
,
this
);
450
qTerminationCmd
->
SetGuidance
(
"Number of terminated tracks scorer."
);
451
qTerminationCmd
->
452
SetGuidance(
"[usage] /score/quantity/nOfTerminatedTrack qname wflag"
);
453
qTerminationCmd
->
SetGuidance
(
" qname :(String) scorer name"
);
454
qTerminationCmd
->
SetGuidance
(
" wflag :(Bool) weighted"
);
455
param =
new
G4UIparameter
(
"qname"
,
's'
,
false
);
456
qTerminationCmd
->
SetParameter
(param);
457
param =
new
G4UIparameter
(
"wflag"
,
'b'
,
true
);
458
param->
SetDefaultValue
(
"false"
);
459
qTerminationCmd
->
SetParameter
(param);
460
461
//
462
qMinKinEAtGeneCmd
=
new
G4UIcommand
(
"/score/quantity/minKinEAtGeneration"
,
this
);
463
qMinKinEAtGeneCmd
->
SetGuidance
(
"Min Kinetic Energy at Generation"
);
464
qMinKinEAtGeneCmd
->
465
SetGuidance(
"[usage] /score/quantity/minKinEAtGeneration qname unit"
);
466
qMinKinEAtGeneCmd
->
SetGuidance
(
" qname :(String) scorer name"
);
467
qMinKinEAtGeneCmd
->
SetGuidance
(
" unit :(String) unit name"
);
468
param =
new
G4UIparameter
(
"qname"
,
's'
,
false
);
469
qMinKinEAtGeneCmd
->
SetParameter
(param);
470
param =
new
G4UIparameter
(
"unit"
,
's'
,
true
);
471
param->
SetDefaultUnit
(
"MeV"
);
472
qMinKinEAtGeneCmd
->
SetParameter
(param);
473
//
474
qStepCheckerCmd
=
new
G4UIcommand
(
"/score/quantity/stepChecker"
,
this
);
475
qStepCheckerCmd
->
SetGuidance
(
"Display a comment when this PS is invoked"
);
476
qStepCheckerCmd
->
477
SetGuidance(
"[usage] /score/quantity/stepChecker qname"
);
478
qStepCheckerCmd
->
SetGuidance
(
" qname :(String) scorer name"
);
479
param =
new
G4UIparameter
(
"qname"
,
's'
,
false
);
480
qStepCheckerCmd
->
SetParameter
(param);
481
482
}
483
geant4
tree
geant4-10.6-release
source
digits_hits
utils
src
G4ScoreQuantityMessengerQCmd.cc
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:12
using
1.8.2 with
ECCE GitHub integration