176 for(
G4int i=0; i<nPtcl; ++i)
179 candidateList +=
" ";
181 candidateList +=
"ion ";
260 polCmd->
SetRange(
"Px>=-1.&&Px<=1.&&Py>=-1.&&Py<=1.&&Pz>=-1.&&Pz<=1.");
294 shapeCmd1->
SetCandidates(
"Circle Annulus Ellipse Square Rectangle Sphere Ellipsoid Cylinder EllipticCylinder Para");
472 surfnormCmd1->
SetGuidance(
"Makes a user-defined distribution with respect to surface normals rather than x,y,z axes.");
517 tempCmd1->
SetGuidance(
"Sets the temperature for Brem and BBody distributions (in Kelvin)");
681#define CHECKPG() { if (fParticleGun==nullptr) { \
682 G4ExceptionDescription msg; \
683 msg << "Command "<< command->GetCommandPath()<<"/";\
684 msg << command->GetCommandName(); \
685 msg << " used but no particle sources are set.";\
686 msg <<" Add at least a source with: /gps/source/add.";\
687 G4Exception("G4GeneralParticleSourceMessenger::SetNewValue","G4GPS003",\
688 FatalException,msg); return;\
1075 if (newValues ==
"ion")
1095 else if( command==
polCmd )
1105 else if( command==
ionCmd )
1149 <<
" source(s) are defined.";
1150 G4Exception(
"G4GeneralParticleSourceMessenger::SetNewValue",
1411 if(eDisType !=
"Lin")
1414 ed <<
"Energy distribution is defined as " << eDisType <<
". /gps/ene/applyEneWeight is available only for Linear distribution.";
1463 if(newValues ==
"theta" || newValues ==
"phi")
1467 else if (newValues ==
"energy" || newValues ==
"arb" || newValues ==
"epn")
1503 cv =
"Not implemented yet";
1552 ed <<
"Set /gps/particle to ion before using /gps/ion command";
1603 ed <<
"Set /gps/particle to ion before using /gps/ionLvl command";
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
static constexpr double eplus
static constexpr double keV
static constexpr double pi
#define G4MUTEX_INITIALIZER
G4GLOB_DLL std::ostream G4cout
G4UIcmdWithAString * angtypeCmd1
G4UIcmdWithADoubleAndUnit * possigmarCmd1
G4UIcmdWithABool * flatsamplingCmd
G4UIcmdWithAString * energytypeCmd1
G4UIcmdWithoutParameter * getsourceCmd
G4UIcmdWithADouble * addsourceCmd
G4UIdirectory * gpsDirectory
G4UIcmdWith3Vector * angrot1Cmd1
G4UIcmdWith3VectorAndUnit * positionCmd
G4UIcmdWithAString * typeCmd1
G4UIcmdWithADouble * interceptCmd1
G4UIcmdWithAString * histfileCmd1
G4UIcmdWith3Vector * directionCmd
G4UIcmdWithADouble * alphaCmd1
G4UIcmdWithADoubleAndUnit * monoenergyCmd1
G4UIcmdWithoutParameter * listsourceCmd
G4UIcmdWithABool * energyspecCmd1
G4UIcmdWithADouble * gradientCmd1
G4UIdirectory * histDirectory
G4UIcmdWith3VectorAndUnit * centreCmd1
static G4GeneralParticleSourceMessenger * GetInstance(G4GeneralParticleSource *)
G4UIcmdWith3Vector * histpointCmd1
G4UIcmdWithAnInteger * numberCmd
G4GeneralParticleSource * fGPS
void IonLvlCommand(G4String newValues)
G4UIcmdWithAnInteger * setsourceCmd
G4UIcmdWithADoubleAndUnit * angsigmarCmd1
G4UIcmdWithADoubleAndUnit * minthetaCmd1
G4UIcmdWithAnInteger * verbosityCmd
G4UIcmdWithADoubleAndUnit * parphiCmd1
G4UIcmdWithADoubleAndUnit * possigmaxCmd1
G4UIcmdWithABool * useuserangaxisCmd1
G4UIcmdWithADoubleAndUnit * halfyCmd1
G4UIcmdWithADouble * arbeintCmd1
G4UIcmdWithADoubleAndUnit * angsigmayCmd1
G4UIcmdWithADoubleAndUnit * radiusCmd1
G4String GetCurrentValue(G4UIcommand *command)
G4UIcmdWithADoubleAndUnit * engsigmaCmd1
~G4GeneralParticleSourceMessenger()
G4SingleParticleSource * fParticleGun
G4UIcmdWithABool * diffspecCmd1
G4UIcmdWith3Vector * posrot2Cmd1
G4UIcmdWithADouble * ezeroCmd1
G4UIcmdWithABool * applyEnergyWeightCmd1
G4UIcmdWithADoubleAndUnit * eminCmd1
G4UIcmdWithADoubleAndUnit * radius0Cmd1
G4UIcmdWithAString * resethistCmd1
G4UIcmdWith3VectorAndUnit * angfocusCmd
G4UIcmdWithADoubleAndUnit * partheCmd1
void IonCommand(G4String newValues)
G4UIcmdWithADoubleAndUnit * minphiCmd1
G4ParticleTable * particleTable
G4UIcmdWithADouble * tempCmd1
G4UIcmdWithADouble * setintensityCmd
G4UIcmdWithADoubleAndUnit * timeCmd
G4UIcmdWithADoubleAndUnit * paralpCmd1
G4UIcmdWithoutParameter * listCmd
G4UIcmdWithADoubleAndUnit * maxthetaCmd1
G4UIcmdWith3Vector * posrot1Cmd1
G4UIcmdWithAString * particleCmd
G4UIcmdWithAString * confineCmd1
G4UIcmdWithABool * surfnormCmd1
G4UIcmdWithAString * shapeCmd1
G4UIcmdWithADoubleAndUnit * angsigmaxCmd1
G4UIcmdWithADoubleAndUnit * energyCmd
G4UIcmdWith3Vector * angrot2Cmd1
G4UIdirectory * positionDirectory
G4UIcmdWith3Vector * polCmd
void SetNewValue(G4UIcommand *command, G4String newValues)
G4UIcmdWithAnInteger * deletesourceCmd
G4UIcmdWithAString * histnameCmd1
G4UIdirectory * sourceDirectory
G4UIcmdWithADoubleAndUnit * halfxCmd1
G4UIcmdWithoutParameter * clearsourceCmd
G4double fIonExciteEnergy
G4UIcmdWithAString * arbintCmd1
G4UIcmdWithADoubleAndUnit * possigmayCmd1
G4UIcmdWithADoubleAndUnit * halfzCmd1
G4UIcmdWithADoubleAndUnit * emaxCmd1
G4UIcmdWithADoubleAndUnit * maxphiCmd1
G4UIcmdWithoutParameter * calculateCmd1
G4UIdirectory * angularDirectory
G4UIdirectory * energyDirectory
G4GeneralParticleSourceMessenger(G4GeneralParticleSource *)
G4UIcmdWithABool * multiplevertexCmd
void SetFlatSampling(G4bool av)
void AddaSource(G4double)
G4int GetCurrentSourceIndex() const
G4double GetCurrentSourceIntensity() const
void SetCurrentSourceIntensity(G4double)
void SetVerbosity(G4int i)
void SetCurrentSourceto(G4int)
void DeleteaSource(G4int)
G4int GetNumberofSource()
void SetMultipleVertex(G4bool av)
G4ParticleDefinition * GetIon(G4int Z, G4int A, G4int lvl=0)
static G4IonTable * GetIonTable()
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static G4ParticleTable * GetParticleTable()
const G4String & GetParticleName(G4int index) const
void DumpTable(const G4String &particle_name="ALL")
void SetBeamSigmaInAngX(G4double)
void SetBeamSigmaInAngR(G4double)
void UserDefAngTheta(const G4ThreeVector &)
void SetFocusPoint(const G4ThreeVector &)
void SetAngDistType(const G4String &)
void UserDefAngPhi(const G4ThreeVector &)
void SetMaxTheta(G4double)
void SetUseUserAngAxis(G4bool)
void SetMinTheta(G4double)
void SetParticleMomentumDirection(const G4ParticleMomentum &aMomDirection)
void SetBeamSigmaInAngY(G4double)
void ReSetHist(const G4String &)
void DefineAngRefAxes(const G4String &, const G4ThreeVector &)
void SetUserWRTSurface(G4bool)
void InputEnergySpectra(G4bool)
void ArbInterpolate(const G4String &)
const G4String & GetEnergyDisType()
void SetBeamSigmaInE(G4double)
void SetBiasAlpha(G4double)
void SetEnergyDisType(const G4String &)
void EpnEnergyHisto(const G4ThreeVector &)
void ArbEnergyHistoFile(const G4String &)
void SetGradient(G4double)
void ReSetHist(const G4String &)
void InputDifferentialSpectra(G4bool)
void SetMonoEnergy(G4double)
void ApplyEnergyWeight(G4bool val)
void UserEnergyHisto(const G4ThreeVector &)
void SetInterCept(G4double)
void ArbEnergyHisto(const G4ThreeVector &)
void SetParAlpha(G4double)
void SetPosRot2(const G4ThreeVector &)
void SetBeamSigmaInX(G4double)
void ConfineSourceToVolume(const G4String &)
void SetPosDisShape(const G4String &)
void SetCentreCoords(const G4ThreeVector &)
void SetBeamSigmaInR(G4double)
void SetRadius0(G4double)
void SetParTheta(G4double)
void SetPosRot1(const G4ThreeVector &)
void SetPosDisType(const G4String &)
void SetBeamSigmaInY(G4double)
void SetXBias(const G4ThreeVector &)
void SetEnergyBias(const G4ThreeVector &)
void SetPosPhiBias(const G4ThreeVector &)
void SetThetaBias(const G4ThreeVector &)
void SetYBias(const G4ThreeVector &)
void SetPosThetaBias(const G4ThreeVector &)
void SetPhiBias(const G4ThreeVector &)
void SetZBias(const G4ThreeVector &)
void ReSetHist(const G4String &)
void SetNumberOfParticles(G4int i)
void SetParticleTime(G4double aTime)
void SetParticleDefinition(G4ParticleDefinition *aParticleDefinition)
G4SPSAngDistribution * GetAngDist() const
G4SPSRandomGenerator * GetBiasRndm() const
G4SPSEneDistribution * GetEneDist() const
void SetParticlePolarization(const G4ThreeVector &aVal)
void SetParticleCharge(G4double aCharge)
G4SPSPosDistribution * GetPosDist() const
void SetDefaultUnit(const char *defUnit)
static G4ThreeVector GetNew3VectorValue(const char *paramString)
void SetParameterName(const char *theNameX, const char *theNameY, const char *theNameZ, G4bool omittable, G4bool currentAsDefault=false)
static G4ThreeVector GetNew3VectorValue(const char *paramString)
void SetParameterName(const char *theNameX, const char *theNameY, const char *theNameZ, G4bool omittable, G4bool currentAsDefault=false)
static G4bool GetNewBoolValue(const char *paramString)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetDefaultValue(G4bool defVal)
void SetDefaultValue(G4double defVal)
void SetDefaultUnit(const char *defUnit)
static G4double GetNewDoubleValue(const char *paramString)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
static G4double GetNewDoubleValue(const char *paramString)
void SetCandidates(const char *candidateList)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetDefaultValue(const char *defVal)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
static G4int GetNewIntValue(const char *paramString)
const G4String & GetCommandPath() const
void SetParameter(G4UIparameter *const newParameter)
void SetGuidance(const char *aGuidance)
void CommandFailed(G4int errCode, G4ExceptionDescription &ed)
void SetRange(const char *rs)
const G4String & GetCommandName() const
G4bool commandsShouldBeInMaster
G4double StoD(G4String s)
void SetDefaultValue(const char *theDefaultValue)
G4GeneralParticleSourceMessenger * theInstance