95     if ( theInstance != 0 ) {
 
  104     : fGPS(fPtclGun),fParticleGun(0),fShootIon(
false),
 
  105       fAtomicNumber(0),fAtomicMass(0),fIonCharge(0),fIonExciteEnergy(0.),
 
  106       fShootIonL(0),fAtomicNumberL(0),fAtomicMassL(0),fIonChargeL(0),fIonEnergyLevel(0)
 
  120   commandsShouldBeInMaster = 
true;
 
  131   gpsDirectory->SetGuidance(
"General Paricle Source control commands.");
 
  136   sourceDirectory->SetGuidance(
"Multiple source control sub-directory");
 
  139   addsourceCmd->SetGuidance(
"add a new source defintion to the particle gun with the specified intensity");
 
  140   addsourceCmd->SetParameterName(
"addsource",
false,
false);
 
  141   addsourceCmd->SetRange(
"addsource > 0.");
 
  144   listsourceCmd->SetGuidance(
"List the defined particle sources");
 
  147   clearsourceCmd->SetGuidance(
"Remove all the defined particle sources");
 
  150   getsourceCmd->SetGuidance(
"Show the current source index and intensity");
 
  153   setsourceCmd->SetGuidance(
"set the indexed source as the current one");
 
  154   setsourceCmd->SetGuidance(
"  so one can change its source definition");
 
  155   setsourceCmd->SetParameterName(
"setsource",
false,
false);
 
  156   setsourceCmd->SetRange(
"setsource >= 0");
 
  159   deletesourceCmd->SetGuidance(
"delete the indexed source from the list");
 
  160   deletesourceCmd->SetParameterName(
"deletesource",
false,
false);
 
  161   deletesourceCmd->SetRange(
"deletesource > 0");
 
  164   setintensityCmd->SetGuidance(
"reset the current source to the specified intensity");
 
  165   setintensityCmd->SetParameterName(
"setintensity",
false,
false);
 
  166   setintensityCmd->SetRange(
"setintensity > 0."); 
 
  168   multiplevertexCmd = 
new G4UIcmdWithABool(
"/gps/source/multiplevertex",
this);
 
  169   multiplevertexCmd->SetGuidance(
"true for simulaneous generation mutiple vertex");
 
  170   multiplevertexCmd->SetGuidance(
"Default is false");
 
  171   multiplevertexCmd->SetParameterName(
"multiplevertex",
true);
 
  172   multiplevertexCmd->SetDefaultValue(
false);
 
  175   flatsamplingCmd->SetGuidance(
"true for appling flat (biased) sampling among the sources");
 
  176   flatsamplingCmd->SetGuidance(
"Default is false");
 
  177   flatsamplingCmd->SetParameterName(
"flatsampling",
true);
 
  178   flatsamplingCmd->SetDefaultValue(
false);
 
  183   listCmd->SetGuidance(
"List available particles.");
 
  184   listCmd->SetGuidance(
" Invoke G4ParticleTable.");
 
  187   particleCmd->SetGuidance(
"Set particle to be generated.");
 
  188   particleCmd->SetGuidance(
" (geantino is default)");
 
  189   particleCmd->SetGuidance(
" (ion can be specified for shooting ions)");
 
  190   particleCmd->SetParameterName(
"particleName",
true);
 
  191   particleCmd->SetDefaultValue(
"geantino");
 
  193   G4int nPtcl = particleTable->entries();
 
  194   for(
G4int i=0;i<nPtcl;i++)
 
  196     candidateList += particleTable->GetParticleName(i);
 
  197     candidateList += 
" ";
 
  199   candidateList += 
"ion ";
 
  200   particleCmd->SetCandidates(candidateList);
 
  203   directionCmd->SetGuidance(
"Set momentum direction.");
 
  204   directionCmd->SetGuidance(
"Direction needs not to be a unit vector.");
 
  205   directionCmd->SetParameterName(
"Px",
"Py",
"Pz",
false,
false); 
 
  206   directionCmd->SetRange(
"Px != 0 || Py != 0 || Pz != 0");
 
  209   energyCmd->SetGuidance(
"Set kinetic energy.");
 
  210   energyCmd->SetParameterName(
"Energy",
false,
false);
 
  211   energyCmd->SetDefaultUnit(
"GeV");
 
  216   positionCmd->SetGuidance(
"Set starting position of the particle.");
 
  217   positionCmd->SetParameterName(
"X",
"Y",
"Z",
false,
false);
 
  218   positionCmd->SetDefaultUnit(
"cm");
 
  223   ionCmd->SetGuidance(
"Set properties of ion to be generated.");
 
  224   ionCmd->SetGuidance(
"[usage] /gps/ion Z A Q E");
 
  225   ionCmd->SetGuidance(
"        Z:(int) AtomicNumber");
 
  226   ionCmd->SetGuidance(
"        A:(int) AtomicMass");
 
  227   ionCmd->SetGuidance(
"        Q:(int) Charge of Ion (in unit of e)");
 
  228   ionCmd->SetGuidance(
"        E:(double) Excitation energy (in keV)");
 
  233   ionCmd->SetParameter(param);
 
  236   ionCmd->SetParameter(param);
 
  239   ionCmd->SetParameter(param);
 
  242   ionCmd->SetParameter(param);
 
  245   ionLvlCmd->SetGuidance(
"Set properties of ion to be generated.");
 
  246   ionLvlCmd->SetGuidance(
"[usage] /gps/ion Z A Q Lvl");
 
  247   ionLvlCmd->SetGuidance(
"        Z:(int) AtomicNumber");
 
  248   ionLvlCmd->SetGuidance(
"        A:(int) AtomicMass");
 
  249   ionLvlCmd->SetGuidance(
"        Q:(int) Charge of Ion (in unit of e)");
 
  250   ionLvlCmd->SetGuidance(
"        Lvl:(int) Number of metastable state excitation level (0-9)");
 
  255   ionLvlCmd->SetParameter(paramL);
 
  258   ionLvlCmd->SetParameter(paramL);
 
  261   ionLvlCmd->SetParameter(paramL);
 
  264   ionLvlCmd->SetParameter(paramL);
 
  267   timeCmd->SetGuidance(
"Set initial time of the particle.");
 
  268   timeCmd->SetParameterName(
"t0",
false,
false);
 
  269   timeCmd->SetDefaultUnit(
"ns");
 
  274   polCmd->SetGuidance(
"Set polarization.");
 
  275   polCmd->SetParameterName(
"Px",
"Py",
"Pz",
false,
false); 
 
  276   polCmd->SetRange(
"Px>=-1.&&Px<=1.&&Py>=-1.&&Py<=1.&&Pz>=-1.&&Pz<=1.");
 
  279   numberCmd->SetGuidance(
"Set number of particles to be generated per vertex.");
 
  280   numberCmd->SetParameterName(
"N",
false,
false);
 
  281   numberCmd->SetRange(
"N>0");
 
  285   verbosityCmd->SetGuidance(
"Set Verbose level for GPS");
 
  286   verbosityCmd->SetGuidance(
" 0 : Silent");
 
  287   verbosityCmd->SetGuidance(
" 1 : Limited information");
 
  288   verbosityCmd->SetGuidance(
" 2 : Detailed information");
 
  289   verbosityCmd->SetParameterName(
"level",
false);
 
  290   verbosityCmd->SetRange(
"level>=0 && level <=2");
 
  295   positionDirectory->SetGuidance(
"Positional commands sub-directory");
 
  298   typeCmd1->SetGuidance(
"Sets source distribution type.");
 
  299   typeCmd1->SetGuidance(
"Either Point, Beam, Plane, Surface or Volume");
 
  300   typeCmd1->SetParameterName(
"DisType",
false,
false);
 
  301   typeCmd1->SetDefaultValue(
"Point");
 
  302   typeCmd1->SetCandidates(
"Point Beam Plane Surface Volume");
 
  305   shapeCmd1->SetGuidance(
"Sets source shape for Plan, Surface or Volume type source.");
 
  306   shapeCmd1->SetParameterName(
"Shape",
false,
false);
 
  307   shapeCmd1->SetDefaultValue(
"NULL");
 
  308   shapeCmd1->SetCandidates(
"Circle Annulus Ellipse Square Rectangle Sphere Ellipsoid Cylinder Para");
 
  311   centreCmd1->SetGuidance(
"Set centre coordinates of source.");
 
  312   centreCmd1->SetGuidance(
"   same effect as the /gps/position command");
 
  313   centreCmd1->SetParameterName(
"X",
"Y",
"Z",
false,
false);
 
  314   centreCmd1->SetDefaultUnit(
"cm");
 
  318   posrot1Cmd1->SetGuidance(
"Set the 1st vector defining the rotation matrix'.");
 
  319   posrot1Cmd1->SetGuidance(
"It does not need to be a unit vector.");
 
  320   posrot1Cmd1->SetParameterName(
"R1x",
"R1y",
"R1z",
false,
false); 
 
  321   posrot1Cmd1->SetRange(
"R1x != 0 || R1y != 0 || R1z != 0");
 
  324   posrot2Cmd1->SetGuidance(
"Set the 2nd vector defining the rotation matrix'.");
 
  325   posrot2Cmd1->SetGuidance(
"It does not need to be a unit vector.");
 
  326   posrot2Cmd1->SetParameterName(
"R2x",
"R2y",
"R2z",
false,
false); 
 
  327   posrot2Cmd1->SetRange(
"R2x != 0 || R2y != 0 || R2z != 0");
 
  330   halfxCmd1->SetGuidance(
"Set x half length of source.");
 
  331   halfxCmd1->SetParameterName(
"Halfx",
false,
false);
 
  332   halfxCmd1->SetDefaultUnit(
"cm");
 
  336   halfyCmd1->SetGuidance(
"Set y half length of source.");
 
  337   halfyCmd1->SetParameterName(
"Halfy",
false,
false);
 
  338   halfyCmd1->SetDefaultUnit(
"cm");
 
  342   halfzCmd1->SetGuidance(
"Set z half length of source.");
 
  343   halfzCmd1->SetParameterName(
"Halfz",
false,
false);
 
  344   halfzCmd1->SetDefaultUnit(
"cm");
 
  348   radiusCmd1->SetGuidance(
"Set radius of source.");
 
  349   radiusCmd1->SetParameterName(
"Radius",
false,
false);
 
  350   radiusCmd1->SetDefaultUnit(
"cm");
 
  354   radius0Cmd1->SetGuidance(
"Set inner radius of source when required.");
 
  355   radius0Cmd1->SetParameterName(
"Radius0",
false,
false);
 
  356   radius0Cmd1->SetDefaultUnit(
"cm");
 
  360   possigmarCmd1->SetGuidance(
"Set standard deviation in radial of the beam positional profile");
 
  361   possigmarCmd1->SetGuidance(
" applicable to Beam type source only");
 
  362   possigmarCmd1->SetParameterName(
"Sigmar",
false,
false);
 
  363   possigmarCmd1->SetDefaultUnit(
"cm");
 
  367   possigmaxCmd1->SetGuidance(
"Set standard deviation of beam positional profile in x-dir");
 
  368   possigmaxCmd1->SetGuidance(
" applicable to Beam type source only");
 
  369   possigmaxCmd1->SetParameterName(
"Sigmax",
false,
false);
 
  370   possigmaxCmd1->SetDefaultUnit(
"cm");
 
  374   possigmayCmd1->SetGuidance(
"Set standard deviation of beam positional profile in y-dir");
 
  375   possigmayCmd1->SetGuidance(
" applicable to Beam type source only");
 
  376   possigmayCmd1->SetParameterName(
"Sigmay",
false,
false);
 
  377   possigmayCmd1->SetDefaultUnit(
"cm");
 
  381   paralpCmd1->SetGuidance(
"Angle from y-axis of y' in Para");
 
  382   paralpCmd1->SetParameterName(
"paralp",
false,
false);
 
  383   paralpCmd1->SetDefaultUnit(
"rad");
 
  387   partheCmd1->SetGuidance(
"Polar angle through centres of z faces");
 
  388   partheCmd1->SetParameterName(
"parthe",
false,
false);
 
  389   partheCmd1->SetDefaultUnit(
"rad");
 
  393   parphiCmd1->SetGuidance(
"Azimuth angle through centres of z faces");
 
  394   parphiCmd1->SetParameterName(
"parphi",
false,
false);
 
  395   parphiCmd1->SetDefaultUnit(
"rad");
 
  399   confineCmd1->SetGuidance(
"Confine source to volume (NULL to unset).");
 
  400   confineCmd1->SetGuidance(
"usage: confine VolName");
 
  401   confineCmd1->SetParameterName(
"VolName",
false,
false);
 
  402   confineCmd1->SetDefaultValue(
"NULL");
 
  406   typeCmd->SetGuidance(
"Sets source distribution type. (obsolete!)");
 
  407   typeCmd->SetGuidance(
"Either Point, Beam, Plane, Surface or Volume");
 
  408   typeCmd->SetParameterName(
"DisType",
false,
false);
 
  409   typeCmd->SetDefaultValue(
"Point");
 
  410   typeCmd->SetCandidates(
"Point Beam Plane Surface Volume");
 
  413   shapeCmd->SetGuidance(
"Sets source shape type.(obsolete!)");
 
  414   shapeCmd->SetParameterName(
"Shape",
false,
false);
 
  415   shapeCmd->SetDefaultValue(
"NULL");
 
  416   shapeCmd->SetCandidates(
"Circle Annulus Ellipse Square Rectangle Sphere Ellipsoid Cylinder Para");
 
  419   centreCmd->SetGuidance(
"Set centre coordinates of source.(obsolete!)");
 
  420   centreCmd->SetParameterName(
"X",
"Y",
"Z",
false,
false);
 
  421   centreCmd->SetDefaultUnit(
"cm");
 
  425   posrot1Cmd->SetGuidance(
"Set rotation matrix of x'.(obsolete!)");
 
  426   posrot1Cmd->SetGuidance(
"Posrot1 does not need to be a unit vector.");
 
  427   posrot1Cmd->SetParameterName(
"R1x",
"R1y",
"R1z",
false,
false); 
 
  428   posrot1Cmd->SetRange(
"R1x != 0 || R1y != 0 || R1z != 0");
 
  431   posrot2Cmd->SetGuidance(
"Set rotation matrix of y'.(obsolete!)");
 
  432   posrot2Cmd->SetGuidance(
"Posrot2 does not need to be a unit vector.");
 
  433   posrot2Cmd->SetParameterName(
"R2x",
"R2y",
"R2z",
false,
false); 
 
  434   posrot2Cmd->SetRange(
"R2x != 0 || R2y != 0 || R2z != 0");
 
  437   halfxCmd->SetGuidance(
"Set x half length of source.(obsolete!)");
 
  438   halfxCmd->SetParameterName(
"Halfx",
false,
false);
 
  439   halfxCmd->SetDefaultUnit(
"cm");
 
  443   halfyCmd->SetGuidance(
"Set y half length of source.(obsolete!)");
 
  444   halfyCmd->SetParameterName(
"Halfy",
false,
false);
 
  445   halfyCmd->SetDefaultUnit(
"cm");
 
  449   halfzCmd->SetGuidance(
"Set z half length of source.(obsolete!)");
 
  450   halfzCmd->SetParameterName(
"Halfz",
false,
false);
 
  451   halfzCmd->SetDefaultUnit(
"cm");
 
  455   radiusCmd->SetGuidance(
"Set radius of source.(obsolete!)");
 
  456   radiusCmd->SetParameterName(
"Radius",
false,
false);
 
  457   radiusCmd->SetDefaultUnit(
"cm");
 
  461   radius0Cmd->SetGuidance(
"Set inner radius of source.(obsolete!)");
 
  462   radius0Cmd->SetParameterName(
"Radius0",
false,
false);
 
  463   radius0Cmd->SetDefaultUnit(
"cm");
 
  467   possigmarCmd->SetGuidance(
"Set standard deviation of beam position in radial(obsolete!)");
 
  468   possigmarCmd->SetParameterName(
"Sigmar",
false,
false);
 
  469   possigmarCmd->SetDefaultUnit(
"cm");
 
  473   possigmaxCmd->SetGuidance(
"Set standard deviation of beam position in x-dir(obsolete!)");
 
  474   possigmaxCmd->SetParameterName(
"Sigmax",
false,
false);
 
  475   possigmaxCmd->SetDefaultUnit(
"cm");
 
  479   possigmayCmd->SetGuidance(
"Set standard deviation of beam position in y-dir(obsolete!)");
 
  480   possigmayCmd->SetParameterName(
"Sigmay",
false,
false);
 
  481   possigmayCmd->SetDefaultUnit(
"cm");
 
  485   paralpCmd->SetGuidance(
"Angle from y-axis of y' in Para(obsolete!)");
 
  486   paralpCmd->SetParameterName(
"paralp",
false,
false);
 
  487   paralpCmd->SetDefaultUnit(
"rad");
 
  491   partheCmd->SetGuidance(
"Polar angle through centres of z faces(obsolete!)");
 
  492   partheCmd->SetParameterName(
"parthe",
false,
false);
 
  493   partheCmd->SetDefaultUnit(
"rad");
 
  497   parphiCmd->SetGuidance(
"Azimuth angle through centres of z faces(obsolete!)");
 
  498   parphiCmd->SetParameterName(
"parphi",
false,
false);
 
  499   parphiCmd->SetDefaultUnit(
"rad");
 
  503   confineCmd->SetGuidance(
"Confine source to volume (NULL to unset)(obsolete!) .");
 
  504   confineCmd->SetGuidance(
"usage: confine VolName");
 
  505   confineCmd->SetParameterName(
"VolName",
false,
false);
 
  506   confineCmd->SetDefaultValue(
"NULL");
 
  510   angularDirectory->SetGuidance(
"Angular commands sub-directory");
 
  513   angtypeCmd1->SetGuidance(
"Sets angular source distribution type");
 
  514   angtypeCmd1->SetGuidance(
"Possible variables are: iso, cos, planar, beam1d, beam2d, focused or user");
 
  515   angtypeCmd1->SetParameterName(
"AngDis",
false,
false);
 
  516   angtypeCmd1->SetDefaultValue(
"iso");
 
  517   angtypeCmd1->SetCandidates(
"iso cos planar beam1d beam2d focused user");
 
  520   angrot1Cmd1->SetGuidance(
"Sets the 1st vector for angular distribution rotation matrix");
 
  521   angrot1Cmd1->SetGuidance(
"Need not be a unit vector");
 
  522   angrot1Cmd1->SetParameterName(
"AR1x",
"AR1y",
"AR1z",
false,
false);
 
  523   angrot1Cmd1->SetRange(
"AR1x != 0 || AR1y != 0 || AR1z != 0");
 
  526   angrot2Cmd1->SetGuidance(
"Sets the 2nd vector for angular distribution rotation matrix");
 
  527   angrot2Cmd1->SetGuidance(
"Need not be a unit vector");
 
  528   angrot2Cmd1->SetParameterName(
"AR2x",
"AR2y",
"AR2z",
false,
false);
 
  529   angrot2Cmd1->SetRange(
"AR2x != 0 || AR2y != 0 || AR2z != 0");
 
  532   minthetaCmd1->SetGuidance(
"Set minimum theta");
 
  533   minthetaCmd1->SetParameterName(
"MinTheta",
false,
false);
 
  534   minthetaCmd1->SetDefaultValue(0.);
 
  535   minthetaCmd1->SetDefaultUnit(
"rad");
 
  539   maxthetaCmd1->SetGuidance(
"Set maximum theta");
 
  540   maxthetaCmd1->SetParameterName(
"MaxTheta",
false,
false);
 
  541   maxthetaCmd1->SetDefaultValue(
pi);
 
  542   maxthetaCmd1->SetDefaultUnit(
"rad");
 
  546   minphiCmd1->SetGuidance(
"Set minimum phi");
 
  547   minphiCmd1->SetParameterName(
"MinPhi",
false,
false);
 
  548   minphiCmd1->SetDefaultUnit(
"rad");
 
  552   maxphiCmd1->SetGuidance(
"Set maximum phi");
 
  553   maxphiCmd1->SetParameterName(
"MaxPhi",
false,
false);
 
  554   maxphiCmd1->SetDefaultValue(
pi);
 
  555   maxphiCmd1->SetDefaultUnit(
"rad");
 
  559   angsigmarCmd1->SetGuidance(
"Set standard deviation in direction for 1D beam.");
 
  560   angsigmarCmd1->SetParameterName(
"Sigmara",
false,
false);
 
  561   angsigmarCmd1->SetDefaultUnit(
"rad");
 
  565   angsigmaxCmd1->SetGuidance(
"Set standard deviation in direction in x-direc. for 2D beam");
 
  566   angsigmaxCmd1->SetParameterName(
"Sigmaxa",
false,
false);
 
  567   angsigmaxCmd1->SetDefaultUnit(
"rad");
 
  571   angsigmayCmd1->SetGuidance(
"Set standard deviation in direction in y-direc. for 2D beam");
 
  572   angsigmayCmd1->SetParameterName(
"Sigmaya",
false,
false);
 
  573   angsigmayCmd1->SetDefaultUnit(
"rad");
 
  577   angfocusCmd->SetGuidance(
"Set the focusing point for the beam");
 
  578   angfocusCmd->SetParameterName(
"x",
"y",
"z",
false,
false);
 
  579   angfocusCmd->SetDefaultUnit(
"cm");
 
  583   useuserangaxisCmd1->SetGuidance(
"true for using user defined angular co-ordinates");
 
  584   useuserangaxisCmd1->SetGuidance(
"Default is false");
 
  585   useuserangaxisCmd1->SetParameterName(
"useuserangaxis",
true);
 
  586   useuserangaxisCmd1->SetDefaultValue(
false);
 
  589   surfnormCmd1->SetGuidance(
"Makes a user-defined distribution with respect to surface normals rather than x,y,z axes.");
 
  590   surfnormCmd1->SetGuidance(
"Default is false");
 
  591   surfnormCmd1->SetParameterName(
"surfnorm",
true);
 
  592   surfnormCmd1->SetDefaultValue(
false);
 
  596   angtypeCmd->SetGuidance(
"Sets angular source distribution type (obsolete!)");
 
  597   angtypeCmd->SetGuidance(
"Possible variables are: iso, cos planar beam1d beam2d or user");
 
  598   angtypeCmd->SetParameterName(
"AngDis",
false,
false);
 
  599   angtypeCmd->SetDefaultValue(
"iso");
 
  600   angtypeCmd->SetCandidates(
"iso cos planar beam1d beam2d user");
 
  603   angrot1Cmd->SetGuidance(
"Sets the x' vector for angular distribution(obsolete!) ");
 
  604   angrot1Cmd->SetGuidance(
"Need not be a unit vector");
 
  605   angrot1Cmd->SetParameterName(
"AR1x",
"AR1y",
"AR1z",
false,
false);
 
  606   angrot1Cmd->SetRange(
"AR1x != 0 || AR1y != 0 || AR1z != 0");
 
  609   angrot2Cmd->SetGuidance(
"Sets the y' vector for angular distribution (obsolete!)");
 
  610   angrot2Cmd->SetGuidance(
"Need not be a unit vector");
 
  611   angrot2Cmd->SetParameterName(
"AR2x",
"AR2y",
"AR2z",
false,
false);
 
  612   angrot2Cmd->SetRange(
"AR2x != 0 || AR2y != 0 || AR2z != 0");
 
  615   minthetaCmd->SetGuidance(
"Set minimum theta (obsolete!)");
 
  616   minthetaCmd->SetParameterName(
"MinTheta",
false,
false);
 
  617   minthetaCmd->SetDefaultUnit(
"rad");
 
  621   maxthetaCmd->SetGuidance(
"Set maximum theta (obsolete!)");
 
  622   maxthetaCmd->SetParameterName(
"MaxTheta",
false,
false);
 
  623   maxthetaCmd->SetDefaultValue(3.1416);
 
  624   maxthetaCmd->SetDefaultUnit(
"rad");
 
  628   minphiCmd->SetGuidance(
"Set minimum phi (obsolete!)");
 
  629   minphiCmd->SetParameterName(
"MinPhi",
false,
false);
 
  630   minphiCmd->SetDefaultUnit(
"rad");
 
  634   maxphiCmd->SetGuidance(
"Set maximum phi(obsolete!)");
 
  635   maxphiCmd->SetParameterName(
"MaxPhi",
false,
false);
 
  636   maxphiCmd->SetDefaultUnit(
"rad");
 
  640   angsigmarCmd->SetGuidance(
"Set standard deviation of beam direction in radial(obsolete!).");
 
  641   angsigmarCmd->SetParameterName(
"Sigmara",
false,
false);
 
  642   angsigmarCmd->SetDefaultUnit(
"rad");
 
  646   angsigmaxCmd->SetGuidance(
"Set standard deviation of beam direction in x-direc(obsolete!).");
 
  647   angsigmaxCmd->SetParameterName(
"Sigmaxa",
false,
false);
 
  648   angsigmaxCmd->SetDefaultUnit(
"rad");
 
  652   angsigmayCmd->SetGuidance(
"Set standard deviation of beam direction in y-direc.(obsolete!)");
 
  653   angsigmayCmd->SetParameterName(
"Sigmaya",
false,
false);
 
  654   angsigmayCmd->SetDefaultUnit(
"rad");
 
  658   useuserangaxisCmd->SetGuidance(
"true for using user defined angular co-ordinates(obsolete!)");
 
  659   useuserangaxisCmd->SetGuidance(
"Default is false");
 
  660   useuserangaxisCmd->SetParameterName(
"useuserangaxis",
true);
 
  661   useuserangaxisCmd->SetDefaultValue(
false);
 
  664   surfnormCmd->SetGuidance(
"Makes a user-defined distribution with respect to surface normals rather than x,y,z axes (obsolete!).");
 
  665   surfnormCmd->SetGuidance(
"Default is false");
 
  666   surfnormCmd->SetParameterName(
"surfnorm",
true);
 
  667   surfnormCmd->SetDefaultValue(
false);
 
  672   energyDirectory->SetGuidance(
"Spectral commands sub-directory");
 
  675   energytypeCmd1->SetGuidance(
"Sets energy distribution type");
 
  676   energytypeCmd1->SetParameterName(
"EnergyDis",
false,
false);
 
  677   energytypeCmd1->SetDefaultValue(
"Mono");
 
  678   energytypeCmd1->SetCandidates(
"Mono Lin Pow Exp Gauss Brem Bbody Cdg User Arb Epn");
 
  681   eminCmd1->SetGuidance(
"Sets minimum energy");
 
  682   eminCmd1->SetParameterName(
"emin",
false,
false);
 
  683   eminCmd1->SetDefaultUnit(
"keV");
 
  687   emaxCmd1->SetGuidance(
"Sets maximum energy");
 
  688   emaxCmd1->SetParameterName(
"emax",
false,
false);
 
  689   emaxCmd1->SetDefaultUnit(
"keV");
 
  693   monoenergyCmd1->SetGuidance(
"Sets a monocromatic energy (same as  gps/energy)");
 
  694   monoenergyCmd1->SetParameterName(
"monoenergy",
false,
false);
 
  695   monoenergyCmd1->SetDefaultUnit(
"keV");
 
  699   engsigmaCmd1->SetGuidance(
"Sets the standard deviation for Gaussian energy dist.");
 
  700   engsigmaCmd1->SetParameterName(
"Sigmae",
false,
false);
 
  701   engsigmaCmd1->SetDefaultUnit(
"keV");
 
  705   alphaCmd1->SetGuidance(
"Sets Alpha (index) for power-law energy dist.");
 
  706   alphaCmd1->SetParameterName(
"alpha",
false,
false);
 
  709   tempCmd1->SetGuidance(
"Sets the temperature for Brem and BBody distributions (in Kelvin)");
 
  710   tempCmd1->SetParameterName(
"temp",
false,
false);
 
  713   ezeroCmd1->SetGuidance(
"Sets E_0 for exponential distribution (in MeV)");
 
  714   ezeroCmd1->SetParameterName(
"ezero",
false,
false);
 
  717   gradientCmd1->SetGuidance(
"Sets the gradient for Lin distribution (in 1/MeV)");
 
  718   gradientCmd1->SetParameterName(
"gradient",
false,
false);
 
  721   interceptCmd1->SetGuidance(
"Sets the intercept for Lin distributions (in MeV)");
 
  722   interceptCmd1->SetParameterName(
"intercept",
false,
false);
 
  725   arbeintCmd1->SetGuidance(
"Set the power-law index for the energy sampling distri. )");
 
  726   arbeintCmd1->SetParameterName(
"arbeint",
false,
false);
 
  729   calculateCmd1->SetGuidance(
"Calculates the distributions for Cdg and BBody");
 
  732   energyspecCmd1->SetGuidance(
"True for energy and false for momentum spectra");
 
  733   energyspecCmd1->SetParameterName(
"energyspec",
true);
 
  734   energyspecCmd1->SetDefaultValue(
true);
 
  737   diffspecCmd1->SetGuidance(
"True for differential and flase for integral spectra");
 
  738   diffspecCmd1->SetParameterName(
"diffspec",
true);
 
  739   diffspecCmd1->SetDefaultValue(
true);
 
  743   energytypeCmd->SetGuidance(
"Sets energy distribution type (obsolete!)");
 
  744   energytypeCmd->SetParameterName(
"EnergyDis",
false,
false);
 
  745   energytypeCmd->SetDefaultValue(
"Mono");
 
  746   energytypeCmd->SetCandidates(
"Mono Lin Pow Exp Gauss Brem Bbody Cdg User Arb Epn");
 
  749   eminCmd->SetGuidance(
"Sets Emin (obsolete!)");
 
  750   eminCmd->SetParameterName(
"emin",
false,
false);
 
  751   eminCmd->SetDefaultUnit(
"keV");
 
  755   emaxCmd->SetGuidance(
"Sets Emax (obsolete!)");
 
  756   emaxCmd->SetParameterName(
"emax",
false,
false);
 
  757   emaxCmd->SetDefaultUnit(
"keV");
 
  761   monoenergyCmd->SetGuidance(
"Sets Monoenergy (obsolete, use gps/energy instead!)");
 
  762   monoenergyCmd->SetParameterName(
"monoenergy",
false,
false);
 
  763   monoenergyCmd->SetDefaultUnit(
"keV");
 
  767   engsigmaCmd->SetGuidance(
"Sets the standard deviation for Gaussian energy dist.(obsolete!)");
 
  768   engsigmaCmd->SetParameterName(
"Sigmae",
false,
false);
 
  769   engsigmaCmd->SetDefaultUnit(
"keV");
 
  773   alphaCmd->SetGuidance(
"Sets Alpha (index) for power-law energy dist(obsolete!).");
 
  774   alphaCmd->SetParameterName(
"alpha",
false,
false);
 
  777   tempCmd->SetGuidance(
"Sets the temperature for Brem and BBody (in Kelvin)(obsolete!)");
 
  778   tempCmd->SetParameterName(
"temp",
false,
false);
 
  781   ezeroCmd->SetGuidance(
"Sets ezero exponential distributions (in MeV)(obsolete!)");
 
  782   ezeroCmd->SetParameterName(
"ezero",
false,
false);
 
  785   gradientCmd->SetGuidance(
"Sets the gradient for Lin distributions (in 1/MeV)(obsolete!)");
 
  786   gradientCmd->SetParameterName(
"gradient",
false,
false);
 
  789   interceptCmd->SetGuidance(
"Sets the intercept for Lin distributions (in MeV)(obsolete!)");
 
  790   interceptCmd->SetParameterName(
"intercept",
false,
false);
 
  793   calculateCmd->SetGuidance(
"Calculates distributions for Cdg and BBody(obsolete!)");
 
  796   energyspecCmd->SetGuidance(
"True for energy and false for momentum spectra(obsolete!)");
 
  797   energyspecCmd->SetParameterName(
"energyspec",
true);
 
  798   energyspecCmd->SetDefaultValue(
true);
 
  801   diffspecCmd->SetGuidance(
"True for differential and flase for integral spectra(obsolete!)");
 
  802   diffspecCmd->SetParameterName(
"diffspec",
true);
 
  803   diffspecCmd->SetDefaultValue(
true);
 
  807   histDirectory->SetGuidance(
"Histogram, biasing commands sub-directory");
 
  810   histnameCmd1->SetGuidance(
"Sets histogram type");
 
  811   histnameCmd1->SetParameterName(
"HistType",
false,
false);
 
  812   histnameCmd1->SetDefaultValue(
"biasx");
 
  813   histnameCmd1->SetCandidates(
"biasx biasy biasz biast biasp biase biaspt biaspp theta phi energy arb epn");
 
  816   resethistCmd1->SetGuidance(
"Reset (clean) the histogram ");
 
  817   resethistCmd1->SetParameterName(
"HistType",
false,
false);
 
  818   resethistCmd1->SetDefaultValue(
"energy");
 
  819   resethistCmd1->SetCandidates(
"biasx biasy biasz biast biasp biase biaspt biaspp theta phi energy arb epn");
 
  822   histpointCmd1->SetGuidance(
"Allows user to define a histogram");
 
  823   histpointCmd1->SetGuidance(
"Enter: Ehi Weight");
 
  824   histpointCmd1->SetParameterName(
"Ehi",
"Weight",
"Junk",
true,
true);
 
  825   histpointCmd1->SetRange(
"Ehi >= 0. && Weight >= 0.");
 
  828   histfileCmd1->SetGuidance(
"import the arb energy hist in an ASCII file");
 
  829   histfileCmd1->SetParameterName(
"HistFile",
false,
false);
 
  832   arbintCmd1->SetGuidance(
"Sets the interpolation method for arbitrary distribution.");
 
  833   arbintCmd1->SetParameterName(
"int",
false,
false);
 
  834   arbintCmd1->SetDefaultValue(
"Lin");
 
  835   arbintCmd1->SetCandidates(
"Lin Log Exp Spline");
 
  839   histnameCmd->SetGuidance(
"Sets histogram type (obsolete!)");
 
  840   histnameCmd->SetParameterName(
"HistType",
false,
false);
 
  841   histnameCmd->SetDefaultValue(
"biasx");
 
  842   histnameCmd->SetCandidates(
"biasx biasy biasz biast biasp biase biaspt biaspp theta phi energy arb epn");
 
  846   resethistCmd->SetGuidance(
"Re-Set the histogram (obsolete!)");
 
  847   resethistCmd->SetParameterName(
"HistType",
false,
false);
 
  848   resethistCmd->SetDefaultValue(
"energy");
 
  849   resethistCmd->SetCandidates(
"biasx biasy biasz biast biasp biase biaspt biaspp theta phi energy arb epn");
 
  852   histpointCmd->SetGuidance(
"Allows user to define a histogram (obsolete!)");
 
  853   histpointCmd->SetGuidance(
"Enter: Ehi Weight");
 
  854   histpointCmd->SetParameterName(
"Ehi",
"Weight",
"Junk",
false,
false);
 
  855   histpointCmd->SetRange(
"Ehi >= 0. && Weight >= 0.");
 
  858   arbintCmd->SetGuidance(
"Sets Arbitrary Interpolation type.(obsolete!) ");
 
  859   arbintCmd->SetParameterName(
"int",
false,
false);
 
  860   arbintCmd->SetDefaultValue(
"NULL");
 
  861   arbintCmd->SetCandidates(
"Lin Log Exp Spline");
 
  998 #define CHECKPG() { if (fParticleGun==NULL) { \ 
  999                       G4Exception("G4GeneralParticleSourceMessenger::SetNewValue","G4GPS003",\ 
 1000                                   FatalException,"Before using this command set a partilce gun"); return;\ 
 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;
 
 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;
 
 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;
 
 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;
 
 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;
 
 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;
 
 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;
 
 1058       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1059              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1060              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1065       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1066              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1067              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1072       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1073              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1074              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1079       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1080              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1081              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1086       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1087              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1088              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1093       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1094              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1095              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1100       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1101              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1102              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1107       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1108              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1109              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1114       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1115              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1116              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1121       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1122              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1123              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1128       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1129              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1130              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 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;
 
 1146       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1147              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1148              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1153       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1154              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1155              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1160       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1161              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1162              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1167       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1168              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1169              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1174       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1175              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1176              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1181       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1182              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1183              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1188       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1189              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1190              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1195       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1196              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1197              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1202       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1203              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1204              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1209       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1210              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1211              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1216       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1217              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1218              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1223       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1224              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1225              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1230       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1231              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1232              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1237       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1238              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1239              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1244       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1245              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1246              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1251       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1252              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1253              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1258       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1259              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1260              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1265       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1266              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1267              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1272       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1273              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1274              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1279       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1280              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1281              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1286       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1287              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1288              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1293       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1294              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1295              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1300       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1301              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1302              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1307       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1308              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1309              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1336       G4cout << 
" G4GeneralParticleSourceMessenger - Warning: The command is obsolete and will be removed soon. Please try to use the new structured commands!" << 
G4endl;
 
 1341       if(newValues == 
"theta" || newValues == 
"phi") {
 
 1343       } 
else if (newValues == 
"energy" || newValues == 
"arb" || newValues == 
"epn") {
 
 1348       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1349              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1350              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1356       G4cout << 
" G4GeneralParticleSourceMessenger - Warning:" << 
G4endl 
 1357              << 
" The command is obsolete and will be removed soon." << 
G4endl 
 1358              << 
" Please try to use the new structured commands!" << 
G4endl;
 
 1385       if (newValues ==
"ion") {
 
 1396   else if( command==
polCmd )
 
 1400   else if( command==
ionCmd )
 
 1682       if(newValues == 
"theta" || newValues == 
"phi") {
 
 1684       } 
else if (newValues == 
"energy" || newValues == 
"arb" || newValues == 
"epn") {
 
 1717   cv = 
"Not implemented yet";
 
 1765     G4cout << 
"Set /gps/particle to ion before using /gps/ion command";
 
 1803     G4cout << 
"Set /gps/particle to ion before using /gps/ionLvl command";
 
void IonCommand(G4String newValues)
 
static G4GeneralParticleSourceMessenger * GetInstance(G4GeneralParticleSource *)
 
void SetBeamSigmaInE(G4double)
 
G4SPSAngDistribution * GetAngDist() const 
 
G4UIcmdWithADoubleAndUnit * maxphiCmd
 
G4UIcmdWithADoubleAndUnit * possigmaxCmd1
 
G4SPSEneDistribution * GetEneDist() const 
 
G4UIcmdWithABool * diffspecCmd1
 
G4UIdirectory * gpsDirectory
 
G4UIcmdWith3Vector * angrot2Cmd1
 
void SetParticleTime(G4double aTime)
 
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
 
G4int GetCurrentSourceIndex()
 
~G4GeneralParticleSourceMessenger()
 
G4UIcmdWith3VectorAndUnit * angfocusCmd
 
G4UIcmdWithAString * histnameCmd
 
G4UIcmdWithADoubleAndUnit * possigmayCmd
 
void AddaSource(G4double)
 
G4SPSPosDistribution * GetPosDist() const 
 
G4UIcmdWithoutParameter * calculateCmd1
 
void DumpTable(const G4String &particle_name="ALL")
 
void SetPosDisType(G4String)
Important: This is a shared class between threads. 
 
void SetParTheta(G4double)
 
G4UIcmdWithADoubleAndUnit * maxthetaCmd
 
void SetBeamSigmaInX(G4double)
 
G4UIcmdWith3Vector * angrot1Cmd1
 
G4UIcmdWithADouble * arbeintCmd1
 
void ArbEnergyHisto(G4ThreeVector)
 
G4UIcmdWithADoubleAndUnit * halfzCmd
 
G4UIcmdWithADouble * gradientCmd1
 
static G4int GetNewIntValue(const char *paramString)
 
G4UIcmdWithAString * confineCmd
 
void SetBeamSigmaInAngR(G4double)
 
G4UIcmdWithADoubleAndUnit * radius0Cmd1
 
G4UIcmdWith3VectorAndUnit * centreCmd
 
G4UIcmdWithADouble * interceptCmd1
 
Andrea Dotti Feb 2015 GPS messenger design requires some explanation for what distributions parameter...
 
G4UIcmdWithAString * particleCmd
 
G4UIcmdWithAString * histfileCmd1
 
G4ParticleDefinition * GetIon(G4int Z, G4int A, G4int lvl=0)
 
G4UIcmdWithADoubleAndUnit * paralpCmd1
 
G4UIcmdWith3Vector * angrot2Cmd
 
void SetMultipleVertex(G4bool av)
 
G4UIcmdWith3Vector * histpointCmd1
 
G4UIcmdWithADoubleAndUnit * parphiCmd1
 
static G4ThreeVector GetNew3VectorValue(const char *paramString)
 
void SetDefaultValue(const char *theDefaultValue)
 
void SetParAlpha(G4double)
 
G4UIcmdWithADouble * gradientCmd
 
G4UIcmdWithADoubleAndUnit * paralpCmd
 
G4UIcmdWithADoubleAndUnit * halfxCmd1
 
void SetBeamSigmaInAngY(G4double)
 
G4UIdirectory * sourceDirectory
 
G4UIcmdWithADoubleAndUnit * minthetaCmd
 
void SetMinTheta(G4double)
 
void SetEnergyBias(G4ThreeVector)
 
void SetNewValue(G4UIcommand *command, G4String newValues)
 
void SetUseUserAngAxis(G4bool)
 
void SetYBias(G4ThreeVector)
 
G4UIcmdWithAString * angtypeCmd1
 
G4UIcmdWithADoubleAndUnit * emaxCmd1
 
static G4double GetNewDoubleValue(const char *paramString)
 
G4UIcmdWithABool * useuserangaxisCmd1
 
G4UIcmdWithAnInteger * setsourceCmd
 
void SetCurrentSourceIntensity(G4double)
 
void SetPosThetaBias(G4ThreeVector)
 
G4UIcmdWithoutParameter * clearsourceCmd
 
G4UIcmdWithABool * energyspecCmd1
 
G4UIcmdWithADouble * setintensityCmd
 
static G4bool GetNewBoolValue(const char *paramString)
 
#define G4MUTEX_INITIALIZER
 
G4UIcmdWithABool * multiplevertexCmd
 
void SetThetaBias(G4ThreeVector)
 
G4UIdirectory * positionDirectory
 
G4ParticleTable * particleTable
 
void SetZBias(G4ThreeVector)
 
void SetXBias(G4ThreeVector)
 
G4UIcmdWithAString * shapeCmd
 
G4UIcmdWithADouble * interceptCmd
 
G4UIdirectory * energyDirectory
 
G4UIcmdWithADoubleAndUnit * minphiCmd
 
G4UIcmdWithADouble * tempCmd
 
G4UIcmdWithAnInteger * numberCmd
 
G4UIcmdWithADoubleAndUnit * angsigmarCmd1
 
G4UIcmdWithADoubleAndUnit * possigmarCmd1
 
G4UIcmdWithABool * surfnormCmd1
 
void UserDefAngPhi(G4ThreeVector)
 
G4UIcmdWith3Vector * polCmd
 
G4UIcmdWithAString * arbintCmd1
 
void UserDefAngTheta(G4ThreeVector)
 
G4GLOB_DLL std::ostream G4cout
 
G4UIcmdWith3Vector * directionCmd
 
void SetCentreCoords(G4ThreeVector)
 
G4UIcmdWithABool * flatsamplingCmd
 
static G4ThreeVector GetNew3VectorValue(const char *paramString)
 
G4UIcmdWithADoubleAndUnit * angsigmayCmd1
 
G4UIcmdWith3Vector * angrot1Cmd
 
void SetEnergyDisType(G4String)
 
void SetBeamSigmaInR(G4double)
 
G4UIcmdWith3VectorAndUnit * positionCmd
 
G4UIcmdWithADoubleAndUnit * angsigmaxCmd1
 
G4UIcmdWithoutParameter * listsourceCmd
 
G4UIcmdWithADoubleAndUnit * angsigmaxCmd
 
G4UIcmdWithoutParameter * listCmd
 
G4UIcmdWithADoubleAndUnit * maxthetaCmd1
 
G4UIcmdWithABool * diffspecCmd
 
G4SPSRandomGenerator * GetBiasRndm() const 
 
G4GeneralParticleSourceMessenger(G4GeneralParticleSource *)
 
G4UIcmdWith3Vector * posrot1Cmd1
 
G4UIcmdWithAString * shapeCmd1
 
static G4double GetNewDoubleValue(const char *paramString)
 
G4GeneralParticleSource * fGPS
 
G4UIcmdWithADoubleAndUnit * energyCmd
 
void DefineAngRefAxes(G4String, G4ThreeVector)
 
void SetParticlePolarization(G4ThreeVector aVal)
 
void SetParticleDefinition(G4ParticleDefinition *aParticleDefinition)
 
void SetPosRot1(G4ThreeVector)
 
G4UIdirectory * histDirectory
 
G4double GetCurrentSourceIntensity()
 
G4UIcmdWithAString * histnameCmd1
 
G4UIcmdWithAnInteger * verbosityCmd
 
G4UIcmdWithADoubleAndUnit * radiusCmd
 
G4UIcmdWithADoubleAndUnit * possigmayCmd1
 
void IonLvlCommand(G4String newValues)
 
void SetPosDisShape(G4String)
 
G4UIcmdWithoutParameter * getsourceCmd
 
G4UIcmdWithADoubleAndUnit * parphiCmd
 
G4UIcmdWithADoubleAndUnit * monoenergyCmd
 
G4UIcmdWithADoubleAndUnit * halfyCmd1
 
static G4IonTable * GetIonTable()
 
void ArbInterpolate(G4String)
 
void EpnEnergyHisto(G4ThreeVector)
 
G4String GetCurrentValue(G4UIcommand *command)
 
G4double fIonExciteEnergy
 
G4UIcmdWithADoubleAndUnit * angsigmayCmd
 
void SetPhiBias(G4ThreeVector)
 
G4UIcmdWithABool * energyspecCmd
 
G4UIcmdWith3Vector * posrot1Cmd
 
G4UIcmdWithADoubleAndUnit * engsigmaCmd1
 
void InputEnergySpectra(G4bool)
 
G4UIcmdWith3VectorAndUnit * centreCmd1
 
G4UIcmdWithADouble * tempCmd1
 
G4UIcmdWithAString * arbintCmd
 
G4UIcmdWithAString * confineCmd1
 
void SetAngDistType(G4String)
 
G4UIcmdWithADoubleAndUnit * halfzCmd1
 
Andrea Dotti Feb 2015 GPS messenger design requires some explanation for what distributions parameter...
 
G4UIcmdWithADoubleAndUnit * partheCmd1
 
G4UIcmdWithABool * useuserangaxisCmd
 
static G4ParticleTable * GetParticleTable()
 
G4SingleParticleSource * fParticleGun
 
G4UIcmdWithAString * typeCmd
 
G4UIcmdWithADoubleAndUnit * maxphiCmd1
 
G4UIcmdWith3Vector * histpointCmd
 
G4UIcmdWithADoubleAndUnit * partheCmd
 
G4UIcmdWithADoubleAndUnit * eminCmd
 
void SetGradient(G4double)
 
void UserEnergyHisto(G4ThreeVector)
 
G4double StoD(G4String s)
 
void SetPosRot2(G4ThreeVector)
 
G4UIcmdWith3Vector * posrot2Cmd1
 
void SetInterCept(G4double)
 
G4UIcmdWith3Vector * posrot2Cmd
 
void InputDifferentialSpectra(G4bool)
 
void SetFocusPoint(G4ThreeVector)
 
void SetParticleMomentumDirection(G4ParticleMomentum aMomentumDirection)
 
G4UIcmdWithAString * typeCmd1
 
G4UIcmdWithADoubleAndUnit * radius0Cmd
 
G4UIcmdWithoutParameter * calculateCmd
 
G4UIcmdWithADoubleAndUnit * possigmaxCmd
 
G4UIcmdWithADoubleAndUnit * halfxCmd
 
G4UIcmdWithADouble * alphaCmd1
 
G4UIcmdWithABool * surfnormCmd
 
void SetBiasAlpha(G4double)
 
G4UIcmdWithADoubleAndUnit * minphiCmd1
 
void DeleteaSource(G4int)
 
G4UIcmdWithADoubleAndUnit * eminCmd1
 
G4UIcmdWithADouble * ezeroCmd1
 
G4UIcmdWithADoubleAndUnit * minthetaCmd1
 
G4UIcmdWithADoubleAndUnit * radiusCmd1
 
G4UIcmdWithADoubleAndUnit * halfyCmd
 
G4UIcmdWithADouble * addsourceCmd
 
void SetCurrentSourceto(G4int)
 
G4UIcmdWithADoubleAndUnit * emaxCmd
 
G4UIcmdWithAString * angtypeCmd
 
void ArbEnergyHistoFile(G4String)
 
void SetUserWRTSurface(G4bool)
 
void SetParticleCharge(G4double aCharge)
 
G4UIcmdWithADoubleAndUnit * engsigmaCmd
 
G4UIcmdWithAnInteger * deletesourceCmd
 
G4UIcmdWithAString * energytypeCmd
 
static const double eplus
 
void ConfineSourceToVolume(G4String)
 
void SetFlatSampling(G4bool av)
 
void SetMaxTheta(G4double)
 
G4UIcmdWithADoubleAndUnit * monoenergyCmd1
 
G4UIcmdWithAString * energytypeCmd1
 
G4UIcmdWithAString * resethistCmd1
 
void SetRadius0(G4double)
 
G4UIcmdWithADoubleAndUnit * angsigmarCmd
 
G4UIcmdWithADouble * ezeroCmd
 
G4UIcmdWithADoubleAndUnit * possigmarCmd
 
G4UIcmdWithAString * resethistCmd
 
void SetBeamSigmaInY(G4double)
 
G4UIcmdWithADoubleAndUnit * timeCmd
 
void SetNumberOfParticles(G4int i)
 
void SetMonoEnergy(G4double)
 
G4UIdirectory * angularDirectory
 
void SetPosPhiBias(G4ThreeVector)
 
void SetBeamSigmaInAngX(G4double)
 
G4UIcmdWithADouble * alphaCmd