52 theEvaporationProbabilityPtr(aEmissionStrategy),
53 theCoulombBarrierPtr(aCoulombBarrier),
54 EmissionProbability(0.0),
95 G4double Etot = FragmentMass + ExEnergy;
134 EvaporatedMomentum.boost(ResidualMomentum.boostVector());
137 ResidualMomentum -= EvaporatedMomentum;
149 if(frag1) { theResult->push_back(frag1); }
150 theResult->push_back(frag0);
180 G4double TCN = 1.0/(std::sqrt(aCN/UxCN) - 1.5/UxCN);
187 - 1.25*
G4Log(UxCN/MeV) + 2.0*std::sqrt(aCN*UxCN));
188 InitialLevelDensity = (
pi/12.0)*
G4Exp((U-E0CN)/TCN)/TCN;
194 InitialLevelDensity = (
pi/12.0)*
G4Exp(2*x1)/(x*std::sqrt(x1));
210 Rb = (1.12*(Aj + Ad) - 0.86*((Aj+Ad)/(Aj*Ad))+2.85)*
fermi;
216 Rb=1.5*(Aj+Ad)*
fermi;
225 G4double ConstantFactor = gg*GeometricalXS*Alpha*
pi/(InitialLevelDensity*12);
233 for(
G4int i=0; i<100; ++i) {
235 G4double edelta = theEnergy-KineticEnergy-delta0;
236 Probability = ConstantFactor*(KineticEnergy + Beta);
239 G4double T = 1.0/(std::sqrt(a/Ux) - 1.5/Ux);
242 if (theEnergy - KineticEnergy < Ex) {
244 - 1.25*
G4Log(Ux) + 2.0*std::sqrt(a*Ux));
245 Probability *=
G4Exp((theEnergy-KineticEnergy-E0)/T)/T;
249 G4Exp(2*std::sqrt(a*edelta) - 0.25*
G4Log(a*edelta*e2*e2));
254 return KineticEnergy;
262 G4double SinTheta = std::sqrt(1.0 - CosTheta*CosTheta);
265 Magnitude*std::sin(Phi)*SinTheta,
static G4Pow * GetInstance()
G4ThreeVector IsotropicVector(G4double Magnitude=1.0)
static G4double GetNuclearMass(const G4double A, const G4double Z)
CLHEP::Hep3Vector G4ThreeVector
G4double CalcAlphaParam(const G4Fragment &) const
virtual G4Fragment * EmittedFragment(G4Fragment *theNucleus)
G4double SampleKineticEnergy(const G4Fragment &fragment)
G4VCoulombBarrier * theCoulombBarrierPtr
G4double Z13(G4int Z) const
double A(double temperature)
G4double GetSpin(void) const
G4PairingCorrection * pairingCorrection
const G4LorentzVector & GetMomentum() const
void SetMomentum(const G4LorentzVector &value)
static const double twopi
G4double GetPairingCorrection(G4int A, G4int Z) const
std::vector< G4Fragment * > G4FragmentVector
G4double GetGroundStateMass() const
G4double EmissionProbability
G4double CalcBetaParam(const G4Fragment &) const
G4GEMChannel(const G4int theA, const G4int theZ, const G4String &aName, G4GEMProbability *aEmissionStrategy, G4VCoulombBarrier *aCoulombBarrier)
G4double G4Log(G4double x)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
static G4PairingCorrection * GetInstance()
virtual G4double GetEmissionProbability(G4Fragment *theNucleus)
virtual void Dump() const
void SetZandA_asInt(G4int Znew, G4int Anew)
const G4double x[NPOINTSGL]
virtual G4FragmentVector * BreakUp(const G4Fragment &theNucleus)
G4VLevelDensityParameter * theLevelDensityPtr
virtual G4double LevelDensityParameter(G4int A, G4int Z, G4double U) const =0
virtual G4double GetCoulombBarrier(G4int ARes, G4int ZRes, G4double U) const =0
G4GEMProbability * theEvaporationProbabilityPtr
G4double MaximalKineticEnergy
static const double fermi
G4double GetExcitationEnergy() const
CLHEP::HepLorentzVector G4LorentzVector