65 emDirectory->SetGuidance(
"General commands for EM processes.");
67 eLossDirectory->SetGuidance(
"Commands for energy loss processes.");
69 mscDirectory->SetGuidance(
"Commands for EM scattering processes.");
71 gconvDirectory->SetGuidance(
"Commands for EM gamma conversion BH5D model.");
73 dnaDirectory->SetGuidance(
"Commands for DNA processes.");
76 flucCmd->SetGuidance(
"Enable/disable energy loss fluctuations.");
77 flucCmd->SetParameterName(
"choice",
true);
78 flucCmd->SetDefaultValue(
true);
80 flucCmd->SetToBeBroadcasted(
false);
83 rangeCmd->SetGuidance(
"Enable/disable CSDA range calculation");
84 rangeCmd->SetParameterName(
"range",
true);
85 rangeCmd->SetDefaultValue(
false);
87 rangeCmd->SetToBeBroadcasted(
false);
90 lpmCmd->SetGuidance(
"Enable/disable LPM effect calculation");
91 lpmCmd->SetParameterName(
"lpm",
true);
92 lpmCmd->SetDefaultValue(
true);
94 lpmCmd->SetToBeBroadcasted(
false);
97 rsCmd->SetGuidance(
"Enable/disable use of cut in range as a final range");
98 rsCmd->SetParameterName(
"choice",
true);
99 rsCmd->SetDefaultValue(
false);
101 rsCmd->SetToBeBroadcasted(
false);
104 aplCmd->SetGuidance(
"Enable/disable applying cuts for gamma processes");
105 aplCmd->SetParameterName(
"apl",
true);
106 aplCmd->SetDefaultValue(
false);
108 aplCmd->SetToBeBroadcasted(
false);
111 intCmd->SetGuidance(
"Enable/disable integral method.");
112 intCmd->SetParameterName(
"choice",
true);
113 intCmd->SetDefaultValue(
true);
115 intCmd->SetToBeBroadcasted(
false);
118 latCmd->SetGuidance(
"Enable/disable sampling of lateral displacement");
119 latCmd->SetParameterName(
"lat",
true);
120 latCmd->SetDefaultValue(
true);
122 latCmd->SetToBeBroadcasted(
false);
124 lat96Cmd =
new G4UIcmdWithABool(
"/process/msc/LateralDisplacementAlg96",
this);
125 lat96Cmd->SetGuidance(
"Enable/disable sampling of lateral displacement");
126 lat96Cmd->SetParameterName(
"lat96",
true);
127 lat96Cmd->SetDefaultValue(
false);
129 lat96Cmd->SetToBeBroadcasted(
false);
131 mulatCmd =
new G4UIcmdWithABool(
"/process/msc/MuHadLateralDisplacement",
this);
132 mulatCmd->SetGuidance(
"Enable/disable sampling of lateral displacement for muons and hadrons");
133 mulatCmd->SetParameterName(
"mulat",
true);
134 mulatCmd->SetDefaultValue(
true);
136 mulatCmd->SetToBeBroadcasted(
false);
139 delCmd->SetGuidance(
"Enable usage of angular generator for ionisation");
140 delCmd->SetParameterName(
"del",
true);
141 delCmd->SetDefaultValue(
false);
143 delCmd->SetToBeBroadcasted(
false);
146 mottCmd->SetGuidance(
"Enable usage of Mott corrections for e- elastic scattering");
147 mottCmd->SetParameterName(
"mott",
true);
148 mottCmd->SetDefaultValue(
false);
150 mottCmd->SetToBeBroadcasted(
false);
153 birksCmd->SetGuidance(
"Enable usage of built-in Birks saturation");
154 birksCmd->SetParameterName(
"birks",
true);
155 birksCmd->SetDefaultValue(
false);
157 birksCmd->SetToBeBroadcasted(
false);
160 sharkCmd->SetGuidance(
"Enable gamma, e+- general process");
161 sharkCmd->SetParameterName(
"gen",
true);
162 sharkCmd->SetDefaultValue(
false);
164 sharkCmd->SetToBeBroadcasted(
false);
167 poCmd->SetGuidance(
"Enable polarisation");
169 poCmd->SetToBeBroadcasted(
false);
172 sampleTCmd->SetGuidance(
"Enable usage of sampling table for secondary generation");
173 sampleTCmd->SetParameterName(
"sampleT",
true);
174 sampleTCmd->SetDefaultValue(
false);
176 sampleTCmd->SetToBeBroadcasted(
false);
179 icru90Cmd->SetGuidance(
"Enable usage of ICRU90 stopping powers");
180 icru90Cmd->SetParameterName(
"icru90",
true);
181 icru90Cmd->SetDefaultValue(
false);
183 icru90Cmd->SetToBeBroadcasted(
false);
186 mudatCmd->SetGuidance(
"Enable usage of muon data from file");
187 mudatCmd->SetParameterName(
"mudat",
true);
188 mudatCmd->SetDefaultValue(
false);
190 mudatCmd->SetToBeBroadcasted(
false);
193 peKCmd->SetGuidance(
"Enable sampling of photoeffect below K-shell");
194 peKCmd->SetParameterName(
"peK",
true);
195 peKCmd->SetDefaultValue(
true);
197 peKCmd->SetToBeBroadcasted(
false);
200 mscPCmd->SetGuidance(
"Enable msc positron correction");
201 mscPCmd->SetParameterName(
"mscPC",
true);
202 mscPCmd->SetDefaultValue(
true);
204 mscPCmd->SetToBeBroadcasted(
false);
207 pepicsCmd->SetGuidance(
"Use EPICS2017 data for gamma x-ections");
208 pepicsCmd->SetParameterName(
"pepics",
true);
209 pepicsCmd->SetDefaultValue(
false);
211 pepicsCmd->SetToBeBroadcasted(
false);
214 f3gCmd->SetGuidance(
"Enable/disable 3 gamma annihilation on fly");
215 f3gCmd->SetParameterName(
"f3gamma",
true);
216 f3gCmd->SetDefaultValue(
false);
218 f3gCmd->SetToBeBroadcasted(
false);
221 fRiGeCmd->SetGuidance(
"Enable/disable 5D model for e+e- pair production by muons");
222 fRiGeCmd->SetParameterName(
"ee5D",
true);
223 fRiGeCmd->SetDefaultValue(
false);
225 fRiGeCmd->SetToBeBroadcasted(
false);
228 minEnCmd->SetGuidance(
"Set the min kinetic energy for EM tables");
229 minEnCmd->SetParameterName(
"emin",
true);
230 minEnCmd->SetUnitCategory(
"Energy");
232 minEnCmd->SetToBeBroadcasted(
false);
235 maxEnCmd->SetGuidance(
"Set the max kinetic energy for EM tables");
236 maxEnCmd->SetParameterName(
"emax",
true);
237 maxEnCmd->SetUnitCategory(
"Energy");
239 maxEnCmd->SetToBeBroadcasted(
false);
242 cenCmd->SetGuidance(
"Set the max kinetic energy for CSDA table");
243 cenCmd->SetParameterName(
"emaxCSDA",
true);
244 cenCmd->SetUnitCategory(
"Energy");
246 cenCmd->SetToBeBroadcasted(
false);
249 max5DCmd->SetGuidance(
"Set the max kinetic energy for 5D muon pair production");
250 max5DCmd->SetParameterName(
"emax5D",
true);
251 max5DCmd->SetUnitCategory(
"Energy");
253 max5DCmd->SetToBeBroadcasted(
false);
256 lowEnCmd->SetGuidance(
"Set the lowest kinetic energy for e+-");
257 lowEnCmd->SetParameterName(
"elow",
true);
258 lowEnCmd->SetUnitCategory(
"Energy");
260 lowEnCmd->SetToBeBroadcasted(
false);
263 lowhEnCmd->SetGuidance(
"Set the lowest kinetic energy for muons and hadrons");
264 lowhEnCmd->SetParameterName(
"elowh",
true);
265 lowhEnCmd->SetUnitCategory(
"Energy");
267 lowhEnCmd->SetToBeBroadcasted(
false);
270 lowEn3Cmd->SetGuidance(
"Set the lowest kinetic energy for triplet production");
271 lowEn3Cmd->SetParameterName(
"elow3",
true);
272 lowEn3Cmd->SetUnitCategory(
"Energy");
274 lowEn3Cmd->SetToBeBroadcasted(
false);
277 lllCmd->SetGuidance(
"Set linearLossLimit parameter");
278 lllCmd->SetParameterName(
"linlim",
true);
280 lllCmd->SetToBeBroadcasted(
false);
283 brCmd->SetGuidance(
"Set e+- bremsstrahlung energy threshold");
284 brCmd->SetParameterName(
"emaxBrem",
true);
285 brCmd->SetUnitCategory(
"Energy");
287 brCmd->SetToBeBroadcasted(
false);
290 br1Cmd->SetGuidance(
"Set muon/hadron bremsstrahlung energy threshold");
291 br1Cmd->SetParameterName(
"emaxMuHadBrem",
true);
292 br1Cmd->SetUnitCategory(
"Energy");
294 br1Cmd->SetToBeBroadcasted(
false);
297 labCmd->SetGuidance(
"Set lambdaFactor parameter for integral option");
298 labCmd->SetParameterName(
"Fl",
true);
300 labCmd->SetToBeBroadcasted(
false);
303 mscfCmd->SetGuidance(
"Set factor for computation of a limit for -t (invariant transfer)");
304 mscfCmd->SetParameterName(
"Fact",
true);
305 mscfCmd->SetRange(
"Fact>0");
306 mscfCmd->SetDefaultValue(1.);
308 mscfCmd->SetToBeBroadcasted(
false);
311 angCmd->SetGuidance(
"Set the limit on the polar angle for msc and single scattering");
312 angCmd->SetParameterName(
"theta",
true);
313 angCmd->SetUnitCategory(
"Angle");
315 angCmd->SetToBeBroadcasted(
false);
318 msceCmd->SetGuidance(
"Set the upper energy limit for msc");
319 msceCmd->SetParameterName(
"mscE",
true);
320 msceCmd->SetUnitCategory(
"Energy");
322 msceCmd->SetToBeBroadcasted(
false);
325 nielCmd->SetGuidance(
"Set the upper energy limit for NIEL");
326 nielCmd->SetParameterName(
"niel",
true);
327 nielCmd->SetUnitCategory(
"Energy");
329 nielCmd->SetToBeBroadcasted(
false);
332 frCmd->SetGuidance(
"Set RangeFactor for msc processes of e+-");
333 frCmd->SetParameterName(
"Fr",
true);
334 frCmd->SetRange(
"Fr>0");
335 frCmd->SetDefaultValue(0.04);
337 frCmd->SetToBeBroadcasted(
false);
340 fr1Cmd->SetGuidance(
"Set RangeFactor for msc processes of muons/hadrons");
341 fr1Cmd->SetParameterName(
"Fr1",
true);
342 fr1Cmd->SetRange(
"Fr1>0");
343 fr1Cmd->SetDefaultValue(0.2);
345 fr1Cmd->SetToBeBroadcasted(
false);
348 fgCmd->SetGuidance(
"Set GeomFactor parameter for msc processes");
349 fgCmd->SetParameterName(
"Fg",
true);
350 fgCmd->SetRange(
"Fg>0");
351 fgCmd->SetDefaultValue(2.5);
353 fgCmd->SetToBeBroadcasted(
false);
356 skinCmd->SetGuidance(
"Set skin parameter for msc processes");
357 skinCmd->SetParameterName(
"skin",
true);
359 skinCmd->SetToBeBroadcasted(
false);
362 screCmd->SetGuidance(
"Set screening factor");
363 screCmd->SetParameterName(
"screen",
true);
365 screCmd->SetToBeBroadcasted(
false);
368 safCmd->SetGuidance(
"Set safety factor");
369 safCmd->SetParameterName(
"fsafe",
true);
371 safCmd->SetToBeBroadcasted(
false);
374 llimCmd->SetGuidance(
"Set the upper energy limit for NIEL");
375 llimCmd->SetParameterName(
"ll",
true);
376 llimCmd->SetUnitCategory(
"Length");
378 llimCmd->SetToBeBroadcasted(
false);
381 amCmd->SetGuidance(
"Set number of bins per decade for EM tables");
382 amCmd->SetParameterName(
"bins",
true);
383 amCmd->SetDefaultValue(7);
385 amCmd->SetToBeBroadcasted(
false);
388 verCmd->SetGuidance(
"Set verbose level for EM physics");
389 verCmd->SetParameterName(
"verb",
true);
390 verCmd->SetDefaultValue(1);
392 verCmd->SetToBeBroadcasted(
false);
395 ver1Cmd->SetGuidance(
"Set verbose level for EM physics");
396 ver1Cmd->SetParameterName(
"verb1",
true);
397 ver1Cmd->SetDefaultValue(1);
399 ver1Cmd->SetToBeBroadcasted(
false);
402 ver2Cmd->SetGuidance(
"Set worker verbose level for EM physics");
403 ver2Cmd->SetParameterName(
"verb2",
true);
404 ver2Cmd->SetDefaultValue(0);
406 ver2Cmd->SetToBeBroadcasted(
false);
409 nFreeCmd->SetGuidance(
"Set number for logarithmic bin search algorithm");
410 nFreeCmd->SetParameterName(
"nFree",
true);
411 nFreeCmd->SetDefaultValue(2);
413 nFreeCmd->SetToBeBroadcasted(
false);
416 transWithMscCmd->SetGuidance(
"Enable/disable the G4TransportationWithMsc process");
417 transWithMscCmd->SetParameterName(
"trans",
true);
418 transWithMscCmd->SetCandidates(
"Disabled Enabled MultipleSteps");
420 transWithMscCmd->SetToBeBroadcasted(
false);
423 mscCmd->SetGuidance(
"Set msc step limitation type");
424 mscCmd->SetParameterName(
"StepLim",
true);
425 mscCmd->SetCandidates(
"Minimal UseSafety UseSafetyPlus UseDistanceToBoundary");
427 mscCmd->SetToBeBroadcasted(
false);
430 msc1Cmd->SetGuidance(
"Set msc step limitation type for muons/hadrons");
431 msc1Cmd->SetParameterName(
"StepLim1",
true);
432 msc1Cmd->SetCandidates(
"Minimal UseSafety UseSafetyPlus UseDistanceToBoundary");
434 msc1Cmd->SetToBeBroadcasted(
false);
436 dumpCmd =
new G4UIcommand(
"/process/em/printParameters",
this);
437 dumpCmd->SetGuidance(
"Print all EM parameters.");
439 dumpCmd->SetToBeBroadcasted(
false);
442 nffCmd->SetGuidance(
"Define type of nuclear form-factor");
443 nffCmd->SetParameterName(
"NucFF",
true);
444 nffCmd->SetCandidates(
"None Exponential Gaussian Flat");
446 nffCmd->SetToBeBroadcasted(
false);
449 ssCmd->SetGuidance(
"Define type of e+- single scattering model");
450 ssCmd->SetParameterName(
"SS",
true);
451 ssCmd->SetCandidates(
"WVI Mott DPWA");
453 ssCmd->SetToBeBroadcasted(
false);
456 fluc1Cmd->SetGuidance(
"Define type of energy loss fluctuation model");
457 fluc1Cmd->SetParameterName(
"Fluc1",
true);
458 fluc1Cmd->SetCandidates(
"Dummy Universal Urban");
460 fluc1Cmd->SetToBeBroadcasted(
false);
463 fluc2Cmd->SetGuidance(
"Enable dEdx fluctuations for G4Region");
464 fluc2Cmd->SetParameterName(
"Fluc2",
true);
466 fluc2Cmd->SetToBeBroadcasted(
false);
469 fluc3Cmd->SetGuidance(
"Disable dEdx fluctuations for G4Region");
470 fluc3Cmd->SetParameterName(
"Fluc3",
true);
472 fluc3Cmd->SetToBeBroadcasted(
false);
475 posiCmd->SetGuidance(
"Define model of positron annihilation at rest");
476 posiCmd->SetParameterName(
"Posi",
true);
477 posiCmd->SetCandidates(
"Simple Allison OrePawell OrePowellPolar");
479 posiCmd->SetToBeBroadcasted(
false);
482 tripletCmd->SetGuidance(
"gamma conversion triplet/nuclear generation type:");
483 tripletCmd->SetGuidance(
"0 - (default) both triplet and nuclear");
484 tripletCmd->SetGuidance(
"1 - force nuclear");
485 tripletCmd->SetGuidance(
"2 - force triplet");
486 tripletCmd->SetParameterName(
"type",
false);
487 tripletCmd->SetRange(
"type >= 0 && type <= 2");
488 tripletCmd->SetDefaultValue(0);
490 tripletCmd->SetToBeBroadcasted(
false);
493 onIsolatedCmd->SetGuidance(
"Conversion on isolated charged particles");
494 onIsolatedCmd->SetGuidance(
"false (default) : atomic electron screening");
495 onIsolatedCmd->SetGuidance(
"true : conversion on isolated particles.");
496 onIsolatedCmd->SetParameterName(
"flag",
false);
497 onIsolatedCmd->SetDefaultValue(
false);
499 onIsolatedCmd->SetToBeBroadcasted(
false);
584 G4bool physicsModified =
false;
585 if (command == flucCmd) {
586 theParameters->SetLossFluctuations(flucCmd->GetNewBoolValue(newValue));
587 physicsModified =
true;
588 }
else if (command == rangeCmd) {
589 theParameters->SetBuildCSDARange(rangeCmd->GetNewBoolValue(newValue));
590 }
else if (command == lpmCmd) {
591 theParameters->SetLPM(lpmCmd->GetNewBoolValue(newValue));
592 physicsModified =
true;
593 }
else if (command == rsCmd) {
594 theParameters->SetUseCutAsFinalRange(rsCmd->GetNewBoolValue(newValue));
595 physicsModified =
true;
596 }
else if (command == aplCmd) {
597 theParameters->SetApplyCuts(aplCmd->GetNewBoolValue(newValue));
598 physicsModified =
true;
599 }
else if (command == intCmd) {
600 theParameters->SetIntegral(intCmd->GetNewBoolValue(newValue));
601 }
else if (command == latCmd) {
602 theParameters->SetLateralDisplacement(latCmd->GetNewBoolValue(newValue));
603 physicsModified =
true;
604 }
else if (command == lat96Cmd) {
605 theParameters->SetLateralDisplacementAlg96(lat96Cmd->GetNewBoolValue(newValue));
606 physicsModified =
true;
607 }
else if (command == mulatCmd) {
608 theParameters->SetMuHadLateralDisplacement(mulatCmd->GetNewBoolValue(newValue));
609 physicsModified =
true;
610 }
else if (command == delCmd) {
611 theParameters->ActivateAngularGeneratorForIonisation(delCmd->GetNewBoolValue(newValue));
612 }
else if (command == mottCmd) {
613 theParameters->SetUseMottCorrection(mottCmd->GetNewBoolValue(newValue));
614 }
else if (command == birksCmd) {
615 theParameters->SetBirksActive(birksCmd->GetNewBoolValue(newValue));
616 }
else if (command == icru90Cmd) {
617 theParameters->SetUseICRU90Data(icru90Cmd->GetNewBoolValue(newValue));
618 }
else if (command == sharkCmd) {
619 theParameters->SetGeneralProcessActive(sharkCmd->GetNewBoolValue(newValue));
620 }
else if (command == poCmd) {
621 theParameters->SetEnablePolarisation(poCmd->GetNewBoolValue(newValue));
622 }
else if (command == sampleTCmd) {
623 theParameters->SetEnableSamplingTable(sampleTCmd->GetNewBoolValue(newValue));
624 }
else if (command == mudatCmd) {
625 theParameters->SetRetrieveMuDataFromFile(mudatCmd->GetNewBoolValue(newValue));
626 }
else if (command == peKCmd) {
627 theParameters->SetPhotoeffectBelowKShell(peKCmd->GetNewBoolValue(newValue));
628 }
else if (command == f3gCmd) {
629 theParameters->Set3GammaAnnihilationOnFly(f3gCmd->GetNewBoolValue(newValue));
630 }
else if (command == fRiGeCmd) {
631 theParameters->SetUseRiGePairProductionModel(fRiGeCmd->GetNewBoolValue(newValue));
632 }
else if (command == mscPCmd) {
633 theParameters->SetMscPositronCorrection(mscPCmd->GetNewBoolValue(newValue));
634 }
else if (command == pepicsCmd) {
635 theParameters->SetUseEPICS2017XS(pepicsCmd->GetNewBoolValue(newValue));
637 }
else if (command == minEnCmd) {
638 theParameters->SetMinEnergy(minEnCmd->GetNewDoubleValue(newValue));
639 }
else if (command == maxEnCmd) {
640 theParameters->SetMaxEnergy(maxEnCmd->GetNewDoubleValue(newValue));
641 }
else if (command == max5DCmd) {
642 theParameters->SetMaxEnergyFor5DMuPair(max5DCmd->GetNewDoubleValue(newValue));
643 }
else if (command == cenCmd) {
644 theParameters->SetMaxEnergyForCSDARange(cenCmd->GetNewDoubleValue(newValue));
645 physicsModified =
true;
646 }
else if (command == lowEnCmd) {
647 theParameters->SetLowestElectronEnergy(lowEnCmd->GetNewDoubleValue(newValue));
648 physicsModified =
true;
649 }
else if (command == lowEn3Cmd) {
650 theParameters->SetLowestTripletEnergy(lowEn3Cmd->GetNewDoubleValue(newValue));
651 physicsModified =
true;
652 }
else if (command == lowhEnCmd) {
653 theParameters->SetLowestMuHadEnergy(lowhEnCmd->GetNewDoubleValue(newValue));
654 physicsModified =
true;
655 }
else if (command == lllCmd) {
656 theParameters->SetLinearLossLimit(lllCmd->GetNewDoubleValue(newValue));
657 physicsModified =
true;
658 }
else if (command == brCmd) {
659 theParameters->SetBremsstrahlungTh(brCmd->GetNewDoubleValue(newValue));
660 physicsModified =
true;
661 }
else if (command == br1Cmd) {
662 theParameters->SetMuHadBremsstrahlungTh(br1Cmd->GetNewDoubleValue(newValue));
663 physicsModified =
true;
664 }
else if (command == labCmd) {
665 theParameters->SetLambdaFactor(labCmd->GetNewDoubleValue(newValue));
666 physicsModified =
true;
667 }
else if (command == mscfCmd) {
668 theParameters->SetFactorForAngleLimit(mscfCmd->GetNewDoubleValue(newValue));
669 }
else if (command == angCmd) {
670 theParameters->SetMscThetaLimit(angCmd->GetNewDoubleValue(newValue));
671 }
else if (command == msceCmd) {
672 theParameters->SetMscEnergyLimit(msceCmd->GetNewDoubleValue(newValue));
673 }
else if (command == nielCmd) {
674 theParameters->SetMaxNIELEnergy(nielCmd->GetNewDoubleValue(newValue));
675 }
else if (command == frCmd) {
676 theParameters->SetMscRangeFactor(frCmd->GetNewDoubleValue(newValue));
677 physicsModified =
true;
678 }
else if (command == fr1Cmd) {
679 theParameters->SetMscMuHadRangeFactor(fr1Cmd->GetNewDoubleValue(newValue));
680 physicsModified =
true;
681 }
else if (command == fgCmd) {
682 theParameters->SetMscGeomFactor(fgCmd->GetNewDoubleValue(newValue));
683 physicsModified =
true;
684 }
else if (command == skinCmd) {
685 theParameters->SetMscSkin(skinCmd->GetNewDoubleValue(newValue));
686 physicsModified =
true;
687 }
else if (command == safCmd) {
688 theParameters->SetMscSafetyFactor(safCmd->GetNewDoubleValue(newValue));
689 }
else if (command == llimCmd) {
690 theParameters->SetMscLambdaLimit(llimCmd->GetNewDoubleValue(newValue));
691 }
else if (command == screCmd) {
692 theParameters->SetScreeningFactor(screCmd->GetNewDoubleValue(newValue));
693 }
else if (command == amCmd) {
694 theParameters->SetNumberOfBinsPerDecade(amCmd->GetNewIntValue(newValue));
695 }
else if (command == verCmd) {
696 theParameters->SetVerbose(verCmd->GetNewIntValue(newValue));
697 }
else if (command == ver1Cmd) {
698 theParameters->SetVerbose(ver1Cmd->GetNewIntValue(newValue));
699 }
else if (command == ver2Cmd) {
700 theParameters->SetWorkerVerbose(ver2Cmd->GetNewIntValue(newValue));
701 }
else if (command == nFreeCmd) {
702 theParameters->SetNumberForFreeVector(nFreeCmd->GetNewIntValue(newValue));
703 }
else if (command == dumpCmd) {
704 theParameters->SetIsPrintedFlag(
false);
705 theParameters->Dump();
706 }
else if (command == transWithMscCmd) {
708 if(newValue ==
"Disabled") {
710 }
else if(newValue ==
"Enabled") {
712 }
else if(newValue ==
"MultipleSteps") {
716 ed <<
" TransportationWithMsc type <" << newValue <<
"> unknown!";
719 theParameters->SetTransportationWithMsc(type);
720 }
else if (command == mscCmd || command == msc1Cmd) {
722 if(newValue ==
"Minimal") {
724 }
else if(newValue ==
"UseDistanceToBoundary") {
726 }
else if(newValue ==
"UseSafety") {
728 }
else if(newValue ==
"UseSafetyPlus") {
732 ed <<
" StepLimit type <" << newValue <<
"> unknown!";
736 if (command == mscCmd) {
737 theParameters->SetMscStepLimitType(msctype);
739 theParameters->SetMscMuHadStepLimitType(msctype);
741 physicsModified =
true;
742 }
else if (command == nffCmd) {
745 else if(newValue ==
"Gaussian") { x =
fGaussianNF; }
746 else if(newValue ==
"Flat") { x =
fFlatNF; }
747 else if(newValue !=
"None") {
749 ed <<
" NuclearFormFactor type <" << newValue <<
"> unknown!";
753 theParameters->SetNuclearFormfactorType(x);
754 }
else if (command == ssCmd) {
756 if(newValue ==
"DPWA") { x =
fDPWA; }
757 else if(newValue ==
"Mott") { x =
fMott; }
758 else if(newValue !=
"WVI") {
760 ed <<
" G4eSingleScatteringType type <" << newValue <<
"> unknown!";
764 theParameters->SetSingleScatteringType(x);
765 }
else if (command == fluc1Cmd) {
769 theParameters->SetFluctuationType(x);
770 }
else if (command == fluc2Cmd) {
771 theParameters->SetFluctuationsForRegion(newValue,
true);
772 }
else if (command == fluc3Cmd) {
773 theParameters->SetFluctuationsForRegion(newValue,
false);
774 }
else if (command == posiCmd) {
777 else if (newValue ==
"OrePowell") { x =
fOrePowell; }
779 theParameters->SetPositronAtRestModelType(x);
780 }
else if ( command==tripletCmd ) {
781 theParameters->SetConversionType(tripletCmd->GetNewIntValue(newValue));
782 }
else if ( command==onIsolatedCmd ) {
783 theParameters->SetOnIsolated(onIsolatedCmd->GetNewBoolValue(newValue));
784 physicsModified =
true;
787 if(physicsModified) {