ECCE @ EIC Software
 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 
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 "G4UIparameter.hh"
81 #include "G4Tokenizer.hh"
82 #include "G4UnitsTable.hh"
83 
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");
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);
149  param = new G4UIparameter("unit",'s',true);
150  param->SetDefaultValue("percm2");
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.");
183  SetGuidance("[usage] /score/quantity/nOfSecondary qname");
184  qnOfSecondaryCmd->SetGuidance(" qname :(String) scorer name");
185  param = new G4UIparameter("qname",'s',false);
187  //
188  qTrackLengthCmd = new G4UIcommand("/score/quantity/trackLength",this);
189  qTrackLengthCmd->SetGuidance("Track length scorer.");
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);
199  param = new G4UIparameter("wflag",'b',true);
200  param->SetDefaultValue("false");
202  param = new G4UIparameter("kflag",'b',true);
203  param->SetDefaultValue("false");
205  param = new G4UIparameter("vflag",'b',true);
206  param->SetDefaultValue("false");
208  param = new G4UIparameter("unit",'s',true);
209  param->SetDefaultValue("mm");
211  //
212  qPassCellCurrCmd = new G4UIcommand("/score/quantity/passageCellCurrent",this);
213  qPassCellCurrCmd->SetGuidance("Passage cell current scorer.");
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);
220  param = new G4UIparameter("wflag",'b',true);
221  param->SetDefaultValue("true");
223  //
224  qPassTrackLengthCmd = new G4UIcommand("/score/quantity/passageTrackLength",this);
225  qPassTrackLengthCmd->SetGuidance("Passage track length scorer.");
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);
233  param = new G4UIparameter("wflag",'b',true);
234  param->SetDefaultValue("true");
236  param = new G4UIparameter("unit",'s',true);
237  param->SetDefaultUnit("mm");
239  //
240  qFlatSurfCurrCmd = new G4UIcommand("/score/quantity/flatSurfaceCurrent",this);
241  qFlatSurfCurrCmd->SetGuidance("Flat surface current Scorer.");
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);
254  param = new G4UIparameter("dflag",'i',true);
255  param->SetDefaultValue("0");
257  param = new G4UIparameter("wflag",'b',true);
258  param->SetDefaultValue("true");
260  param = new G4UIparameter("aflag",'b',true);
261  param->SetDefaultValue("true");
263  param = new G4UIparameter("unit",'s',true);
264  param->SetDefaultValue("percm2");
266  //
267  qFlatSurfFluxCmd = new G4UIcommand("/score/quantity/flatSurfaceFlux",this);
268  qFlatSurfFluxCmd->SetGuidance("Flat surface flux scorer.");
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);
281  param = new G4UIparameter("dflag",'i',true);
282  param->SetDefaultValue("0");
284  param = new G4UIparameter("wflag",'b',true);
285  param->SetDefaultValue("true");
287  param = new G4UIparameter("aflag",'b',true);
288  param->SetDefaultValue("true");
290  param = new G4UIparameter("unit",'s',true);
291  param->SetDefaultValue("percm2");
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.");
408  SetGuidance("[usage] /score/quantity/nOfCollision qname wflag");
409  qNofCollisionCmd->SetGuidance(" qname :(String) scorer name");
410  param = new G4UIparameter("qname",'s',false);
412  param = new G4UIparameter("wflag",'b',true);
413  param->SetDefaultValue("false");
415  //
416  qPopulationCmd = new G4UIcommand("/score/quantity/population",this);
417  qPopulationCmd->SetGuidance("Population scorer.");
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);
424  param = new G4UIparameter("wflag",'b',true);
425  param->SetDefaultValue("false");
427 
428  //
429  qTrackCountCmd = new G4UIcommand("/score/quantity/nOfTrack",this);
430  qTrackCountCmd->SetGuidance("Number of track scorer.");
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);
441  param = new G4UIparameter("dflag",'i',true);
442  param->SetDefaultValue("0");
444  param = new G4UIparameter("wflag",'b',true);
445  param->SetDefaultValue("false");
447 
448  //
449  qTerminationCmd = new G4UIcommand("/score/quantity/nOfTerminatedTrack",this);
450  qTerminationCmd->SetGuidance("Number of terminated tracks scorer.");
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);
457  param = new G4UIparameter("wflag",'b',true);
458  param->SetDefaultValue("false");
460 
461  //
462  qMinKinEAtGeneCmd = new G4UIcommand("/score/quantity/minKinEAtGeneration",this);
463  qMinKinEAtGeneCmd->SetGuidance("Min Kinetic Energy at Generation");
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);
470  param = new G4UIparameter("unit",'s',true);
471  param->SetDefaultUnit("MeV");
473  //
474  qStepCheckerCmd = new G4UIcommand("/score/quantity/stepChecker",this);
475  qStepCheckerCmd->SetGuidance("Display a comment when this PS is invoked");
477  SetGuidance("[usage] /score/quantity/stepChecker qname");
478  qStepCheckerCmd->SetGuidance(" qname :(String) scorer name");
479  param = new G4UIparameter("qname",'s',false);
481 
482 }
483