95 if ( theInstance != 0 ) {
194 for(
G4int i=0;i<nPtcl;i++)
197 candidateList +=
" ";
199 candidateList +=
"ion ";
278 polCmd->
SetRange(
"Px>=-1.&&Px<=1.&&Py>=-1.&&Py<=1.&&Pz>=-1.&&Pz<=1.");
591 surfnormCmd1->
SetGuidance(
"Makes a user-defined distribution with respect to surface normals rather than x,y,z axes.");
711 tempCmd1->
SetGuidance(
"Sets the temperature for Brem and BBody distributions (in Kelvin)");
999 #define CHECKPG() { if (fParticleGun==NULL) { \ 1000 G4ExceptionDescription msg; \ 1001 msg << "Command "<< command->GetCommandPath()<<"/";\ 1002 msg<<command->GetCommandName() << " used but no particle sources are set.";\ 1003 msg <<" Add at least a source with: /gps/source/add.";\ 1004 G4Exception("G4GeneralParticleSourceMessenger::SetNewValue","G4GPS003",\ 1005 FatalException,msg); return;\ 1392 if (newValues ==
"ion") {
1403 else if( command==
polCmd )
1407 else if( command==
ionCmd )
1705 if(newValues ==
"theta" || newValues ==
"phi") {
1707 }
else if (newValues ==
"energy" || newValues ==
"arb" || newValues ==
"epn") {
1740 cv =
"Not implemented yet";
1788 G4cout <<
"Set /gps/particle to ion before using /gps/ion command";
1826 G4cout <<
"Set /gps/particle to ion before using /gps/ionLvl command";
void IonCommand(G4String newValues)
static G4GeneralParticleSourceMessenger * GetInstance(G4GeneralParticleSource *)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetBeamSigmaInE(G4double)
void SetParameter(G4UIparameter *const newParameter)
G4UIcmdWithADoubleAndUnit * possigmaxCmd1
G4SPSPosDistribution * GetPosDist() const
G4SPSRandomGenerator * GetBiasRndm() const
G4UIcmdWithABool * diffspecCmd1
G4UIdirectory * gpsDirectory
G4UIcmdWith3Vector * angrot2Cmd1
void SetParticleTime(G4double aTime)
const G4String & GetCommandName() const
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
~G4GeneralParticleSourceMessenger()
G4UIcmdWith3VectorAndUnit * angfocusCmd
void SetDefaultValue(G4double defVal)
void AddaSource(G4double)
G4UIcmdWithoutParameter * calculateCmd1
void DumpTable(const G4String &particle_name="ALL")
void SetPosDisType(G4String)
void SetParTheta(G4double)
std::ostringstream G4ExceptionDescription
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetBeamSigmaInX(G4double)
G4UIcmdWith3Vector * angrot1Cmd1
G4UIcmdWithADouble * arbeintCmd1
void ArbEnergyHisto(G4ThreeVector)
G4UIcmdWithADouble * gradientCmd1
static G4int GetNewIntValue(const char *paramString)
void SetBeamSigmaInAngR(G4double)
G4UIcmdWithADoubleAndUnit * radius0Cmd1
G4UIcmdWithADouble * interceptCmd1
G4UIcmdWithAString * particleCmd
G4UIcmdWithAString * histfileCmd1
void SetDefaultUnit(const char *defUnit)
G4ParticleDefinition * GetIon(G4int Z, G4int A, G4int lvl=0)
G4UIcmdWithADoubleAndUnit * paralpCmd1
void SetParameterName(const char *theNameX, const char *theNameY, const char *theNameZ, G4bool omittable, G4bool currentAsDefault=false)
void SetMultipleVertex(G4bool av)
G4UIcmdWith3Vector * histpointCmd1
G4UIcmdWithADoubleAndUnit * parphiCmd1
static G4ThreeVector GetNew3VectorValue(const char *paramString)
void SetDefaultValue(const char *theDefaultValue)
void SetParAlpha(G4double)
G4UIcmdWithADoubleAndUnit * halfxCmd1
G4double GetCurrentSourceIntensity() const
void SetBeamSigmaInAngY(G4double)
G4UIdirectory * sourceDirectory
void SetMinTheta(G4double)
void SetEnergyBias(G4ThreeVector)
void SetNewValue(G4UIcommand *command, G4String newValues)
void SetUseUserAngAxis(G4bool)
void SetYBias(G4ThreeVector)
G4UIcmdWithAString * angtypeCmd1
G4SPSEneDistribution * GetEneDist() const
G4UIcmdWithADoubleAndUnit * emaxCmd1
static G4double GetNewDoubleValue(const char *paramString)
G4UIcmdWithABool * useuserangaxisCmd1
G4UIcmdWithAnInteger * setsourceCmd
void SetCurrentSourceIntensity(G4double)
void SetPosThetaBias(G4ThreeVector)
G4UIcmdWithoutParameter * clearsourceCmd
void SetParameterName(const char *theNameX, const char *theNameY, const char *theNameZ, G4bool omittable, G4bool currentAsDefault=false)
G4UIcmdWithABool * energyspecCmd1
G4UIcmdWithADouble * setintensityCmd
static G4bool GetNewBoolValue(const char *paramString)
#define G4MUTEX_INITIALIZER
G4UIcmdWithABool * multiplevertexCmd
void SetVerbosity(G4int i)
void SetThetaBias(G4ThreeVector)
G4UIdirectory * positionDirectory
G4ParticleTable * particleTable
void SetZBias(G4ThreeVector)
void SetXBias(G4ThreeVector)
G4UIdirectory * energyDirectory
void SetDefaultValue(G4bool defVal)
G4UIcmdWithAnInteger * numberCmd
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
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
void SetEnergyDisType(G4String)
void SetBeamSigmaInR(G4double)
G4UIcmdWith3VectorAndUnit * positionCmd
G4UIcmdWithADoubleAndUnit * angsigmaxCmd1
G4UIcmdWithoutParameter * listsourceCmd
G4UIcmdWithoutParameter * listCmd
G4UIcmdWithADoubleAndUnit * maxthetaCmd1
G4SPSAngDistribution * GetAngDist() const
G4GeneralParticleSourceMessenger(G4GeneralParticleSource *)
G4UIcmdWith3Vector * posrot1Cmd1
G4UIcmdWithAString * shapeCmd1
static G4double GetNewDoubleValue(const char *paramString)
void SetRange(const char *rs)
void SetGuidance(const char *aGuidance)
G4GeneralParticleSource * fGPS
G4UIcmdWithADoubleAndUnit * energyCmd
void DefineAngRefAxes(G4String, G4ThreeVector)
void SetParticlePolarization(G4ThreeVector aVal)
void SetParticleDefinition(G4ParticleDefinition *aParticleDefinition)
void SetPosRot1(G4ThreeVector)
G4UIdirectory * histDirectory
G4UIcmdWithAString * histnameCmd1
G4UIcmdWithAnInteger * verbosityCmd
G4UIcmdWithADoubleAndUnit * possigmayCmd1
void IonLvlCommand(G4String newValues)
void SetPosDisShape(G4String)
G4UIcmdWithoutParameter * getsourceCmd
G4UIcmdWithADoubleAndUnit * halfyCmd1
static G4IonTable * GetIonTable()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
void ArbInterpolate(G4String)
void EpnEnergyHisto(G4ThreeVector)
G4String GetCurrentValue(G4UIcommand *command)
G4double fIonExciteEnergy
void SetPhiBias(G4ThreeVector)
G4UIcmdWithADoubleAndUnit * engsigmaCmd1
void InputEnergySpectra(G4bool)
G4UIcmdWith3VectorAndUnit * centreCmd1
G4UIcmdWithADouble * tempCmd1
G4UIcmdWithAString * confineCmd1
void SetAngDistType(G4String)
G4UIcmdWithADoubleAndUnit * halfzCmd1
G4UIcmdWithADoubleAndUnit * partheCmd1
static G4ParticleTable * GetParticleTable()
G4SingleParticleSource * fParticleGun
void SetDefaultValue(const char *defVal)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
G4UIcmdWithADoubleAndUnit * maxphiCmd1
void SetGradient(G4double)
void UserEnergyHisto(G4ThreeVector)
G4double StoD(G4String s)
void SetPosRot2(G4ThreeVector)
G4UIcmdWith3Vector * posrot2Cmd1
void SetInterCept(G4double)
void SetDefaultUnit(const char *defUnit)
void InputDifferentialSpectra(G4bool)
void SetFocusPoint(G4ThreeVector)
const G4String & GetCommandPath() const
void SetParticleMomentumDirection(G4ParticleMomentum aMomentumDirection)
G4UIcmdWithAString * typeCmd1
const G4String & GetParticleName(G4int index) const
G4UIcmdWithADouble * alphaCmd1
void SetBiasAlpha(G4double)
G4UIcmdWithADoubleAndUnit * minphiCmd1
void SetCandidates(const char *candidateList)
void DeleteaSource(G4int)
G4UIcmdWithADoubleAndUnit * eminCmd1
G4UIcmdWithADouble * ezeroCmd1
G4UIcmdWithADoubleAndUnit * minthetaCmd1
G4UIcmdWithADoubleAndUnit * radiusCmd1
G4int GetCurrentSourceIndex() const
G4UIcmdWithADouble * addsourceCmd
G4bool commandsShouldBeInMaster
void SetCurrentSourceto(G4int)
void ArbEnergyHistoFile(G4String)
void SetUserWRTSurface(G4bool)
void SetParticleCharge(G4double aCharge)
G4UIcmdWithAnInteger * deletesourceCmd
static const double eplus
void ConfineSourceToVolume(G4String)
void SetFlatSampling(G4bool av)
void SetMaxTheta(G4double)
G4UIcmdWithADoubleAndUnit * monoenergyCmd1
G4UIcmdWithAString * energytypeCmd1
G4UIcmdWithAString * resethistCmd1
void SetRadius0(G4double)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
G4int GetNumberofSource()
void SetBeamSigmaInY(G4double)
G4UIcmdWithADoubleAndUnit * timeCmd
void SetNumberOfParticles(G4int i)
void SetMonoEnergy(G4double)
G4UIdirectory * angularDirectory
void SetPosPhiBias(G4ThreeVector)
void SetBeamSigmaInAngX(G4double)