37 :theRadioactiveDecayContainer(theRadioactiveDecayContainer1)
45 grdmDirectory->SetGuidance(
"Controls for the Radioactive Decay Module.");
50 nucleuslimitsCmd =
new
52 nucleuslimitsCmd->SetGuidance
53 (
"Set the atomic weight and number limits for the RDM.");
54 nucleuslimitsCmd->SetParameterName(
"aMin",
"aMax",
"zMin",
"zMax",
true);
62 analoguemcCmd->SetGuidance(
"false: variance reduction method; true: analogue method");
63 analoguemcCmd->SetParameterName(
"AnalogueMC",
true);
64 analoguemcCmd->SetDefaultValue(
true);
70 fbetaCmd->SetGuidance(
"false: use 3-body decay, true: use histogram method");
71 fbetaCmd->SetParameterName(
"fBeta",
true);
72 fbetaCmd->SetDefaultValue(
false);
80 avolumeCmd->SetGuidance
81 (
"Suppply a logical volumes name to add it to the RDM apply list");
82 avolumeCmd->SetParameterName(
"aVolume",
false);
90 deavolumeCmd->SetGuidance
91 (
"Suppply a logical volumes name to remove it from the RDM apply list");
92 deavolumeCmd->SetParameterName(
"aVolume",
false);
99 allvolumesCmd->SetGuidance
100 (
" apply RDM to all logical volumes. No parameter required.");
106 deallvolumesCmd =
new
108 deallvolumesCmd->SetGuidance
109 (
" RDM is not applied to any logical volumes");
116 brbiasCmd->SetGuidance(
"false: no biasing; true: all branches are treated as equal");
117 brbiasCmd->SetParameterName(
"BRBias",
true);
118 brbiasCmd->SetDefaultValue(
true);
123 icmCmd->SetGuidance(
"True: ICM is applied; false: no");
124 icmCmd->SetParameterName(
"applyICM",
true);
125 icmCmd->SetDefaultValue(
true);
131 armCmd->SetGuidance(
"True: ARM is applied; false: no");
132 armCmd->SetParameterName(
"applyARM",
true);
133 armCmd->SetDefaultValue(
true);
139 hlthCmd->SetGuidance(
"Set the h-l threshold for isomer production");
140 hlthCmd->SetParameterName(
"hlThreshold",
false);
142 hlthCmd->SetUnitCategory(
"Time");
147 sourcetimeprofileCmd =
new
149 sourcetimeprofileCmd->SetGuidance
150 (
"Supply the name of the ascii file containing the source particle time profile");
151 sourcetimeprofileCmd->SetParameterName(
"STimeProfile",
true);
152 sourcetimeprofileCmd->SetDefaultValue(
"source.data");
157 decaybiasprofileCmd =
new
159 decaybiasprofileCmd->SetGuidance
160 (
"Supply the name of the ascii file containing the decay bias time profile");
161 decaybiasprofileCmd->SetParameterName(
"DBiasProfile",
true);
162 decaybiasprofileCmd->SetDefaultValue(
"bias.data");
168 colldirCmd->SetGuidance(
"Supply the direction vector for decay products");
169 colldirCmd->SetParameterName(
"X",
"Y",
"Z",
false);
175 collangleCmd->SetGuidance
176 (
"Supply maximum angle from direction vector for decay products");
177 collangleCmd->SetParameterName(
"halfAngle",
false);
178 collangleCmd->SetUnitCategory(
"Angle");
184 splitnucleiCmd->SetGuidance(
"Set number of spliting for the isotopes.");
185 splitnucleiCmd->SetParameterName(
"NSplit",
true);
186 splitnucleiCmd->SetDefaultValue(1);
187 splitnucleiCmd->SetRange(
"NSplit>=1");
193 verboseCmd->SetGuidance(
"Set verbose level: 0, 1, 2 or 3");
194 verboseCmd->SetParameterName(
"VerboseLevel",
true);
195 verboseCmd->SetDefaultValue(1);
196 verboseCmd->SetRange(
"VerboseLevel>=0");
202 userDecayDataCmd =
new G4UIcommand(
"/grdm/setRadioactiveDecayFile",
this);
205 Z_para->
SetGuidance(
"Z: Charge number of isotope");
213 FileName_para->
SetGuidance(
"Name of the user data file");
214 userDecayDataCmd->SetParameter(Z_para);
215 userDecayDataCmd->SetParameter(A_para);
216 userDecayDataCmd->SetParameter(FileName_para);
222 userEvaporationDataCmd =
new G4UIcommand(
"/grdm/setPhotoEvaporationFile",
this);
223 userEvaporationDataCmd->SetParameter(Z_para);
224 userEvaporationDataCmd->SetParameter(A_para);
225 userEvaporationDataCmd->SetParameter(FileName_para);
266 SelectAVolume(newValues);}
268 DeselectAVolume(newValues);}
272 DeselectAllVolumes();}
276 SetSourceTimeProfile(newValues);}
278 SetDecayBias(newValues);}
293 const char* nv = (
const char*)newValues;
294 std::istringstream is(nv);
295 is >> Z>>A>>file_name;
301 const char* nv = (
const char*)newValues;
302 std::istringstream is(nv);
303 is >> Z>>A>>file_name;
G4UIcmdWithABool * armCmd
G4UIcmdWithAnInteger * verboseCmd
static G4int GetNewIntValue(const char *paramString)
G4UIcmdWith3Vector * colldirCmd
G4UIcmdWithAString * avolumeCmd
void SetParameterRange(const char *theRange)
G4UIcmdWithAString * sourcetimeprofileCmd
G4UIcmdWithoutParameter * deallvolumesCmd
static G4NuclearLevelStore * GetInstance()
G4UIcmdWithAString * deavolumeCmd
static G4double GetNewDoubleValue(const char *paramString)
static G4bool GetNewBoolValue(const char *paramString)
~G4RadioactiveDecaymessenger()
G4UIdirectory * grdmDirectory
void AddUserEvaporationDataFile(G4int Z, G4int A, const G4String &filename)
G4UIcmdWithoutParameter * allvolumesCmd
G4UIcmdWithAnInteger * splitnucleiCmd
static G4ThreeVector GetNew3VectorValue(const char *paramString)
G4UIcmdWithABool * fbetaCmd
G4UIcmdWithADoubleAndUnit * collangleCmd
G4UIcommand * userDecayDataCmd
static const G4double A[nN]
G4UIcmdWithABool * analoguemcCmd
G4UIcmdWithAString * decaybiasprofileCmd
void SetNewValue(G4UIcommand *command, G4String newValues)
G4NucleusLimits GetNewNucleusLimitsValue(G4String paramString)
G4RadioactiveDecay * theRadioactiveDecayContainer
G4UIcommand * userEvaporationDataCmd
G4UIcmdWithABool * icmCmd
G4RadioactiveDecaymessenger(G4RadioactiveDecay *theRadioactiveDecayContainer)
void SetGuidance(const char *theGuidance)
G4UIcmdWithNucleusLimits * nucleuslimitsCmd
void AddUserDecayDataFile(G4int Z, G4int A, G4String filename)
G4UIcmdWithABool * brbiasCmd
G4UIcmdWithADoubleAndUnit * hlthCmd