77 : fGPS(fPtclGun),fShootIon(
false)
83 gpsDirectory->SetGuidance(
"General Paricle Source control commands.");
88 sourceDirectory->SetGuidance(
"Multiple source control sub-directory");
91 addsourceCmd->SetGuidance(
"add a new source defintion to the particle gun with the specified intensity");
92 addsourceCmd->SetParameterName(
"addsource",
false,
false);
93 addsourceCmd->SetRange(
"addsource > 0.");
96 listsourceCmd->SetGuidance(
"List the defined particle sources");
99 clearsourceCmd->SetGuidance(
"Remove all the defined particle sources");
102 getsourceCmd->SetGuidance(
"Show the current source index and intensity");
105 setsourceCmd->SetGuidance(
"set the indexed source as the current one");
106 setsourceCmd->SetGuidance(
" so one can change its source definition");
107 setsourceCmd->SetParameterName(
"setsource",
false,
false);
108 setsourceCmd->SetRange(
"setsource >= 0");
111 deletesourceCmd->SetGuidance(
"delete the indexed source from the list");
112 deletesourceCmd->SetParameterName(
"deletesource",
false,
false);
113 deletesourceCmd->SetRange(
"deletesource > 0");
116 setintensityCmd->SetGuidance(
"reset the current source to the specified intensity");
117 setintensityCmd->SetParameterName(
"setintensity",
false,
false);
118 setintensityCmd->SetRange(
"setintensity > 0.");
120 multiplevertexCmd =
new G4UIcmdWithABool(
"/gps/source/multiplevertex",
this);
121 multiplevertexCmd->SetGuidance(
"true for simulaneous generation mutiple vertex");
122 multiplevertexCmd->SetGuidance(
"Default is false");
123 multiplevertexCmd->SetParameterName(
"multiplevertex",
true);
124 multiplevertexCmd->SetDefaultValue(
false);
127 flatsamplingCmd->SetGuidance(
"true for appling flat (biased) sampling among the sources");
128 flatsamplingCmd->SetGuidance(
"Default is false");
129 flatsamplingCmd->SetParameterName(
"flatsampling",
true);
130 flatsamplingCmd->SetDefaultValue(
false);
135 listCmd->SetGuidance(
"List available particles.");
136 listCmd->SetGuidance(
" Invoke G4ParticleTable.");
139 particleCmd->SetGuidance(
"Set particle to be generated.");
140 particleCmd->SetGuidance(
" (geantino is default)");
141 particleCmd->SetGuidance(
" (ion can be specified for shooting ions)");
142 particleCmd->SetParameterName(
"particleName",
true);
143 particleCmd->SetDefaultValue(
"geantino");
145 G4int nPtcl = particleTable->entries();
146 for(
G4int i=0;i<nPtcl;i++)
148 candidateList += particleTable->GetParticleName(i);
149 candidateList +=
" ";
151 candidateList +=
"ion ";
152 particleCmd->SetCandidates(candidateList);
155 directionCmd->SetGuidance(
"Set momentum direction.");
156 directionCmd->SetGuidance(
"Direction needs not to be a unit vector.");
157 directionCmd->SetParameterName(
"Px",
"Py",
"Pz",
false,
false);
158 directionCmd->SetRange(
"Px != 0 || Py != 0 || Pz != 0");
161 energyCmd->SetGuidance(
"Set kinetic energy.");
162 energyCmd->SetParameterName(
"Energy",
false,
false);
163 energyCmd->SetDefaultUnit(
"GeV");
168 positionCmd->SetGuidance(
"Set starting position of the particle.");
169 positionCmd->SetParameterName(
"X",
"Y",
"Z",
false,
false);
170 positionCmd->SetDefaultUnit(
"cm");
175 ionCmd->SetGuidance(
"Set properties of ion to be generated.");
176 ionCmd->SetGuidance(
"[usage] /gps/ion Z A Q E");
177 ionCmd->SetGuidance(
" Z:(int) AtomicNumber");
178 ionCmd->SetGuidance(
" A:(int) AtomicMass");
179 ionCmd->SetGuidance(
" Q:(int) Charge of Ion (in unit of e)");
180 ionCmd->SetGuidance(
" E:(double) Excitation energy (in keV)");
185 ionCmd->SetParameter(param);
188 ionCmd->SetParameter(param);
191 ionCmd->SetParameter(param);
194 ionCmd->SetParameter(param);
198 timeCmd->SetGuidance(
"Set initial time of the particle.");
199 timeCmd->SetParameterName(
"t0",
false,
false);
200 timeCmd->SetDefaultUnit(
"ns");
205 polCmd->SetGuidance(
"Set polarization.");
206 polCmd->SetParameterName(
"Px",
"Py",
"Pz",
false,
false);
207 polCmd->SetRange(
"Px>=-1.&&Px<=1.&&Py>=-1.&&Py<=1.&&Pz>=-1.&&Pz<=1.");
210 numberCmd->SetGuidance(
"Set number of particles to be generated per vertex.");
211 numberCmd->SetParameterName(
"N",
false,
false);
212 numberCmd->SetRange(
"N>0");
216 verbosityCmd->SetGuidance(
"Set Verbose level for GPS");
217 verbosityCmd->SetGuidance(
" 0 : Silent");
218 verbosityCmd->SetGuidance(
" 1 : Limited information");
219 verbosityCmd->SetGuidance(
" 2 : Detailed information");
220 verbosityCmd->SetParameterName(
"level",
false);
221 verbosityCmd->SetRange(
"level>=0 && level <=2");
226 positionDirectory->SetGuidance(
"Positional commands sub-directory");
229 typeCmd1->SetGuidance(
"Sets source distribution type.");
230 typeCmd1->SetGuidance(
"Either Point, Beam, Plane, Surface or Volume");
231 typeCmd1->SetParameterName(
"DisType",
false,
false);
232 typeCmd1->SetDefaultValue(
"Point");
233 typeCmd1->SetCandidates(
"Point Beam Plane Surface Volume");
236 shapeCmd1->SetGuidance(
"Sets source shape for Plan, Surface or Volume type source.");
237 shapeCmd1->SetParameterName(
"Shape",
false,
false);
238 shapeCmd1->SetDefaultValue(
"NULL");
239 shapeCmd1->SetCandidates(
"Circle Annulus Ellipse Square Rectangle Sphere Ellipsoid Cylinder Para");
242 centreCmd1->SetGuidance(
"Set centre coordinates of source.");
243 centreCmd1->SetGuidance(
" same effect as the /gps/position command");
244 centreCmd1->SetParameterName(
"X",
"Y",
"Z",
false,
false);
245 centreCmd1->SetDefaultUnit(
"cm");
249 posrot1Cmd1->SetGuidance(
"Set the 1st vector defining the rotation matrix'.");
250 posrot1Cmd1->SetGuidance(
"It does not need to be a unit vector.");
251 posrot1Cmd1->SetParameterName(
"R1x",
"R1y",
"R1z",
false,
false);
252 posrot1Cmd1->SetRange(
"R1x != 0 || R1y != 0 || R1z != 0");
255 posrot2Cmd1->SetGuidance(
"Set the 2nd vector defining the rotation matrix'.");
256 posrot2Cmd1->SetGuidance(
"It does not need to be a unit vector.");
257 posrot2Cmd1->SetParameterName(
"R2x",
"R2y",
"R2z",
false,
false);
258 posrot2Cmd1->SetRange(
"R2x != 0 || R2y != 0 || R2z != 0");
261 halfxCmd1->SetGuidance(
"Set x half length of source.");
262 halfxCmd1->SetParameterName(
"Halfx",
false,
false);
263 halfxCmd1->SetDefaultUnit(
"cm");
267 halfyCmd1->SetGuidance(
"Set y half length of source.");
268 halfyCmd1->SetParameterName(
"Halfy",
false,
false);
269 halfyCmd1->SetDefaultUnit(
"cm");
273 halfzCmd1->SetGuidance(
"Set z half length of source.");
274 halfzCmd1->SetParameterName(
"Halfz",
false,
false);
275 halfzCmd1->SetDefaultUnit(
"cm");
279 radiusCmd1->SetGuidance(
"Set radius of source.");
280 radiusCmd1->SetParameterName(
"Radius",
false,
false);
281 radiusCmd1->SetDefaultUnit(
"cm");
285 radius0Cmd1->SetGuidance(
"Set inner radius of source when required.");
286 radius0Cmd1->SetParameterName(
"Radius0",
false,
false);
287 radius0Cmd1->SetDefaultUnit(
"cm");
291 possigmarCmd1->SetGuidance(
"Set standard deviation in radial of the beam positional profile");
292 possigmarCmd1->SetGuidance(
" applicable to Beam type source only");
293 possigmarCmd1->SetParameterName(
"Sigmar",
false,
false);
294 possigmarCmd1->SetDefaultUnit(
"cm");
298 possigmaxCmd1->SetGuidance(
"Set standard deviation of beam positional profile in x-dir");
299 possigmaxCmd1->SetGuidance(
" applicable to Beam type source only");
300 possigmaxCmd1->SetParameterName(
"Sigmax",
false,
false);
301 possigmaxCmd1->SetDefaultUnit(
"cm");
305 possigmayCmd1->SetGuidance(
"Set standard deviation of beam positional profile in y-dir");
306 possigmayCmd1->SetGuidance(
" applicable to Beam type source only");
307 possigmayCmd1->SetParameterName(
"Sigmay",
false,
false);
308 possigmayCmd1->SetDefaultUnit(
"cm");
312 paralpCmd1->SetGuidance(
"Angle from y-axis of y' in Para");
313 paralpCmd1->SetParameterName(
"paralp",
false,
false);
314 paralpCmd1->SetDefaultUnit(
"rad");
318 partheCmd1->SetGuidance(
"Polar angle through centres of z faces");
319 partheCmd1->SetParameterName(
"parthe",
false,
false);
320 partheCmd1->SetDefaultUnit(
"rad");
324 parphiCmd1->SetGuidance(
"Azimuth angle through centres of z faces");
325 parphiCmd1->SetParameterName(
"parphi",
false,
false);
326 parphiCmd1->SetDefaultUnit(
"rad");
330 confineCmd1->SetGuidance(
"Confine source to volume (NULL to unset).");
331 confineCmd1->SetGuidance(
"usage: confine VolName");
332 confineCmd1->SetParameterName(
"VolName",
false,
false);
333 confineCmd1->SetDefaultValue(
"NULL");
337 typeCmd->SetGuidance(
"Sets source distribution type. (obsolete!)");
338 typeCmd->SetGuidance(
"Either Point, Beam, Plane, Surface or Volume");
339 typeCmd->SetParameterName(
"DisType",
false,
false);
340 typeCmd->SetDefaultValue(
"Point");
341 typeCmd->SetCandidates(
"Point Beam Plane Surface Volume");
344 shapeCmd->SetGuidance(
"Sets source shape type.(obsolete!)");
345 shapeCmd->SetParameterName(
"Shape",
false,
false);
346 shapeCmd->SetDefaultValue(
"NULL");
347 shapeCmd->SetCandidates(
"Circle Annulus Ellipse Square Rectangle Sphere Ellipsoid Cylinder Para");
350 centreCmd->SetGuidance(
"Set centre coordinates of source.(obsolete!)");
351 centreCmd->SetParameterName(
"X",
"Y",
"Z",
false,
false);
352 centreCmd->SetDefaultUnit(
"cm");
356 posrot1Cmd->SetGuidance(
"Set rotation matrix of x'.(obsolete!)");
357 posrot1Cmd->SetGuidance(
"Posrot1 does not need to be a unit vector.");
358 posrot1Cmd->SetParameterName(
"R1x",
"R1y",
"R1z",
false,
false);
359 posrot1Cmd->SetRange(
"R1x != 0 || R1y != 0 || R1z != 0");
362 posrot2Cmd->SetGuidance(
"Set rotation matrix of y'.(obsolete!)");
363 posrot2Cmd->SetGuidance(
"Posrot2 does not need to be a unit vector.");
364 posrot2Cmd->SetParameterName(
"R2x",
"R2y",
"R2z",
false,
false);
365 posrot2Cmd->SetRange(
"R2x != 0 || R2y != 0 || R2z != 0");
368 halfxCmd->SetGuidance(
"Set x half length of source.(obsolete!)");
369 halfxCmd->SetParameterName(
"Halfx",
false,
false);
370 halfxCmd->SetDefaultUnit(
"cm");
374 halfyCmd->SetGuidance(
"Set y half length of source.(obsolete!)");
375 halfyCmd->SetParameterName(
"Halfy",
false,
false);
376 halfyCmd->SetDefaultUnit(
"cm");
380 halfzCmd->SetGuidance(
"Set z half length of source.(obsolete!)");
381 halfzCmd->SetParameterName(
"Halfz",
false,
false);
382 halfzCmd->SetDefaultUnit(
"cm");
386 radiusCmd->SetGuidance(
"Set radius of source.(obsolete!)");
387 radiusCmd->SetParameterName(
"Radius",
false,
false);
388 radiusCmd->SetDefaultUnit(
"cm");
392 radius0Cmd->SetGuidance(
"Set inner radius of source.(obsolete!)");
393 radius0Cmd->SetParameterName(
"Radius0",
false,
false);
394 radius0Cmd->SetDefaultUnit(
"cm");
398 possigmarCmd->SetGuidance(
"Set standard deviation of beam position in radial(obsolete!)");
399 possigmarCmd->SetParameterName(
"Sigmar",
false,
false);
400 possigmarCmd->SetDefaultUnit(
"cm");
404 possigmaxCmd->SetGuidance(
"Set standard deviation of beam position in x-dir(obsolete!)");
405 possigmaxCmd->SetParameterName(
"Sigmax",
false,
false);
406 possigmaxCmd->SetDefaultUnit(
"cm");
410 possigmayCmd->SetGuidance(
"Set standard deviation of beam position in y-dir(obsolete!)");
411 possigmayCmd->SetParameterName(
"Sigmay",
false,
false);
412 possigmayCmd->SetDefaultUnit(
"cm");
416 paralpCmd->SetGuidance(
"Angle from y-axis of y' in Para(obsolete!)");
417 paralpCmd->SetParameterName(
"paralp",
false,
false);
418 paralpCmd->SetDefaultUnit(
"rad");
422 partheCmd->SetGuidance(
"Polar angle through centres of z faces(obsolete!)");
423 partheCmd->SetParameterName(
"parthe",
false,
false);
424 partheCmd->SetDefaultUnit(
"rad");
428 parphiCmd->SetGuidance(
"Azimuth angle through centres of z faces(obsolete!)");
429 parphiCmd->SetParameterName(
"parphi",
false,
false);
430 parphiCmd->SetDefaultUnit(
"rad");
434 confineCmd->SetGuidance(
"Confine source to volume (NULL to unset)(obsolete!) .");
435 confineCmd->SetGuidance(
"usage: confine VolName");
436 confineCmd->SetParameterName(
"VolName",
false,
false);
437 confineCmd->SetDefaultValue(
"NULL");
441 angularDirectory->SetGuidance(
"Angular commands sub-directory");
444 angtypeCmd1->SetGuidance(
"Sets angular source distribution type");
445 angtypeCmd1->SetGuidance(
"Possible variables are: iso, cos, planar, beam1d, beam2d, focused or user");
446 angtypeCmd1->SetParameterName(
"AngDis",
false,
false);
447 angtypeCmd1->SetDefaultValue(
"iso");
448 angtypeCmd1->SetCandidates(
"iso cos planar beam1d beam2d focused user");
451 angrot1Cmd1->SetGuidance(
"Sets the 1st vector for angular distribution rotation matrix");
452 angrot1Cmd1->SetGuidance(
"Need not be a unit vector");
453 angrot1Cmd1->SetParameterName(
"AR1x",
"AR1y",
"AR1z",
false,
false);
454 angrot1Cmd1->SetRange(
"AR1x != 0 || AR1y != 0 || AR1z != 0");
457 angrot2Cmd1->SetGuidance(
"Sets the 2nd vector for angular distribution rotation matrix");
458 angrot2Cmd1->SetGuidance(
"Need not be a unit vector");
459 angrot2Cmd1->SetParameterName(
"AR2x",
"AR2y",
"AR2z",
false,
false);
460 angrot2Cmd1->SetRange(
"AR2x != 0 || AR2y != 0 || AR2z != 0");
463 minthetaCmd1->SetGuidance(
"Set minimum theta");
464 minthetaCmd1->SetParameterName(
"MinTheta",
false,
false);
465 minthetaCmd1->SetDefaultValue(0.);
466 minthetaCmd1->SetDefaultUnit(
"rad");
470 maxthetaCmd1->SetGuidance(
"Set maximum theta");
471 maxthetaCmd1->SetParameterName(
"MaxTheta",
false,
false);
472 maxthetaCmd1->SetDefaultValue(
pi);
473 maxthetaCmd1->SetDefaultUnit(
"rad");
477 minphiCmd1->SetGuidance(
"Set minimum phi");
478 minphiCmd1->SetParameterName(
"MinPhi",
false,
false);
479 minphiCmd1->SetDefaultUnit(
"rad");
483 maxphiCmd1->SetGuidance(
"Set maximum phi");
484 maxphiCmd1->SetParameterName(
"MaxPhi",
false,
false);
485 maxphiCmd1->SetDefaultValue(
pi);
486 maxphiCmd1->SetDefaultUnit(
"rad");
490 angsigmarCmd1->SetGuidance(
"Set standard deviation in direction for 1D beam.");
491 angsigmarCmd1->SetParameterName(
"Sigmara",
false,
false);
492 angsigmarCmd1->SetDefaultUnit(
"rad");
496 angsigmaxCmd1->SetGuidance(
"Set standard deviation in direction in x-direc. for 2D beam");
497 angsigmaxCmd1->SetParameterName(
"Sigmaxa",
false,
false);
498 angsigmaxCmd1->SetDefaultUnit(
"rad");
502 angsigmayCmd1->SetGuidance(
"Set standard deviation in direction in y-direc. for 2D beam");
503 angsigmayCmd1->SetParameterName(
"Sigmaya",
false,
false);
504 angsigmayCmd1->SetDefaultUnit(
"rad");
508 angfocusCmd->SetGuidance(
"Set the focusing point for the beam");
509 angfocusCmd->SetParameterName(
"x",
"y",
"z",
false,
false);
510 angfocusCmd->SetDefaultUnit(
"cm");
514 useuserangaxisCmd1->SetGuidance(
"true for using user defined angular co-ordinates");
515 useuserangaxisCmd1->SetGuidance(
"Default is false");
516 useuserangaxisCmd1->SetParameterName(
"useuserangaxis",
true);
517 useuserangaxisCmd1->SetDefaultValue(
false);
520 surfnormCmd1->SetGuidance(
"Makes a user-defined distribution with respect to surface normals rather than x,y,z axes.");
521 surfnormCmd1->SetGuidance(
"Default is false");
522 surfnormCmd1->SetParameterName(
"surfnorm",
true);
523 surfnormCmd1->SetDefaultValue(
false);
527 angtypeCmd->SetGuidance(
"Sets angular source distribution type (obsolete!)");
528 angtypeCmd->SetGuidance(
"Possible variables are: iso, cos planar beam1d beam2d or user");
529 angtypeCmd->SetParameterName(
"AngDis",
false,
false);
530 angtypeCmd->SetDefaultValue(
"iso");
531 angtypeCmd->SetCandidates(
"iso cos planar beam1d beam2d user");
534 angrot1Cmd->SetGuidance(
"Sets the x' vector for angular distribution(obsolete!) ");
535 angrot1Cmd->SetGuidance(
"Need not be a unit vector");
536 angrot1Cmd->SetParameterName(
"AR1x",
"AR1y",
"AR1z",
false,
false);
537 angrot1Cmd->SetRange(
"AR1x != 0 || AR1y != 0 || AR1z != 0");
540 angrot2Cmd->SetGuidance(
"Sets the y' vector for angular distribution (obsolete!)");
541 angrot2Cmd->SetGuidance(
"Need not be a unit vector");
542 angrot2Cmd->SetParameterName(
"AR2x",
"AR2y",
"AR2z",
false,
false);
543 angrot2Cmd->SetRange(
"AR2x != 0 || AR2y != 0 || AR2z != 0");
546 minthetaCmd->SetGuidance(
"Set minimum theta (obsolete!)");
547 minthetaCmd->SetParameterName(
"MinTheta",
false,
false);
548 minthetaCmd->SetDefaultUnit(
"rad");
552 maxthetaCmd->SetGuidance(
"Set maximum theta (obsolete!)");
553 maxthetaCmd->SetParameterName(
"MaxTheta",
false,
false);
554 maxthetaCmd->SetDefaultValue(3.1416);
555 maxthetaCmd->SetDefaultUnit(
"rad");
559 minphiCmd->SetGuidance(
"Set minimum phi (obsolete!)");
560 minphiCmd->SetParameterName(
"MinPhi",
false,
false);
561 minphiCmd->SetDefaultUnit(
"rad");
565 maxphiCmd->SetGuidance(
"Set maximum phi(obsolete!)");
566 maxphiCmd->SetParameterName(
"MaxPhi",
false,
false);
567 maxphiCmd->SetDefaultUnit(
"rad");
571 angsigmarCmd->SetGuidance(
"Set standard deviation of beam direction in radial(obsolete!).");
572 angsigmarCmd->SetParameterName(
"Sigmara",
false,
false);
573 angsigmarCmd->SetDefaultUnit(
"rad");
577 angsigmaxCmd->SetGuidance(
"Set standard deviation of beam direction in x-direc(obsolete!).");
578 angsigmaxCmd->SetParameterName(
"Sigmaxa",
false,
false);
579 angsigmaxCmd->SetDefaultUnit(
"rad");
583 angsigmayCmd->SetGuidance(
"Set standard deviation of beam direction in y-direc.(obsolete!)");
584 angsigmayCmd->SetParameterName(
"Sigmaya",
false,
false);
585 angsigmayCmd->SetDefaultUnit(
"rad");
589 useuserangaxisCmd->SetGuidance(
"true for using user defined angular co-ordinates(obsolete!)");
590 useuserangaxisCmd->SetGuidance(
"Default is false");
591 useuserangaxisCmd->SetParameterName(
"useuserangaxis",
true);
592 useuserangaxisCmd->SetDefaultValue(
false);
595 surfnormCmd->SetGuidance(
"Makes a user-defined distribution with respect to surface normals rather than x,y,z axes (obsolete!).");
596 surfnormCmd->SetGuidance(
"Default is false");
597 surfnormCmd->SetParameterName(
"surfnorm",
true);
598 surfnormCmd->SetDefaultValue(
false);
603 energyDirectory->SetGuidance(
"Spectral commands sub-directory");
606 energytypeCmd1->SetGuidance(
"Sets energy distribution type");
607 energytypeCmd1->SetParameterName(
"EnergyDis",
false,
false);
608 energytypeCmd1->SetDefaultValue(
"Mono");
609 energytypeCmd1->SetCandidates(
"Mono Lin Pow Exp Gauss Brem Bbody Cdg User Arb Epn");
612 eminCmd1->SetGuidance(
"Sets minimum energy");
613 eminCmd1->SetParameterName(
"emin",
false,
false);
614 eminCmd1->SetDefaultUnit(
"keV");
618 emaxCmd1->SetGuidance(
"Sets maximum energy");
619 emaxCmd1->SetParameterName(
"emax",
false,
false);
620 emaxCmd1->SetDefaultUnit(
"keV");
624 monoenergyCmd1->SetGuidance(
"Sets a monocromatic energy (same as gps/energy)");
625 monoenergyCmd1->SetParameterName(
"monoenergy",
false,
false);
626 monoenergyCmd1->SetDefaultUnit(
"keV");
630 engsigmaCmd1->SetGuidance(
"Sets the standard deviation for Gaussian energy dist.");
631 engsigmaCmd1->SetParameterName(
"Sigmae",
false,
false);
632 engsigmaCmd1->SetDefaultUnit(
"keV");
636 alphaCmd1->SetGuidance(
"Sets Alpha (index) for power-law energy dist.");
637 alphaCmd1->SetParameterName(
"alpha",
false,
false);
640 tempCmd1->SetGuidance(
"Sets the temperature for Brem and BBody distributions (in Kelvin)");
641 tempCmd1->SetParameterName(
"temp",
false,
false);
644 ezeroCmd1->SetGuidance(
"Sets E_0 for exponential distribution (in MeV)");
645 ezeroCmd1->SetParameterName(
"ezero",
false,
false);
648 gradientCmd1->SetGuidance(
"Sets the gradient for Lin distribution (in 1/MeV)");
649 gradientCmd1->SetParameterName(
"gradient",
false,
false);
652 interceptCmd1->SetGuidance(
"Sets the intercept for Lin distributions (in MeV)");
653 interceptCmd1->SetParameterName(
"intercept",
false,
false);
656 arbeintCmd1->SetGuidance(
"Set the power-law index for the energy sampling distri. )");
657 arbeintCmd1->SetParameterName(
"arbeint",
false,
false);
660 calculateCmd1->SetGuidance(
"Calculates the distributions for Cdg and BBody");
663 energyspecCmd1->SetGuidance(
"True for energy and false for momentum spectra");
664 energyspecCmd1->SetParameterName(
"energyspec",
true);
665 energyspecCmd1->SetDefaultValue(
true);
668 diffspecCmd1->SetGuidance(
"True for differential and flase for integral spectra");
669 diffspecCmd1->SetParameterName(
"diffspec",
true);
670 diffspecCmd1->SetDefaultValue(
true);
674 energytypeCmd->SetGuidance(
"Sets energy distribution type (obsolete!)");
675 energytypeCmd->SetParameterName(
"EnergyDis",
false,
false);
676 energytypeCmd->SetDefaultValue(
"Mono");
677 energytypeCmd->SetCandidates(
"Mono Lin Pow Exp Gauss Brem Bbody Cdg User Arb Epn");
680 eminCmd->SetGuidance(
"Sets Emin (obsolete!)");
681 eminCmd->SetParameterName(
"emin",
false,
false);
682 eminCmd->SetDefaultUnit(
"keV");
686 emaxCmd->SetGuidance(
"Sets Emax (obsolete!)");
687 emaxCmd->SetParameterName(
"emax",
false,
false);
688 emaxCmd->SetDefaultUnit(
"keV");
692 monoenergyCmd->SetGuidance(
"Sets Monoenergy (obsolete, use gps/energy instead!)");
693 monoenergyCmd->SetParameterName(
"monoenergy",
false,
false);
694 monoenergyCmd->SetDefaultUnit(
"keV");
698 engsigmaCmd->SetGuidance(
"Sets the standard deviation for Gaussian energy dist.(obsolete!)");
699 engsigmaCmd->SetParameterName(
"Sigmae",
false,
false);
700 engsigmaCmd->SetDefaultUnit(
"keV");
704 alphaCmd->SetGuidance(
"Sets Alpha (index) for power-law energy dist(obsolete!).");
705 alphaCmd->SetParameterName(
"alpha",
false,
false);
708 tempCmd->SetGuidance(
"Sets the temperature for Brem and BBody (in Kelvin)(obsolete!)");
709 tempCmd->SetParameterName(
"temp",
false,
false);
712 ezeroCmd->SetGuidance(
"Sets ezero exponential distributions (in MeV)(obsolete!)");
713 ezeroCmd->SetParameterName(
"ezero",
false,
false);
716 gradientCmd->SetGuidance(
"Sets the gradient for Lin distributions (in 1/MeV)(obsolete!)");
717 gradientCmd->SetParameterName(
"gradient",
false,
false);
720 interceptCmd->SetGuidance(
"Sets the intercept for Lin distributions (in MeV)(obsolete!)");
721 interceptCmd->SetParameterName(
"intercept",
false,
false);
724 calculateCmd->SetGuidance(
"Calculates distributions for Cdg and BBody(obsolete!)");
727 energyspecCmd->SetGuidance(
"True for energy and false for momentum spectra(obsolete!)");
728 energyspecCmd->SetParameterName(
"energyspec",
true);
729 energyspecCmd->SetDefaultValue(
true);
732 diffspecCmd->SetGuidance(
"True for differential and flase for integral spectra(obsolete!)");
733 diffspecCmd->SetParameterName(
"diffspec",
true);
734 diffspecCmd->SetDefaultValue(
true);
738 histDirectory->SetGuidance(
"Histogram, biasing commands sub-directory");
741 histnameCmd1->SetGuidance(
"Sets histogram type");
742 histnameCmd1->SetParameterName(
"HistType",
false,
false);
743 histnameCmd1->SetDefaultValue(
"biasx");
744 histnameCmd1->SetCandidates(
"biasx biasy biasz biast biasp biase biaspt biaspp theta phi energy arb epn");
747 resethistCmd1->SetGuidance(
"Reset (clean) the histogram ");
748 resethistCmd1->SetParameterName(
"HistType",
false,
false);
749 resethistCmd1->SetDefaultValue(
"energy");
750 resethistCmd1->SetCandidates(
"biasx biasy biasz biast biasp biase biaspt biaspp theta phi energy arb epn");
753 histpointCmd1->SetGuidance(
"Allows user to define a histogram");
754 histpointCmd1->SetGuidance(
"Enter: Ehi Weight");
755 histpointCmd1->SetParameterName(
"Ehi",
"Weight",
"Junk",
true,
true);
756 histpointCmd1->SetRange(
"Ehi >= 0. && Weight >= 0.");
759 histfileCmd1->SetGuidance(
"import the arb energy hist in an ASCII file");
760 histfileCmd1->SetParameterName(
"HistFile",
false,
false);
763 arbintCmd1->SetGuidance(
"Sets the interpolation method for arbitrary distribution.");
764 arbintCmd1->SetParameterName(
"int",
false,
false);
765 arbintCmd1->SetDefaultValue(
"Lin");
766 arbintCmd1->SetCandidates(
"Lin Log Exp Spline");
770 histnameCmd->SetGuidance(
"Sets histogram type (obsolete!)");
771 histnameCmd->SetParameterName(
"HistType",
false,
false);
772 histnameCmd->SetDefaultValue(
"biasx");
773 histnameCmd->SetCandidates(
"biasx biasy biasz biast biasp biase biaspt biaspp theta phi energy arb epn");
777 resethistCmd->SetGuidance(
"Re-Set the histogram (obsolete!)");
778 resethistCmd->SetParameterName(
"HistType",
false,
false);
779 resethistCmd->SetDefaultValue(
"energy");
780 resethistCmd->SetCandidates(
"biasx biasy biasz biast biasp biase biaspt biaspp theta phi energy arb epn");
783 histpointCmd->SetGuidance(
"Allows user to define a histogram (obsolete!)");
784 histpointCmd->SetGuidance(
"Enter: Ehi Weight");
785 histpointCmd->SetParameterName(
"Ehi",
"Weight",
"Junk",
false,
false);
786 histpointCmd->SetRange(
"Ehi >= 0. && Weight >= 0.");
789 arbintCmd->SetGuidance(
"Sets Arbitrary Interpolation type.(obsolete!) ");
790 arbintCmd->SetParameterName(
"int",
false,
false);
791 arbintCmd->SetDefaultValue(
"NULL");
792 arbintCmd->SetCandidates(
"Lin Log Exp Spline");
798 delete positionDirectory;
826 delete possigmarCmd1;
827 delete possigmaxCmd1;
828 delete possigmayCmd1;
834 delete angularDirectory;
845 delete useuserangaxisCmd;
854 delete angsigmarCmd1;
855 delete angsigmaxCmd1;
856 delete angsigmayCmd1;
858 delete useuserangaxisCmd1;
861 delete energyDirectory;
862 delete energytypeCmd;
865 delete monoenergyCmd;
873 delete energyspecCmd;
875 delete energytypeCmd1;
878 delete monoenergyCmd1;
884 delete interceptCmd1;
886 delete calculateCmd1;
887 delete energyspecCmd1;
890 delete histDirectory;
896 delete resethistCmd1;
897 delete histpointCmd1;
912 delete sourceDirectory;
914 delete listsourceCmd;
915 delete clearsourceCmd;
918 delete setintensityCmd;
919 delete deletesourceCmd;
920 delete multiplevertexCmd;
921 delete flatsamplingCmd;
929 if(command == typeCmd)
932 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
933 <<
" The command is obsolete and will be removed soon." <<
G4endl
934 <<
" Please try to use the new structured commands!" <<
G4endl;
936 else if(command == shapeCmd)
939 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
940 <<
" The command is obsolete and will be removed soon." <<
G4endl
941 <<
" Please try to use the new structured commands!" <<
G4endl;
943 else if(command == centreCmd)
946 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
947 <<
" The command is obsolete and will be removed soon." <<
G4endl
948 <<
" Please try to use the new structured commands!" <<
G4endl;
950 else if(command == posrot1Cmd)
953 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
954 <<
" The command is obsolete and will be removed soon." <<
G4endl
955 <<
" Please try to use the new structured commands!" <<
G4endl;
957 else if(command == posrot2Cmd)
960 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
961 <<
" The command is obsolete and will be removed soon." <<
G4endl
962 <<
" Please try to use the new structured commands!" <<
G4endl;
964 else if(command == halfxCmd)
967 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
968 <<
" The command is obsolete and will be removed soon." <<
G4endl
969 <<
" Please try to use the new structured commands!" <<
G4endl;
971 else if(command == halfyCmd)
974 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
975 <<
" The command is obsolete and will be removed soon." <<
G4endl
976 <<
" Please try to use the new structured commands!" <<
G4endl;
978 else if(command == halfzCmd)
981 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
982 <<
" The command is obsolete and will be removed soon." <<
G4endl
983 <<
" Please try to use the new structured commands!" <<
G4endl;
985 else if(command == radiusCmd)
988 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
989 <<
" The command is obsolete and will be removed soon." <<
G4endl
990 <<
" Please try to use the new structured commands!" <<
G4endl;
992 else if(command == radius0Cmd)
995 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
996 <<
" The command is obsolete and will be removed soon." <<
G4endl
997 <<
" Please try to use the new structured commands!" <<
G4endl;
999 else if(command == possigmarCmd)
1002 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1003 <<
" The command is obsolete and will be removed soon." <<
G4endl
1004 <<
" Please try to use the new structured commands!" <<
G4endl;
1006 else if(command == possigmaxCmd)
1009 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1010 <<
" The command is obsolete and will be removed soon." <<
G4endl
1011 <<
" Please try to use the new structured commands!" <<
G4endl;
1013 else if(command == possigmayCmd)
1016 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1017 <<
" The command is obsolete and will be removed soon." <<
G4endl
1018 <<
" Please try to use the new structured commands!" <<
G4endl;
1020 else if(command == paralpCmd)
1023 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1024 <<
" The command is obsolete and will be removed soon." <<
G4endl
1025 <<
" Please try to use the new structured commands!" <<
G4endl;
1027 else if(command == partheCmd)
1030 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1031 <<
" The command is obsolete and will be removed soon." <<
G4endl
1032 <<
" Please try to use the new structured commands!" <<
G4endl;
1034 else if(command == parphiCmd)
1037 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1038 <<
" The command is obsolete and will be removed soon." <<
G4endl
1039 <<
" Please try to use the new structured commands!" <<
G4endl;
1041 else if(command == confineCmd)
1044 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1045 <<
" The command is obsolete and will be removed soon." <<
G4endl
1046 <<
" Please try to use the new structured commands!" <<
G4endl;
1048 else if(command == angtypeCmd)
1051 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1052 <<
" The command is obsolete and will be removed soon." <<
G4endl
1053 <<
" Please try to use the new structured commands!" <<
G4endl;
1055 else if(command == angrot1Cmd)
1059 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1060 <<
" The command is obsolete and will be removed soon." <<
G4endl
1061 <<
" Please try to use the new structured commands!" <<
G4endl;
1063 else if(command == angrot2Cmd)
1067 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1068 <<
" The command is obsolete and will be removed soon." <<
G4endl
1069 <<
" Please try to use the new structured commands!" <<
G4endl;
1071 else if(command == minthetaCmd)
1074 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1075 <<
" The command is obsolete and will be removed soon." <<
G4endl
1076 <<
" Please try to use the new structured commands!" <<
G4endl;
1078 else if(command == minphiCmd)
1081 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1082 <<
" The command is obsolete and will be removed soon." <<
G4endl
1083 <<
" Please try to use the new structured commands!" <<
G4endl;
1085 else if(command == maxthetaCmd)
1088 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1089 <<
" The command is obsolete and will be removed soon." <<
G4endl
1090 <<
" Please try to use the new structured commands!" <<
G4endl;
1092 else if(command == maxphiCmd)
1095 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1096 <<
" The command is obsolete and will be removed soon." <<
G4endl
1097 <<
" Please try to use the new structured commands!" <<
G4endl;
1099 else if(command == angsigmarCmd)
1102 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1103 <<
" The command is obsolete and will be removed soon." <<
G4endl
1104 <<
" Please try to use the new structured commands!" <<
G4endl;
1106 else if(command == angsigmaxCmd)
1109 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1110 <<
" The command is obsolete and will be removed soon." <<
G4endl
1111 <<
" Please try to use the new structured commands!" <<
G4endl;
1113 else if(command == angsigmayCmd)
1116 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1117 <<
" The command is obsolete and will be removed soon." <<
G4endl
1118 <<
" Please try to use the new structured commands!" <<
G4endl;
1120 else if(command == useuserangaxisCmd)
1123 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1124 <<
" The command is obsolete and will be removed soon." <<
G4endl
1125 <<
" Please try to use the new structured commands!" <<
G4endl;
1127 else if(command == surfnormCmd)
1130 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1131 <<
" The command is obsolete and will be removed soon." <<
G4endl
1132 <<
" Please try to use the new structured commands!" <<
G4endl;
1134 else if(command == energytypeCmd)
1137 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1138 <<
" The command is obsolete and will be removed soon." <<
G4endl
1139 <<
" Please try to use the new structured commands!" <<
G4endl;
1141 else if(command == eminCmd)
1144 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1145 <<
" The command is obsolete and will be removed soon." <<
G4endl
1146 <<
" Please try to use the new structured commands!" <<
G4endl;
1148 else if(command == emaxCmd)
1151 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1152 <<
" The command is obsolete and will be removed soon." <<
G4endl
1153 <<
" Please try to use the new structured commands!" <<
G4endl;
1155 else if(command == monoenergyCmd)
1158 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1159 <<
" The command is obsolete and will be removed soon." <<
G4endl
1160 <<
" Please try to use the new structured commands!" <<
G4endl;
1162 else if(command == engsigmaCmd)
1165 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1166 <<
" The command is obsolete and will be removed soon." <<
G4endl
1167 <<
" Please try to use the new structured commands!" <<
G4endl;
1169 else if(command == alphaCmd)
1172 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1173 <<
" The command is obsolete and will be removed soon." <<
G4endl
1174 <<
" Please try to use the new structured commands!" <<
G4endl;
1176 else if(command == tempCmd)
1179 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1180 <<
" The command is obsolete and will be removed soon." <<
G4endl
1181 <<
" Please try to use the new structured commands!" <<
G4endl;
1183 else if(command == ezeroCmd)
1186 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1187 <<
" The command is obsolete and will be removed soon." <<
G4endl
1188 <<
" Please try to use the new structured commands!" <<
G4endl;
1190 else if(command == gradientCmd)
1193 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1194 <<
" The command is obsolete and will be removed soon." <<
G4endl
1195 <<
" Please try to use the new structured commands!" <<
G4endl;
1197 else if(command == interceptCmd)
1200 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1201 <<
" The command is obsolete and will be removed soon." <<
G4endl
1202 <<
" Please try to use the new structured commands!" <<
G4endl;
1204 else if(command == calculateCmd)
1207 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1208 <<
" The command is obsolete and will be removed soon." <<
G4endl
1209 <<
" Please try to use the new structured commands!" <<
G4endl;
1211 else if(command == energyspecCmd)
1214 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1215 <<
" The command is obsolete and will be removed soon." <<
G4endl
1216 <<
" Please try to use the new structured commands!" <<
G4endl;
1218 else if(command == diffspecCmd)
1221 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1222 <<
" The command is obsolete and will be removed soon." <<
G4endl
1223 <<
" Please try to use the new structured commands!" <<
G4endl;
1225 else if(command == histnameCmd)
1227 histtype = newValues;
1228 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1229 <<
" The command is obsolete and will be removed soon." <<
G4endl
1230 <<
" Please try to use the new structured commands!" <<
G4endl;
1232 else if(command == histpointCmd)
1234 if(histtype ==
"biasx")
1236 if(histtype ==
"biasy")
1238 if(histtype ==
"biasz")
1240 if(histtype ==
"biast")
1242 if(histtype ==
"biasp")
1244 if(histtype ==
"biase")
1246 if(histtype ==
"theta")
1248 if(histtype ==
"phi")
1250 if(histtype ==
"energy")
1252 if(histtype ==
"arb")
1254 if(histtype ==
"epn")
1256 G4cout <<
" G4GeneralParticleSourceMessenger - Warning: The command is obsolete and will be removed soon. Please try to use the new structured commands!" <<
G4endl;
1258 else if(command == resethistCmd)
1260 if(newValues ==
"theta" || newValues ==
"phi") {
1262 }
else if (newValues ==
"energy" || newValues ==
"arb" || newValues ==
"epn") {
1267 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1268 <<
" The command is obsolete and will be removed soon." <<
G4endl
1269 <<
" Please try to use the new structured commands!" <<
G4endl;
1271 else if(command == arbintCmd)
1274 G4cout <<
" G4GeneralParticleSourceMessenger - Warning:" <<
G4endl
1275 <<
" The command is obsolete and will be removed soon." <<
G4endl
1276 <<
" Please try to use the new structured commands!" <<
G4endl;
1278 else if( command==directionCmd )
1283 else if( command==energyCmd )
1288 else if( command==positionCmd )
1293 else if(command == verbosityCmd)
1297 else if( command==particleCmd )
1299 if (newValues ==
"ion") {
1308 else if( command==timeCmd )
1310 else if( command==polCmd )
1312 else if( command==numberCmd )
1314 else if( command==ionCmd )
1315 { IonCommand(newValues); }
1316 else if( command==listCmd ){
1319 else if( command==addsourceCmd )
1323 else if( command==listsourceCmd )
1327 else if( command==clearsourceCmd )
1331 else if( command==getsourceCmd )
1336 else if( command==setsourceCmd )
1340 else if( command==setintensityCmd )
1344 else if( command==deletesourceCmd )
1348 else if(command == multiplevertexCmd)
1352 else if(command == flatsamplingCmd)
1360 else if(command == typeCmd1)
1364 else if(command == shapeCmd1)
1368 else if(command == centreCmd1)
1372 else if(command == posrot1Cmd1)
1376 else if(command == posrot2Cmd1)
1380 else if(command == halfxCmd1)
1384 else if(command == halfyCmd1)
1388 else if(command == halfzCmd1)
1392 else if(command == radiusCmd1)
1396 else if(command == radius0Cmd1)
1400 else if(command == possigmarCmd1)
1404 else if(command == possigmaxCmd1)
1408 else if(command == possigmayCmd1)
1412 else if(command == paralpCmd1)
1416 else if(command == partheCmd1)
1420 else if(command == parphiCmd1)
1424 else if(command == confineCmd1)
1428 else if(command == angtypeCmd1)
1432 else if(command == angrot1Cmd1)
1437 else if(command == angrot2Cmd1)
1442 else if(command == minthetaCmd1)
1446 else if(command == minphiCmd1)
1450 else if(command == maxthetaCmd1)
1454 else if(command == maxphiCmd1)
1458 else if(command == angsigmarCmd1)
1462 else if(command == angsigmaxCmd1)
1466 else if(command == angsigmayCmd1)
1470 else if(command == angfocusCmd)
1474 else if(command == useuserangaxisCmd1)
1478 else if(command == surfnormCmd1)
1482 else if(command == energytypeCmd1)
1486 else if(command == eminCmd1)
1490 else if(command == emaxCmd1)
1494 else if(command == monoenergyCmd1)
1498 else if(command == engsigmaCmd1)
1502 else if(command == alphaCmd1)
1506 else if(command == tempCmd1)
1510 else if(command == ezeroCmd1)
1514 else if(command == gradientCmd1)
1518 else if(command == interceptCmd1)
1522 else if(command == arbeintCmd1)
1526 else if(command == calculateCmd1)
1530 else if(command == energyspecCmd1)
1534 else if(command == diffspecCmd1)
1538 else if(command == histnameCmd1)
1540 histtype = newValues;
1542 else if(command == histfileCmd1)
1547 else if(command == histpointCmd1)
1549 if(histtype ==
"biasx")
1551 if(histtype ==
"biasy")
1553 if(histtype ==
"biasz")
1555 if(histtype ==
"biast")
1557 if(histtype ==
"biasp")
1559 if(histtype ==
"biaspt")
1561 if(histtype ==
"biaspp")
1563 if(histtype ==
"biase")
1565 if(histtype ==
"theta")
1567 if(histtype ==
"phi")
1569 if(histtype ==
"energy")
1571 if(histtype ==
"arb")
1573 if(histtype ==
"epn")
1576 else if(command == resethistCmd1)
1578 if(newValues ==
"theta" || newValues ==
"phi") {
1580 }
else if (newValues ==
"energy" || newValues ==
"arb" || newValues ==
"epn") {
1586 else if(command == arbintCmd1)
1613 cv =
"Not implemented yet";
1618 void G4GeneralParticleSourceMessenger::IonCommand(
G4String newValues)
1626 fAtomicNumber =
StoI(next());
1627 fAtomicMass =
StoI(next());
1631 fIonCharge = fAtomicNumber;
1635 fIonCharge =
StoI(sQ);
1639 fIonExciteEnergy = 0.0;
1643 fIonExciteEnergy =
StoD(sQ) *
keV;
1647 ion = particleTable->
GetIon( fAtomicNumber, fAtomicMass, fIonExciteEnergy);
1650 G4cout <<
"Ion with Z=" << fAtomicNumber;
1651 G4cout <<
" A=" << fAtomicMass <<
"is not be defined" <<
G4endl;
1661 G4cout <<
"Set /gps/particle to ion before using /gps/ion command";