99 if(ParametersChanged ==
TRUE)
133 if(ParametersChanged ==
TRUE)
137 std::ostringstream Temp;
138 Temp <<
"Mean value of " << Mean <<
" out of range";
139 G4Exception(
"G4FPYGaussianOps::G4SampleIntegerGaussian()",
142 "A value of '0' will be used instead.");
175 if(ParametersChanged ==
TRUE)
208 std::ostringstream Temp;
220 if(Mean / StdDev < 2)
233 if(ParametersChanged ==
TRUE)
249 }
while (RandInt < 0);
274 G4double Difference = Upper - Lower;
311 G4int icounter_max=1024;
316 if ( icounter > icounter_max ) {
317 G4cout <<
"Loop-counter exceeded the threshold value at " << __LINE__ <<
"th line of " << __FILE__ <<
"." <<
G4endl;
366 G4int IsotopeIndex = 0;
406 "Incident neutron energy above 14 MeV requested.",
408 "Using Watt fission constants for 14 Mev.");
414 G4int EnergyIndex = 0;
416 G4double RangeDifference, ConstantDifference;
424 if(EnergyDifference != 0)
426 std::ostringstream Temp;
427 Temp <<
"Incident neutron energy of ";
429 Temp <<
"explicitly listed in the data tables";
445 [EnergyIndex - 1][0];
446 A = (EnergyDifference / RangeDifference) * ConstantDifference +
447 NeutronInducedWattConstants[IsotopeIndex]
448 [EnergyIndex - 1][0];
452 NeutronInducedWattConstants[IsotopeIndex][EnergyIndex][1] -
453 NeutronInducedWattConstants[IsotopeIndex]
454 [EnergyIndex - 1][1];
456 (EnergyDifference / RangeDifference) * ConstantDifference +
457 NeutronInducedWattConstants[IsotopeIndex]
458 [EnergyIndex - 1][1];
464 G4String Temp =
"Watt fission spectra data not available for ";
467 Temp +=
"proton induced fission.";
470 Temp +=
"gamma induced fission.";
473 Temp +=
"!Warning! unknown cause.";
478 "Fission events will not be sampled in this run.");
512 }
while (Radius > 1.0);
515 MappingFactor = std::sqrt(-2.0*
G4Log(Radius)/Radius) *
StdDev_;
556 G4double ErfContainer, AdjustedErfContainer, Container;
565 G4bool ToleranceCheck =
false;
577 G4int icounter_max=1024;
581 if ( icounter > icounter_max ) {
582 G4cout <<
"Loop-counter exceeded the threshold value at " << __LINE__ <<
"th line of " << __FILE__ <<
"." <<
G4endl;
587 AdjustedErfContainer = 0;
590 for(
G4int i = 0; i <= UpperLimit; i++)
593 LowErf = ((AdjMean - i) / Normalization);
594 HighErf = ((AdjMean - (i + 1.0)) / Normalization);
606 Container = (erf(HighErf) - erf(LowErf))/2.0;
608 }
else if (HighErf < 0)
616 Container = (erf(HighErf) + erf(LowErf))/2.0;
624 Container = (erf(LowErf) - erf(HighErf))/2.0;
630 if ( Container != Container) Container = 0;
634 ErfContainer += Container;
635 AdjustedErfContainer += Container * i;
639 Container = AdjustedErfContainer / ErfContainer;
643 if(ToleranceCheck ==
TRUE)
649 if(HalfDelta ==
TRUE)
655 if(Container >
Mean_)