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