50 theEvaporationProbabilityPtr(aEmissionStrategy),
51 theCoulombBarrierPtr(aCoulombBarrier),
52 EmissionProbability(0.0),
53 MaximalKineticEnergy(-CLHEP::
GeV)
56 MyOwnLevelDensity =
true;
58 ResidualMass = CoulombBarrier = 0.0;
60 ResidualZ = ResidualA = 0;
65 if (MyOwnLevelDensity) {
delete theLevelDensityPtr; }
78 if (ResidualA <= 0 || ResidualZ <= 0 || ResidualA < ResidualZ ||
79 (ResidualA == ResidualZ && ResidualA > 1))
82 MaximalKineticEnergy = -CLHEP::GeV;
83 EmissionProbability = 0.0;
99 if( ExEnergy <= 0.0) {
100 CoulombBarrier = 0.0;
101 MaximalKineticEnergy = -1000.0*
MeV;
102 EmissionProbability = 0.0;
109 CoulombBarrier = theCoulombBarrierPtr->
GetCoulombBarrier(ResidualA,ResidualZ,ExEnergy);
113 MaximalKineticEnergy =
118 if (MaximalKineticEnergy <= 0.0)
120 EmissionProbability = 0.0;
125 EmissionProbability =
127 MaximalKineticEnergy);
132 return EmissionProbability;
137 G4double EvaporatedKineticEnergy = CalcKineticEnergy(theNucleus);
138 G4double EvaporatedEnergy = EvaporatedKineticEnergy + EvaporatedMass;
140 G4ThreeVector momentum(IsotropicVector(std::sqrt(EvaporatedKineticEnergy*
141 (EvaporatedKineticEnergy+2.0*EvaporatedMass))));
152 theMass + (theExEnergy - EvaporatedKineticEnergy) - EvaporatedMass;
161 theResult->push_back(EvaporatedFragment);
162 theResult->push_back(ResidualFragment);
166 G4double G4GEMChannel::CalcMaximalKineticEnergy(
const G4double NucleusTotalE)
170 G4double T = (NucleusTotalE*NucleusTotalE + EvaporatedMass*EvaporatedMass - ResidualMass*ResidualMass)/
171 (2.0*NucleusTotalE) - EvaporatedMass - CoulombBarrier;
204 G4double TCN = 1.0/(std::sqrt(aCN/UxCN) - 1.5/UxCN);
210 G4double E0CN = ExCN - TCN*(std::log(TCN/
MeV) - std::log(aCN*
MeV)/4.0
211 - 1.25*std::log(UxCN/
MeV) + 2.0*std::sqrt(aCN*UxCN));
212 InitialLevelDensity = (
pi/12.0)*std::exp((U-E0CN)/TCN)/TCN;
218 InitialLevelDensity = (
pi/12.0)*std::exp(2*x1)/(x*std::sqrt(x1));
237 Rb = 1.12*(Aj + Ad) - 0.86*((Aj+Ad)/(Aj*Ad))+2.85;
244 Rb=1.5*(Aj+Ad)*
fermi;
254 G4double ConstantFactor = gg*GeometricalXS*Alpha/InitialLevelDensity;
255 ConstantFactor *=
pi/12.0;
259 G4double theEnergy = MaximalKineticEnergy + CoulombBarrier;
265 KineticEnergy = CoulombBarrier +
G4UniformRand()*MaximalKineticEnergy;
266 Probability = ConstantFactor*(KineticEnergy + Beta);
269 G4double T = 1.0/(std::sqrt(a/Ux) - 1.5/Ux);
272 if ( theEnergy-KineticEnergy < Ex)
275 - 1.25*std::log(Ux/
MeV) + 2.0*std::sqrt(a*Ux));
276 Probability *= std::exp((theEnergy-KineticEnergy-E0)/T)/T;
280 Probability *= std::exp(2*std::sqrt(a*(theEnergy-KineticEnergy-delta0)))/
281 std::pow(a*fG4pow->
powN(theEnergy-KineticEnergy-delta0,5), 0.25);
286 return KineticEnergy;
295 G4double SinTheta = std::sqrt(1.0 - CosTheta*CosTheta);
298 Magnitude*std::sin(Phi)*SinTheta,