58 theProbability(aprob),
66 evapMass2 = evapMass*evapMass;
72 delete theCoulombBarrier;
90 if(resA < theA || resA < resZ || resZ < 0 || (resA == theA && resZ < theZ)
91 || ((resA > 1) && (resA == resZ || resZ == 0)))
101 if(exEnergy < delta0) {
return 0.0; }
104 mass = fragMass + exEnergy;
113 const G4double dCB = 3.5*CLHEP::MeV;
114 elim = (0 !=
OPTxs) ?
115 std::max(bCoulomb*0.5, bCoulomb - dCB*theZ) : bCoulomb;
123 if(mass <= resMass + evapMass + elim) {
return 0.0; }
127 ((mass-resMass)*(mass+resMass) + evapMass2)/twoMass - evapMass;
130 G4double resM = std::max(mass - evapMass - elim, resMass);
132 std::max(((mass-resM)*(mass+resM) + evapMass2)/twoMass - evapMass,0.0);
139 if(ekinmax <= ekinmin) {
return 0.0; }
158 if(resA <= 4 || theProbability->GetProbability() == 0.0) {
159 ekin = 0.5*(mass*mass - resMass*resMass + evapMass2)/mass - evapMass;
163 ekin = std::max(ekin, 0.0);
G4ThreeVector G4RandomDirection()
Hep3Vector boostVector() const
HepLorentzVector & boost(double, double, double)
G4double GetCoulombBarrier(G4int ARes, G4int ZRes, G4double U) const
G4EvaporationChannel(G4int A, G4int Z, G4EvaporationProbability *)
G4double GetEmissionProbability(G4Fragment *fragment) override
~G4EvaporationChannel() override
G4Fragment * EmittedFragment(G4Fragment *theNucleus) override
void Initialise() override
virtual G4double TotalProbability(const G4Fragment &fragment, G4double minKinEnergy, G4double maxKinEnergy, G4double CB, G4double exEnergy)
G4double GetGroundStateMass() const
G4double GetExcitationEnergy() const
const G4LorentzVector & GetMomentum() const
void SetMomentum(const G4LorentzVector &value)
void SetZandA_asInt(G4int Znew, G4int Anew)
G4PairingCorrection * GetPairingCorrection()
static G4NuclearLevelData * GetInstance()
static G4double GetNuclearMass(const G4double A, const G4double Z)
void SetDecayKinematics(G4int Z, G4int A, G4double rmass, G4double fmass)
virtual void Initialise()