48 :fParticleGun(fPtclGun),fShootIon(
false),
49 fAtomicNumber(0),fAtomicMass(0),fIonCharge(0),fIonExciteEnergy(0.0),
50 fIonFloatingLevelBase(
'\0'),fIonEnergyLevel(0)
55 gunDirectory->
SetGuidance(
"Particle Gun control commands.");
62 particleCmd->
SetGuidance(
"Set particle to be generated.");
64 particleCmd->
SetGuidance(
" (ion can be specified for shooting ions)");
79 candidateList +=
"ion ";
83 directionCmd->
SetGuidance(
"Set momentum direction.");
84 directionCmd->
SetGuidance(
"Direction needs not to be a unit vector.");
86 directionCmd->
SetRange(
"ex != 0 || ey != 0 || ez != 0");
96 momCmd->
SetGuidance(
"Set momentum. This command is equivalent to two commands /gun/direction and /gun/momentumAmp");
98 momCmd->
SetRange(
"px != 0 || py != 0 || pz != 0");
102 momAmpCmd->
SetGuidance(
"Set absolute value of momentum.");
103 momAmpCmd->
SetGuidance(
"Direction should be set by /gun/direction command.");
104 momAmpCmd->
SetGuidance(
"This command should be used alternatively with /gun/energy.");
109 positionCmd->
SetGuidance(
"Set starting position of the particle.");
116 timeCmd->
SetGuidance(
"Set initial time of the particle.");
125 polCmd->
SetRange(
"Px>=-1.&&Px<=1.&&Py>=-1.&&Py<=1.&&Pz>=-1.&&Pz<=1.");
128 numberCmd->
SetGuidance(
"Set number of particles to be generated.");
133 ionCmd->
SetGuidance(
"Set properties of ion to be generated.");
134 ionCmd->
SetGuidance(
"[usage] /gun/ion Z A [Q E flb]");
137 ionCmd->
SetGuidance(
" Q:(int) Charge of Ion (in unit of e)");
138 ionCmd->
SetGuidance(
" E:(double) Excitation energy (in keV)");
139 ionCmd->
SetGuidance(
" flb:(char) Floating level base");
158 ionLvlCmd->
SetGuidance(
"Set properties of ion to be generated.");
159 ionLvlCmd->
SetGuidance(
"[usage] /gun/ionL Z A [Q I]");
162 ionLvlCmd->
SetGuidance(
" Q:(int) Charge of Ion (in unit of e)");
163 ionLvlCmd->
SetGuidance(
" I:(int) Level number of metastable state (0 = ground)");
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetParameter(G4UIparameter *const newParameter)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
CLHEP::Hep3Vector G4ThreeVector
void SetParameterCandidates(const char *theString)
void SetDefaultUnit(const char *defUnit)
void SetParameterName(const char *theNameX, const char *theNameY, const char *theNameZ, G4bool omittable, G4bool currentAsDefault=false)
void SetDefaultValue(const char *theDefaultValue)
void SetParticleMomentumDirection(G4ParticleMomentum aMomentumDirection)
void SetParameterName(const char *theNameX, const char *theNameY, const char *theNameZ, G4bool omittable, G4bool currentAsDefault=false)
const G4String & GetParticleName() const
G4DecayTable * GetDecayTable() const
void SetParticlePosition(G4ThreeVector aPosition)
void reset(G4bool ifSkipIon=true)
void SetRange(const char *rs)
void SetGuidance(const char *aGuidance)
static constexpr double cm
void SetParticleEnergy(G4double aKineticEnergy)
G4bool IsShortLived() const
static G4ParticleTable * GetParticleTable()
void SetDefaultValue(const char *defVal)
void SetDefaultUnit(const char *defUnit)
static constexpr double GeV
static G4Geantino * Geantino()
void SetCandidates(const char *candidateList)
G4PTblDicIterator * GetIterator() const
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetParticleDefinition(G4ParticleDefinition *aParticleDefinition)
void SetParticleTime(G4double aTime)