Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ScoreQuantityMessengerQCmd.cc
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//
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
41#include "G4ScoringManager.hh"
42#include "G4VScoringMesh.hh"
43
44#include "G4PSCellCharge3D.hh"
45#include "G4PSCellFlux3D.hh"
48#include "G4PSDoseDeposit3D.hh"
49#include "G4PSNofStep3D.hh"
50#include "G4PSNofSecondary3D.hh"
51//
52#include "G4PSTrackLength3D.hh"
61#include "G4PSVolumeFlux3D.hh"
62#include "G4PSNofCollision3D.hh"
63#include "G4PSPopulation3D.hh"
64#include "G4PSTrackCounter3D.hh"
65#include "G4PSTermination3D.hh"
66
67#include "G4SDChargedFilter.hh"
68#include "G4SDNeutralFilter.hh"
70#include "G4SDParticleFilter.hh"
72
73#include "G4UIdirectory.hh"
76#include "G4UIcmdWithAString.hh"
77#include "G4UIcmdWithABool.hh"
80#include "G4UIcommand.hh"
81#include "G4UIparameter.hh"
82#include "G4Tokenizer.hh"
83#include "G4UnitsTable.hh"
84
85void G4ScoreQuantityMessenger::QuantityCommands()
86{
87 G4UIparameter* param;
88
89 //
90 // Quantity commands
91 quantityDir = new G4UIdirectory("/score/quantity/");
92 quantityDir->SetGuidance("Scoring quantity of the mesh.");
93 //
94 qTouchCmd= new G4UIcmdWithAString("/score/quantity/touch",this);
95 qTouchCmd->SetGuidance("Assign previously defined quantity to the current quantity.");
96 qTouchCmd->SetParameterName("qname",false);
97 //
98 qGetUnitCmd = new G4UIcmdWithoutParameter("/score/quantity/get/unit",this);
99 qGetUnitCmd->SetGuidance("Print output unit of the current quantity.");
100 //
101 qSetUnitCmd = new G4UIcmdWithAString("/score/quantity/set/unit",this);
102 qSetUnitCmd->SetGuidance("Set output unit of the current quantity.");
103 qSetUnitCmd->SetParameterName("unit",false);
104
105 // Primitive Scorers
106 qeDepCmd = new G4UIcommand("/score/quantity/energyDeposit",this);
107 qeDepCmd->SetGuidance("Energy deposit scorer.");
108 qeDepCmd->
109 SetGuidance("[usage] /score/quantity/energyDeposit qname unit");
110 qeDepCmd->SetGuidance(" qname :(String) scorer name");
111 qeDepCmd->SetGuidance(" unit :(String) unit");
112 param = new G4UIparameter("qname",'s',false);
113 qeDepCmd->SetParameter(param);
114 param = new G4UIparameter("unit",'s',true);
115 param->SetDefaultUnit("MeV");
116 qeDepCmd->SetParameter(param);
117 //
118 qCellChgCmd = new G4UIcommand("/score/quantity/cellCharge",this);
119 qCellChgCmd->SetGuidance("Cell charge scorer.");
120 qCellChgCmd->
121 SetGuidance("[usage] /score/quantity/cellCharge qname unit");
122 qCellChgCmd->SetGuidance(" qname :(String) scorer name");
123 qCellChgCmd->SetGuidance(" unit :(String) unit");
124 param = new G4UIparameter("qname",'s',false);
125 qCellChgCmd->SetParameter(param);
126 param = new G4UIparameter("unit",'s',true);
127 param->SetDefaultUnit("e+");
128 qCellChgCmd->SetParameter(param);
129 //
130 qCellFluxCmd = new G4UIcommand("/score/quantity/cellFlux",this);
131 qCellFluxCmd->SetGuidance("Cell flux scorer.");
132 qCellFluxCmd->
133 SetGuidance("[usage] /score/quantity/cellFlux qname unit");
134 qCellFluxCmd->SetGuidance(" qname :(String) scorer name");
135 qCellFluxCmd->SetGuidance(" unit :(String) unit");
136 param = new G4UIparameter("qname",'s',false);
137 qCellFluxCmd->SetParameter(param);
138 param = new G4UIparameter("unit",'s',true);
139 param->SetDefaultValue("percm2");
140 qCellFluxCmd->SetParameter(param);
141 //
142 qPassCellFluxCmd = new G4UIcommand("/score/quantity/passageCellFlux",this);
143 qPassCellFluxCmd->SetGuidance("Passage cell flux scorer");
144 qPassCellFluxCmd->
145 SetGuidance("[usage] /score/quantity/passageCellFlux qname unit");
146 qPassCellFluxCmd->SetGuidance(" qname :(String) scorer name");
147 qPassCellFluxCmd->SetGuidance(" unit :(String) unit");
148 param = new G4UIparameter("qname",'s',false);
149 qPassCellFluxCmd->SetParameter(param);
150 param = new G4UIparameter("unit",'s',true);
151 param->SetDefaultValue("percm2");
152 qPassCellFluxCmd->SetParameter(param);
153 //
154 qdoseDepCmd = new G4UIcommand("/score/quantity/doseDeposit",this);
155 qdoseDepCmd->SetGuidance("Dose deposit scorer.");
156 qdoseDepCmd->
157 SetGuidance("[usage] /score/quantity/doseDeposit qname unit");
158 qdoseDepCmd->SetGuidance(" qname :(String) scorer name");
159 qdoseDepCmd->SetGuidance(" unit :(String) unit");
160 param = new G4UIparameter("qname",'s',false);
161 qdoseDepCmd->SetParameter(param);
162 param = new G4UIparameter("unit",'s',true);
163 param->SetDefaultUnit("Gy");
164 qdoseDepCmd->SetParameter(param);
165 //
166 qnOfStepCmd = new G4UIcommand("/score/quantity/nOfStep",this);
167 qnOfStepCmd->SetGuidance("Number of step scorer.");
168 qnOfStepCmd->
169 SetGuidance("[usage] /score/quantity/nOfStep qname");
170 qnOfStepCmd->
171 SetGuidance("[usage] /score/quantity/nOfStep qname bflag");
172 qnOfStepCmd->SetGuidance(" qname :(String) scorer name");
173 qnOfStepCmd->SetGuidance(" bflag :(Bool) Skip zero step ");
174 qnOfStepCmd->SetGuidance(" at geometry boundary if true");
175 param = new G4UIparameter("qname",'s',false);
176 qnOfStepCmd->SetParameter(param);
177 param = new G4UIparameter("bflag",'b',true);
178 param->SetDefaultValue("false");
179 qnOfStepCmd->SetParameter(param);
180 //
181 qnOfSecondaryCmd = new G4UIcommand("/score/quantity/nOfSecondary",this);
182 qnOfSecondaryCmd->SetGuidance("Number of secondary scorer.");
183 qnOfSecondaryCmd->
184 SetGuidance("[usage] /score/quantity/nOfSecondary qname");
185 qnOfSecondaryCmd->SetGuidance(" qname :(String) scorer name");
186 param = new G4UIparameter("qname",'s',false);
187 qnOfSecondaryCmd->SetParameter(param);
188 //
189 qTrackLengthCmd = new G4UIcommand("/score/quantity/trackLength",this);
190 qTrackLengthCmd->SetGuidance("Track length scorer.");
191 qTrackLengthCmd->
192 SetGuidance("[usage] /score/quantity/trackLength qname wflag kflag vflag unit");
193 qTrackLengthCmd->SetGuidance(" qname :(String) scorer name");
194 qTrackLengthCmd->SetGuidance(" wflag :(Bool) weighted");
195 qTrackLengthCmd->SetGuidance(" kflag :(Bool) multiply kinetic energy");
196 qTrackLengthCmd->SetGuidance(" vflag :(Bool) divide by velocity");
197 qTrackLengthCmd->SetGuidance(" unit :(String) unit");
198 param = new G4UIparameter("qname",'s',false);
199 qTrackLengthCmd->SetParameter(param);
200 param = new G4UIparameter("wflag",'b',true);
201 param->SetDefaultValue("false");
202 qTrackLengthCmd->SetParameter(param);
203 param = new G4UIparameter("kflag",'b',true);
204 param->SetDefaultValue("false");
205 qTrackLengthCmd->SetParameter(param);
206 param = new G4UIparameter("vflag",'b',true);
207 param->SetDefaultValue("false");
208 qTrackLengthCmd->SetParameter(param);
209 param = new G4UIparameter("unit",'s',true);
210 param->SetDefaultValue("mm");
211 qTrackLengthCmd->SetParameter(param);
212 //
213 qPassCellCurrCmd = new G4UIcommand("/score/quantity/passageCellCurrent",this);
214 qPassCellCurrCmd->SetGuidance("Passage cell current scorer.");
215 qPassCellCurrCmd->
216 SetGuidance("[usage] /score/quantity/passageCellCurrent qname wflag");
217 qPassCellCurrCmd->SetGuidance(" qname :(String) scorer name");
218 qPassCellCurrCmd->SetGuidance(" wflag :(Bool) weighted");
219 param = new G4UIparameter("qname",'s',false);
220 qPassCellCurrCmd->SetParameter(param);
221 param = new G4UIparameter("wflag",'b',true);
222 param->SetDefaultValue("true");
223 qPassCellCurrCmd->SetParameter(param);
224 //
225 qPassTrackLengthCmd = new G4UIcommand("/score/quantity/passageTrackLength",this);
226 qPassTrackLengthCmd->SetGuidance("Passage track length scorer.");
227 qPassTrackLengthCmd->
228 SetGuidance("[usage] /score/quantity/passageTrackLength qname wflag unit");
229 qPassTrackLengthCmd->SetGuidance(" qname :(String) scorer name");
230 qPassTrackLengthCmd->SetGuidance(" wflag :(Bool) weighted");
231 qPassTrackLengthCmd->SetGuidance(" unit :(Bool) unit");
232 param = new G4UIparameter("qname",'s',false);
233 qPassTrackLengthCmd->SetParameter(param);
234 param = new G4UIparameter("wflag",'b',true);
235 param->SetDefaultValue("true");
236 qPassTrackLengthCmd->SetParameter(param);
237 param = new G4UIparameter("unit",'s',true);
238 param->SetDefaultUnit("mm");
239 qPassTrackLengthCmd->SetParameter(param);
240 //
241 qFlatSurfCurrCmd = new G4UIcommand("/score/quantity/flatSurfaceCurrent",this);
242 qFlatSurfCurrCmd->SetGuidance("Flat surface current Scorer.");
243 qFlatSurfCurrCmd->
244 SetGuidance("[usage] /score/quantity/flatSurfaceCurrent qname dflag wflag aflag unit");
245 qFlatSurfCurrCmd->SetGuidance(" qname :(String) scorer name");
246 qFlatSurfCurrCmd->SetGuidance(" dflag :(Int) direction flag");
247 qFlatSurfCurrCmd->SetGuidance(" : 0 = Both In and Out");
248 qFlatSurfCurrCmd->SetGuidance(" : 1 = In only");
249 qFlatSurfCurrCmd->SetGuidance(" : 2 = Out only");
250 qFlatSurfCurrCmd->SetGuidance(" wflag :(Bool) weighted");
251 qFlatSurfCurrCmd->SetGuidance(" aflag :(Bool) divide by area");
252 qFlatSurfCurrCmd->SetGuidance(" unit :(String) unit");
253 param = new G4UIparameter("qname",'s',false);
254 qFlatSurfCurrCmd->SetParameter(param);
255 param = new G4UIparameter("dflag",'i',true);
256 param->SetDefaultValue("0");
257 qFlatSurfCurrCmd->SetParameter(param);
258 param = new G4UIparameter("wflag",'b',true);
259 param->SetDefaultValue("true");
260 qFlatSurfCurrCmd->SetParameter(param);
261 param = new G4UIparameter("aflag",'b',true);
262 param->SetDefaultValue("true");
263 qFlatSurfCurrCmd->SetParameter(param);
264 param = new G4UIparameter("unit",'s',true);
265 param->SetDefaultValue("percm2");
266 qFlatSurfCurrCmd->SetParameter(param);
267 //
268 qFlatSurfFluxCmd = new G4UIcommand("/score/quantity/flatSurfaceFlux",this);
269 qFlatSurfFluxCmd->SetGuidance("Flat surface flux scorer.");
270 qFlatSurfFluxCmd->
271 SetGuidance("[usage] /score/quantity/flatSurfaceFlux qname dflag unit");
272 qFlatSurfFluxCmd->SetGuidance(" qname :(String) scorer name");
273 qFlatSurfFluxCmd->SetGuidance(" dflag :(Int) direction flag");
274 qFlatSurfFluxCmd->SetGuidance(" : 0 = Both In and Out");
275 qFlatSurfFluxCmd->SetGuidance(" : 1 = In only");
276 qFlatSurfFluxCmd->SetGuidance(" : 2 = Out only");
277 qFlatSurfFluxCmd->SetGuidance(" wflag :(Bool) weighted");
278 qFlatSurfFluxCmd->SetGuidance(" aflag :(Bool) divide by area");
279 qFlatSurfFluxCmd->SetGuidance(" unit :(String) unit");
280 param = new G4UIparameter("qname",'s',false);
281 qFlatSurfFluxCmd->SetParameter(param);
282 param = new G4UIparameter("dflag",'i',true);
283 param->SetDefaultValue("0");
284 qFlatSurfFluxCmd->SetParameter(param);
285 param = new G4UIparameter("wflag",'b',true);
286 param->SetDefaultValue("true");
287 qFlatSurfFluxCmd->SetParameter(param);
288 param = new G4UIparameter("aflag",'b',true);
289 param->SetDefaultValue("true");
290 qFlatSurfFluxCmd->SetParameter(param);
291 param = new G4UIparameter("unit",'s',true);
292 param->SetDefaultValue("percm2");
293 qFlatSurfFluxCmd->SetParameter(param);
294 //
295
296 qVolFluxCmd = new G4UIcommand("/score/quantity/volumeFlux",this);
297 qVolFluxCmd->SetGuidance("Volume flux scorer.");
298 qVolFluxCmd->SetGuidance("This scorer scores the number of particles getting into the volume without normalized by the surface area.");
299 qVolFluxCmd->SetGuidance("[usage] /score/quantity/volumeFlux qname divcos dflag");
300 qVolFluxCmd->SetGuidance(" qname :(String) scorer name");
301 qVolFluxCmd->SetGuidance(" divcos :(Bool) divide by cos(theta), where theta is the incident angle (default : false)");
302 qVolFluxCmd->SetGuidance(" dflag :(Int) direction, 1 : inward (default), 2 : outward");
303 param = new G4UIparameter("qname",'s',false);
304 qVolFluxCmd->SetParameter(param);
305 param = new G4UIparameter("divcos",'b',true);
306 param->SetDefaultValue(false);
307 qVolFluxCmd->SetParameter(param);
308 param = new G4UIparameter("dflag",'i',true);
309 param->SetParameterRange("dflag>=1 && dflag<=2");
310 param->SetDefaultValue(1);
311 qVolFluxCmd->SetParameter(param);
312
313// qSphereSurfCurrCmd = new G4UIcommand("/score/quantity/sphereSurfaceCurrent",this);
314// qSphereSurfCurrCmd->SetGuidance("Sphere surface current Scorer.");
315// qSphereSurfCurrCmd->
316// SetGuidance("[usage] /score/quantity/sphereSurfaceCurrent qname dflag wflag aflag unit");
317// qSphereSurfCurrCmd->SetGuidance(" qname :(String) scorer name");
318// qSphereSurfCurrCmd->SetGuidance(" dflag :(Int) direction flag");
319// qSphereSurfCurrCmd->SetGuidance(" : 0 = Both In and Out");
320// qSphereSurfCurrCmd->SetGuidance(" : 1 = In only");
321// qSphereSurfCurrCmd->SetGuidance(" : 2 = Out only");
322// qSphereSurfCurrCmd->SetGuidance(" wflag :(Bool) Weighted");
323// qSphereSurfCurrCmd->SetGuidance(" aflag :(Bool) DivideByArea");
324// qSphereSurfCurrCmd->SetGuidance(" unit :(String) unit");
325// param = new G4UIparameter("qname",'s',false);
326// qSphereSurfCurrCmd->SetParameter(param);
327// param = new G4UIparameter("dflag",'i',true);
328// param->SetDefaultValue("0");
329// qSphereSurfCurrCmd->SetParameter(param);
330// param = new G4UIparameter("wflag",'b',true);
331// param->SetDefaultValue("true");
332// qSphereSurfCurrCmd->SetParameter(param);
333// param = new G4UIparameter("aflag",'b',true);
334// param->SetDefaultValue("true");
335// qSphereSurfCurrCmd->SetParameter(param);
336// param = new G4UIparameter("unit",'s',true);
337// param->SetDefaultValue("percm2");
338// qSphereSurfCurrCmd->SetParameter(param);
339
340 //
341// qSphereSurfFluxCmd = new G4UIcommand("/score/quantity/sphereSurfaceFlux",this);
342// qSphereSurfFluxCmd->SetGuidance("Sphere surface Flux Scorer.");
343// qSphereSurfFluxCmd->
344// SetGuidance("[usage] /score/quantity/sphereSurfaceFlux qname dflag unit");
345// qSphereSurfFluxCmd->SetGuidance(" qname :(String) scorer name");
346// qSphereSurfFluxCmd->SetGuidance(" dflag :(Int) direction flag");
347// qSphereSurfFluxCmd->SetGuidance(" : 0 = Both In and Out");
348// qSphereSurfFluxCmd->SetGuidance(" : 1 = In only");
349// qSphereSurfFluxCmd->SetGuidance(" : 2 = Out only");
350// qSphereSurfFluxCmd->SetGuidance(" wflag :(Bool) weighted");
351// qSphereSurfFluxCmd->SetGuidance(" aflag :(Bool) divide by area");
352// qSphereSurfFluxCmd->SetGuidance(" unit :(String) unit");
353// param = new G4UIparameter("qname",'s',false);
354// qSphereSurfFluxCmd->SetParameter(param);
355// param = new G4UIparameter("dflag",'i',true);
356// param->SetDefaultValue("0");
357// qSphereSurfFluxCmd->SetParameter(param);
358// param = new G4UIparameter("wflag",'b',true);
359// param->SetDefaultValue("true");
360// qSphereSurfFluxCmd->SetParameter(param);
361// param = new G4UIparameter("aflag",'b',true);
362// param->SetDefaultValue("true");
363// qSphereSurfFluxCmd->SetParameter(param);
364// param = new G4UIparameter("unit",'s',true);
365// param->SetDefaultValue("percm2");
366// qSphereSurfFluxCmd->SetParameter(param);
367
368 //
369// qCylSurfCurrCmd = new G4UIcommand("/score/quantity/cylinderSurfaceCurrent",this);
370// qCylSurfCurrCmd->SetGuidance("Cylinder surface current Scorer.");
371// qCylSurfCurrCmd->
372// SetGuidance("[usage] /score/quantity/cylinderSurfaceCurrent qname dflag wflag aflag unit");
373// qCylSurfCurrCmd->SetGuidance(" qname :(String) scorer name");
374// qCylSurfCurrCmd->SetGuidance(" dflag :(Int) direction flag");
375// qCylSurfCurrCmd->SetGuidance(" : 0 = Both In and Out");
376// qCylSurfCurrCmd->SetGuidance(" : 1 = In only");
377// qCylSurfCurrCmd->SetGuidance(" : 2 = Out only");
378// qCylSurfCurrCmd->SetGuidance(" wflag :(Bool) Weighted");
379// qCylSurfCurrCmd->SetGuidance(" aflag :(Bool) DivideByArea");
380// qCylSurfCurrCmd->SetGuidance(" unit :(String) unit");
381// param = new G4UIparameter("qname",'s',false);
382// qCylSurfCurrCmd->SetParameter(param);
383// param = new G4UIparameter("dflag",'i',true);
384// param->SetDefaultValue("0");
385// qCylSurfCurrCmd->SetParameter(param);
386// param = new G4UIparameter("wflag",'b',true);
387// param->SetDefaultValue("true");
388// qCylSurfCurrCmd->SetParameter(param);
389// param = new G4UIparameter("aflag",'b',true);
390// param->SetDefaultValue("true");
391// qCylSurfCurrCmd->SetParameter(param);
392// param = new G4UIparameter("unit",'s',true);
393// param->SetDefaultValue("percm2");
394// qCylSurfCurrCmd->SetParameter(param);
395//
396// qCylSurfFluxCmd = new G4UIcommand("/score/quantity/cylinderSurfaceFlux",this);
397// qCylSurfFluxCmd->SetGuidance("Cylinder surface Flux Scorer.");
398// qCylSurfFluxCmd->
399// SetGuidance("[usage] /score/quantity/cylinderSurfaceFlux qname dflag unit");
400// qCylSurfFluxCmd->SetGuidance(" qname :(String) scorer name");
401// qCylSurfFluxCmd->SetGuidance(" dflag :(Int) direction flag");
402// qCylSurfFluxCmd->SetGuidance(" : 0 = Both In and Out");
403// qCylSurfFluxCmd->SetGuidance(" : 1 = In only");
404// qCylSurfFluxCmd->SetGuidance(" : 2 = Out only");
405// qCylSurfFluxCmd->SetGuidance(" wflag :(Bool) weighted");
406// qCylSurfFluxCmd->SetGuidance(" aflag :(Bool) divide by area");
407// qCylSurfFluxCmd->SetGuidance(" unit :(String) unit");
408// param = new G4UIparameter("qname",'s',false);
409// qCylSurfFluxCmd->SetParameter(param);
410// param = new G4UIparameter("dflag",'i',true);
411// param->SetDefaultValue("0");
412// qCylSurfFluxCmd->SetParameter(param);
413// param = new G4UIparameter("wflag",'b',true);
414// param->SetDefaultValue("true");
415// qCylSurfFluxCmd->SetParameter(param);
416// param = new G4UIparameter("aflag",'b',true);
417// param->SetDefaultValue("true");
418// qCylSurfFluxCmd->SetParameter(param);
419// param = new G4UIparameter("unit",'s',true);
420// param->SetDefaultValue("percm2");
421// qCylSurfFluxCmd->SetParameter(param);
422//
423 //
424 qNofCollisionCmd = new G4UIcommand("/score/quantity/nOfCollision",this);
425 qNofCollisionCmd->SetGuidance("Number of collision scorer.");
426 qNofCollisionCmd->
427 SetGuidance("[usage] /score/quantity/nOfCollision qname wflag");
428 qNofCollisionCmd->SetGuidance(" qname :(String) scorer name");
429 param = new G4UIparameter("qname",'s',false);
430 qNofCollisionCmd->SetParameter(param);
431 param = new G4UIparameter("wflag",'b',true);
432 param->SetDefaultValue("false");
433 qNofCollisionCmd->SetParameter(param);
434 //
435 qPopulationCmd = new G4UIcommand("/score/quantity/population",this);
436 qPopulationCmd->SetGuidance("Population scorer.");
437 qPopulationCmd->
438 SetGuidance("[usage] /score/quantity/population qname wflag");
439 qPopulationCmd->SetGuidance(" qname :(String) scorer name");
440 qPopulationCmd->SetGuidance(" wflag :(Bool) weighted");
441 param = new G4UIparameter("qname",'s',false);
442 qPopulationCmd->SetParameter(param);
443 param = new G4UIparameter("wflag",'b',true);
444 param->SetDefaultValue("false");
445 qPopulationCmd->SetParameter(param);
446
447 //
448 qTrackCountCmd = new G4UIcommand("/score/quantity/nOfTrack",this);
449 qTrackCountCmd->SetGuidance("Number of track scorer.");
450 qTrackCountCmd->
451 SetGuidance("[usage] /score/quantity/nOfTrack qname dflag wflag");
452 qTrackCountCmd->SetGuidance(" qname :(String) scorer name");
453 qTrackCountCmd->SetGuidance(" dflag :(Int) direction");
454 qTrackCountCmd->SetGuidance(" : 0 = Both In and Out");
455 qTrackCountCmd->SetGuidance(" : 1 = In only");
456 qTrackCountCmd->SetGuidance(" : 2 = Out only");
457 qTrackCountCmd->SetGuidance(" wflag :(Bool) weighted");
458 param = new G4UIparameter("qname",'s',false);
459 qTrackCountCmd->SetParameter(param);
460 param = new G4UIparameter("dflag",'i',true);
461 param->SetDefaultValue("0");
462 qTrackCountCmd->SetParameter(param);
463 param = new G4UIparameter("wflag",'b',true);
464 param->SetDefaultValue("false");
465 qTrackCountCmd->SetParameter(param);
466
467 //
468 qTerminationCmd = new G4UIcommand("/score/quantity/nOfTerminatedTrack",this);
469 qTerminationCmd->SetGuidance("Number of terminated tracks scorer.");
470 qTerminationCmd->
471 SetGuidance("[usage] /score/quantity/nOfTerminatedTrack qname wflag");
472 qTerminationCmd->SetGuidance(" qname :(String) scorer name");
473 qTerminationCmd->SetGuidance(" wflag :(Bool) weighted");
474 param = new G4UIparameter("qname",'s',false);
475 qTerminationCmd->SetParameter(param);
476 param = new G4UIparameter("wflag",'b',true);
477 param->SetDefaultValue("false");
478 qTerminationCmd->SetParameter(param);
479
480 //
481 qMinKinEAtGeneCmd = new G4UIcommand("/score/quantity/minKinEAtGeneration",this);
482 qMinKinEAtGeneCmd->SetGuidance("Min Kinetic Energy at Generation");
483 qMinKinEAtGeneCmd->
484 SetGuidance("[usage] /score/quantity/minKinEAtGeneration qname unit");
485 qMinKinEAtGeneCmd->SetGuidance(" qname :(String) scorer name");
486 qMinKinEAtGeneCmd->SetGuidance(" unit :(String) unit name");
487 param = new G4UIparameter("qname",'s',false);
488 qMinKinEAtGeneCmd->SetParameter(param);
489 param = new G4UIparameter("unit",'s',true);
490 param->SetDefaultUnit("MeV");
491 qMinKinEAtGeneCmd->SetParameter(param);
492 //
493 qStepCheckerCmd = new G4UIcommand("/score/quantity/stepChecker",this);
494 qStepCheckerCmd->SetGuidance("Display a comment when this PS is invoked");
495 qStepCheckerCmd->
496 SetGuidance("[usage] /score/quantity/stepChecker qname");
497 qStepCheckerCmd->SetGuidance(" qname :(String) scorer name");
498 param = new G4UIparameter("qname",'s',false);
499 qStepCheckerCmd->SetParameter(param);
500
501}
502
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetParameter(G4UIparameter *const newParameter)
Definition: G4UIcommand.hh:146
void SetGuidance(const char *aGuidance)
Definition: G4UIcommand.hh:156
void SetDefaultValue(const char *theDefaultValue)
void SetParameterRange(const char *theRange)
void SetDefaultUnit(const char *theDefaultUnit)