35:theRadioactiveDecayContainer(theRadioactiveDecayContainer1)
39 old_grdmDirectory->
SetGuidance(
"Controls for the Radioactive Decay Module.");
42 rdmDirectory->
SetGuidance(
"Controls for the Radioactive Decay Module.");
46 old_nucleuslimitsCmd->
SetGuidance(
"Set the atomic weight and number limits for the RDM.");
47 old_nucleuslimitsCmd->
SetParameterName(
"OldAMin",
"OldAMax",
"OldZMin",
"OldZMax",
true);
50 nucleuslimitsCmd->
SetGuidance(
"Set the atomic weight and number limits for the RDM.");
56 old_analoguemcCmd->
SetGuidance(
"false: variance reduction method; true: analogue method");
61 analoguemcCmd->
SetGuidance(
"false: variance reduction method; true: analogue method");
67 old_fbetaCmd->
SetGuidance(
"false: use 3-body decay, true: use histogram method");
72 fbetaCmd->
SetGuidance(
"false: use 3-body decay, true: use histogram method");
78 old_avolumeCmd->
SetGuidance(
"Supply a logical volumes name to add it to the RDM apply list");
82 avolumeCmd->
SetGuidance(
"Supply a logical volumes name to add it to the RDM apply list");
87 old_deavolumeCmd->
SetGuidance(
"Supply a logical volumes name to remove it from the RDM apply list");
91 deavolumeCmd->
SetGuidance(
"Supply a logical volumes name to remove it from the RDM apply list");
96 old_allvolumesCmd->
SetGuidance(
" apply RDM to all logical volumes. No parameter required.");
100 allvolumesCmd->
SetGuidance(
" apply RDM to all logical volumes. No parameter required.");
105 old_deallvolumesCmd->
SetGuidance(
" RDM is not applied to any logical volumes");
109 deallvolumesCmd->
SetGuidance(
" RDM is not applied to any logical volumes");
114 old_brbiasCmd->
SetGuidance(
"false: no biasing; true: all branches are treated as equal");
119 brbiasCmd->
SetGuidance(
"false: no biasing; true: all branches are treated as equal");
125 old_icmCmd->
SetGuidance(
"True: ICM is applied; false: no");
130 icmCmd->
SetGuidance(
"True: ICM is applied; false: no");
136 old_armCmd->
SetGuidance(
"True: ARM is applied; false: no");
142 armCmd->
SetGuidance(
"True: ARM is applied; false: no");
149 old_hlthCmd->
SetGuidance(
"Set the h-l threshold for isomer production");
156 hlthCmd->
SetGuidance(
"Set the h-l threshold for isomer production");
165 (
"Supply the name of the ascii file containing the source particle time profile");
169 sourcetimeprofileCmd =
new G4UIcmdWithAString(
"/process/had/rdm/sourceTimeProfile",
this);
171 (
"Supply the name of the ascii file containing the source particle time profile");
178 (
"Supply the name of the ascii file containing the decay bias time profile");
182 decaybiasprofileCmd =
new G4UIcmdWithAString(
"/process/had/rdm/decayBiasProfile",
this);
184 (
"Supply the name of the ascii file containing the decay bias time profile");
190 old_colldirCmd->
SetGuidance(
"Supply the direction vector for decay products");
194 colldirCmd->
SetGuidance(
"Supply the direction vector for decay products");
199 old_collangleCmd->
SetGuidance(
"Supply maximum angle from direction vector for decay products");
204 collangleCmd->
SetGuidance(
"Supply maximum angle from direction vector for decay products");
210 old_splitnucleiCmd->
SetGuidance(
"Set number of spliting for the isotopes.");
213 old_splitnucleiCmd->
SetRange(
"OldNSplit>=1");
216 splitnucleiCmd->
SetGuidance(
"Set number of spliting for the isotopes.");
219 splitnucleiCmd->
SetRange(
"NSplit>=1");
223 old_verboseCmd->
SetGuidance(
"Set verbose level: 0, 1, 2 or 3");
226 old_verboseCmd->
SetRange(
"OldVerboseLevel>=0");
229 verboseCmd->
SetGuidance(
"Set verbose level: 0, 1, 2 or 3");
232 verboseCmd->
SetRange(
"VerboseLevel>=0");
235 old_userDecayDataCmd =
new G4UIcommand(
"/grdm/setRadioactiveDecayFile",
this);
238 old_Z_para->
SetGuidance(
"Z: Charge number of isotope");
241 old_A_para->
SetGuidance(
"A: mass number of isotope");
243 old_FileName_para->
SetGuidance(
"Name of the user data file");
248 userDecayDataCmd =
new G4UIcommand(
"/process/had/rdm/setRadioactiveDecayFile",
this);
251 Z_para->
SetGuidance(
"Z: Charge number of isotope");
256 FileName_para->
SetGuidance(
"Name of the user data file");
262 old_userEvaporationDataCmd =
new G4UIcommand(
"/grdm/setPhotoEvaporationFile",
this);
265 old_Z_para_->
SetGuidance(
"Z: Charge number of isotope");
268 old_A_para_->
SetGuidance(
"A: mass number of isotope");
270 old_FileName_para_->
SetGuidance(
"Name of the user data file");
273 old_userEvaporationDataCmd->
SetParameter(old_FileName_para_);
275 userEvaporationDataCmd =
new G4UIcommand(
"/process/had/rdm/setPhotoEvaporationFile",
this);
278 Z_para_->
SetGuidance(
"Z: Charge number of isotope");
283 FileName_para_->
SetGuidance(
"Name of the user data file");
293 delete old_grdmDirectory;
295 delete old_nucleuslimitsCmd;
296 delete nucleuslimitsCmd;
297 delete old_sourcetimeprofileCmd;
298 delete sourcetimeprofileCmd;
299 delete old_decaybiasprofileCmd;
300 delete decaybiasprofileCmd;
301 delete old_analoguemcCmd;
302 delete analoguemcCmd;
305 delete old_brbiasCmd;
307 delete old_splitnucleiCmd;
308 delete splitnucleiCmd;
309 delete old_verboseCmd;
311 delete old_avolumeCmd;
313 delete old_deavolumeCmd;
315 delete old_allvolumesCmd;
316 delete allvolumesCmd;
317 delete old_deallvolumesCmd;
318 delete deallvolumesCmd;
325 delete old_userDecayDataCmd;
326 delete userDecayDataCmd;
327 delete old_userEvaporationDataCmd;
328 delete userEvaporationDataCmd;
329 delete old_colldirCmd;
331 delete old_collangleCmd;
339 if ( command == old_nucleuslimitsCmd ) {
340 theRadioactiveDecayContainer->
343 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
344 <<
"/process/had/rdm/nucleusLimits in the next major release, Geant4 version 11.0";
346 }
else if ( command == old_analoguemcCmd ) {
347 theRadioactiveDecayContainer->
348 SetAnalogueMonteCarlo( old_analoguemcCmd->
GetNewBoolValue( newValues ) );
350 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
351 <<
"/process/had/rdm/analogueMC in the next major release, Geant4 version 11.0";
353 }
else if ( command == old_fbetaCmd ) {
356 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
357 <<
"/process/had/rdm/fBeta in the next major release, Geant4 version 11.0";
359 }
else if ( command == old_avolumeCmd ) {
362 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
363 <<
"/process/had/rdm/selectVolume in the next major release, Geant4 version 11.0";
365 }
else if ( command == old_deavolumeCmd ) {
368 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
369 <<
"/process/had/rdm/deselectVolume in the next major release, Geant4 version 11.0";
371 }
else if ( command == old_allvolumesCmd ) {
374 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
375 <<
"/process/had/rdm/allVolumes in the next major release, Geant4 version 11.0";
377 }
else if ( command == old_deallvolumesCmd ) {
380 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
381 <<
"/process/had/rdm/noVolumes in the next major release, Geant4 version 11.0";
383 }
else if ( command == old_brbiasCmd ) {
386 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
387 <<
"/process/had/rdm/BRbias in the next major release, Geant4 version 11.0";
389 }
else if ( command == old_sourcetimeprofileCmd ) {
392 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
393 <<
"/process/had/rdm/sourceTimeProfile in the next major release, Geant4 version 11.0";
395 }
else if ( command == old_decaybiasprofileCmd ) {
396 theRadioactiveDecayContainer->
SetDecayBias( newValues );
398 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
399 <<
"/process/had/rdm/decayBiasProfile in the next major release, Geant4 version 11.0";
401 }
else if ( command == old_splitnucleiCmd ) {
404 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
405 <<
"/process/had/rdm/splitNuclei in the next major release, Geant4 version 11.0";
407 }
else if ( command == old_verboseCmd ) {
410 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
411 <<
"/process/had/rdm/verbose in the next major release, Geant4 version 11.0";
413 }
else if ( command == old_icmCmd ) {
416 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
417 <<
"/process/had/rdm/applyICM in the next major release, Geant4 version 11.0";
419 }
else if ( command == old_armCmd ) {
422 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
423 <<
"/process/had/rdm/applyARM in the next major release, Geant4 version 11.0";
425 }
else if ( command == old_hlthCmd ) {
428 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
429 <<
"/process/had/rdm/hlThreshold in the next major release, Geant4 version 11.0";
431 }
else if ( command == old_userDecayDataCmd ) {
434 const char* nv = (
const char*)newValues;
435 std::istringstream is(nv);
436 is >> Z >>
A >> file_name;
439 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
440 <<
"/process/had/rdm/setRadioactiveDecayFile in the next major release, Geant4 version 11.0";
442 }
else if ( command == old_userEvaporationDataCmd ) {
445 const char* nv = (
const char*)newValues;
446 std::istringstream is(nv);
447 is >> Z >>
A >> file_name;
450 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
451 <<
"/process/had/rdm/setPhotoEvaporationFile in the next major release, Geant4 version 11.0";
453 }
else if ( command == old_colldirCmd ) {
456 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
457 <<
"/process/had/rdm/decayDirection in the next major release, Geant4 version 11.0";
459 }
else if ( command == old_collangleCmd ) {
462 ed <<
"This command is valid but deprecated and will be replaced with the command:\n"
463 <<
"/process/had/rdm/decayHalfAngle in the next major release, Geant4 version 11.0";
468 if ( command == nucleuslimitsCmd ) {
469 theRadioactiveDecayContainer->
471 }
else if ( command == analoguemcCmd ) {
472 theRadioactiveDecayContainer->
474 }
else if ( command == fbetaCmd ) {
476 }
else if ( command == avolumeCmd ) {
478 }
else if ( command == deavolumeCmd ) {
480 }
else if ( command == allvolumesCmd ) {
482 }
else if ( command == deallvolumesCmd ) {
484 }
else if ( command == brbiasCmd ) {
486 }
else if ( command == sourcetimeprofileCmd ) {
488 }
else if ( command == decaybiasprofileCmd ) {
489 theRadioactiveDecayContainer->
SetDecayBias( newValues );
490 }
else if ( command == splitnucleiCmd ) {
492 }
else if ( command == verboseCmd ) {
494 }
else if ( command == icmCmd ) {
496 }
else if ( command == armCmd ) {
498 }
else if ( command == hlthCmd ) {
500 }
else if ( command == userDecayDataCmd ) {
503 const char* nv = (
const char*)newValues;
504 std::istringstream is(nv);
505 is >> Z >>
A >> file_name;
507 }
else if ( command == userEvaporationDataCmd ) {
510 const char* nv = (
const char*)newValues;
511 std::istringstream is(nv);
512 is >> Z >>
A >> file_name;
514 }
else if ( command == colldirCmd ) {
516 }
else if ( command == collangleCmd ) {
double A(double temperature)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
G4bool AddPrivateData(G4int Z, G4int A, const G4String &filename)
static G4NuclearLevelData * GetInstance()
void DeselectAVolume(const G4String aVolume)
void SetSplitNuclei(G4int r)
void SetVerboseLevel(G4int value)
void SetSourceTimeProfile(G4String filename)
void SetDecayBias(G4String filename)
void SelectAVolume(const G4String aVolume)
void SetDecayHalfAngle(G4double halfAngle=0.*CLHEP::deg)
void SetDecayDirection(const G4ThreeVector &theDir)
void SetHLThreshold(G4double hl)
void DeselectAllVolumes()
void AddUserDecayDataFile(G4int Z, G4int A, G4String filename)
G4RadioactiveDecaymessenger(G4RadioactiveDecay *theRadioactiveDecayContainer)
~G4RadioactiveDecaymessenger()
void SetNewValue(G4UIcommand *command, G4String newValues)
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 SetUnitCategory(const char *unitCategory)
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)
void SetDefaultValue(const char *defVal)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
static G4int GetNewIntValue(const char *paramString)
void SetDefaultValue(G4int defVal)
G4NucleusLimits GetNewNucleusLimitsValue(G4String paramString)
void SetParameterName(const char *theNameAMin, const char *theNameAMax, const char *theNameZMin, const char *theNameZMax, G4bool omittable, G4bool currentAsDefault=true)
void SetParameter(G4UIparameter *const newParameter)
void SetGuidance(const char *aGuidance)
void SetRange(const char *rs)
void SetGuidance(const char *theGuidance)
void SetParameterRange(const char *theRange)