35 :theRadioactiveDecayContainer(theRadioactiveDecayContainer1)
39 grdmDirectory->SetGuidance(
"Controls for the Radioactive Decay Module.");
42 nucleuslimitsCmd =
new
44 nucleuslimitsCmd->SetGuidance
45 (
"Set the atomic weight and number limits for the RDM.");
46 nucleuslimitsCmd->SetParameterName(
"aMin",
"aMax",
"zMin",
"zMax",
true);
51 analoguemcCmd->SetGuidance(
"false: variance reduction method; true: analogue method");
52 analoguemcCmd->SetParameterName(
"AnalogueMC",
true);
53 analoguemcCmd->SetDefaultValue(
true);
59 fbetaCmd->SetGuidance(
"false: use 3-body decay, true: use histogram method");
60 fbetaCmd->SetParameterName(
"fBeta",
true);
61 fbetaCmd->SetDefaultValue(
false);
69 avolumeCmd->SetGuidance
70 (
"Suppply a logical volumes name to add it to the RDM apply list");
71 avolumeCmd->SetParameterName(
"aVolume",
false);
79 deavolumeCmd->SetGuidance
80 (
"Suppply a logical volumes name to remove it from the RDM apply list");
81 deavolumeCmd->SetParameterName(
"aVolume",
false);
88 allvolumesCmd->SetGuidance
89 (
" apply RDM to all logical volumes. No parameter required.");
97 deallvolumesCmd->SetGuidance
98 (
" RDM is not applied to any logical volumes");
105 brbiasCmd->SetGuidance(
"false: no biasing; true: all branches are treated as equal");
106 brbiasCmd->SetParameterName(
"BRBias",
true);
107 brbiasCmd->SetDefaultValue(
true);
112 icmCmd->SetGuidance(
"True: ICM is applied; false: no");
113 icmCmd->SetParameterName(
"applyICM",
true);
114 icmCmd->SetDefaultValue(
true);
119 armCmd->SetGuidance(
"True: ARM is applied; false: no");
120 armCmd->SetParameterName(
"applyARM",
true);
121 armCmd->SetDefaultValue(
true);
127 hlthCmd->SetGuidance(
"Set the h-l threshold for isomer production");
128 hlthCmd->SetParameterName(
"hlThreshold",
false);
130 hlthCmd->SetUnitCategory(
"Time");
135 sourcetimeprofileCmd =
new
137 sourcetimeprofileCmd->SetGuidance
138 (
"Supply the name of the ascii file containing the source particle time profile");
139 sourcetimeprofileCmd->SetParameterName(
"STimeProfile",
true);
140 sourcetimeprofileCmd->SetDefaultValue(
"source.data");
145 decaybiasprofileCmd =
new
147 decaybiasprofileCmd->SetGuidance
148 (
"Supply the name of the ascii file containing the decay bias time profile");
149 decaybiasprofileCmd->SetParameterName(
"DBiasProfile",
true);
150 decaybiasprofileCmd->SetDefaultValue(
"bias.data");
156 colldirCmd->SetGuidance(
"Supply the direction vector for decay products");
157 colldirCmd->SetParameterName(
"X",
"Y",
"Z",
false);
163 collangleCmd->SetGuidance
164 (
"Supply maximum angle from direction vector for decay products");
165 collangleCmd->SetParameterName(
"halfAngle",
false);
166 collangleCmd->SetUnitCategory(
"Angle");
172 splitnucleiCmd->SetGuidance(
"Set number of spliting for the isotopes.");
173 splitnucleiCmd->SetParameterName(
"NSplit",
true);
174 splitnucleiCmd->SetDefaultValue(1);
175 splitnucleiCmd->SetRange(
"NSplit>=1");
181 verboseCmd->SetGuidance(
"Set verbose level: 0, 1, 2 or 3");
182 verboseCmd->SetParameterName(
"VerboseLevel",
true);
183 verboseCmd->SetDefaultValue(1);
184 verboseCmd->SetRange(
"VerboseLevel>=0");
190 userDecayDataCmd =
new G4UIcommand(
"/grdm/setRadioactiveDecayFile",
this);
193 Z_para->
SetGuidance(
"Z: Charge number of isotope");
201 FileName_para->
SetGuidance(
"Name of the user data file");
202 userDecayDataCmd->SetParameter(Z_para);
203 userDecayDataCmd->SetParameter(A_para);
204 userDecayDataCmd->SetParameter(FileName_para);
210 userEvaporationDataCmd =
new G4UIcommand(
"/grdm/setPhotoEvaporationFile",
this);
211 userEvaporationDataCmd->SetParameter(Z_para);
212 userEvaporationDataCmd->SetParameter(A_para);
213 userEvaporationDataCmd->SetParameter(FileName_para);
257 SelectAVolume(newValues);
260 DeselectAVolume(newValues);}
264 DeselectAllVolumes();}
268 SetSourceTimeProfile(newValues);}
270 SetDecayBias(newValues);}
285 const char* nv = (
const char*)newValues;
286 std::istringstream is(nv);
287 is >> Z >> A >> file_name;
293 const char* nv = (
const char*)newValues;
294 std::istringstream is(nv);
295 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
G4bool AddPrivateData(G4int Z, G4int A, const G4String &filename)
G4UIcmdWithAString * deavolumeCmd
static G4double GetNewDoubleValue(const char *paramString)
static G4bool GetNewBoolValue(const char *paramString)
~G4RadioactiveDecaymessenger()
G4UIdirectory * grdmDirectory
G4UIcmdWithoutParameter * allvolumesCmd
G4UIcmdWithAnInteger * splitnucleiCmd
double A(double temperature)
static G4ThreeVector GetNew3VectorValue(const char *paramString)
G4UIcmdWithABool * fbetaCmd
G4UIcmdWithADoubleAndUnit * collangleCmd
G4UIcommand * userDecayDataCmd
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
static G4NuclearLevelData * GetInstance()
void AddUserDecayDataFile(G4int Z, G4int A, G4String filename)
G4UIcmdWithABool * brbiasCmd
G4UIcmdWithADoubleAndUnit * hlthCmd