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