82{
86 resA = fragA - theA;
87 resZ = fragZ - theZ;
88
89
90 if(resA < theA || resA < resZ || resZ < 0 || (resA == theA && resZ < theZ)
91 || ((resA > 1) && (resA == resZ || resZ == 0)))
92 { return 0.0; }
93
96
97
98
99
100
101 if(exEnergy < delta0) { return 0.0; }
102
104 mass = fragMass + exEnergy;
105
109 if(theZ > 0) {
111
112
113 const G4double dCB = 3.5*CLHEP::MeV;
114 elim = (0 !=
OPTxs) ?
115 std::max(bCoulomb*0.5, bCoulomb - dCB*theZ) : bCoulomb;
116 }
117
118
119
120
121
122
123 if(mass <= resMass + evapMass + elim) { return 0.0; }
124
127 ((mass-resMass)*(mass+resMass) + evapMass2)/twoMass - evapMass;
129 if(elim > 0.0) {
130 G4double resM = std::max(mass - evapMass - elim, resMass);
131 ekinmin =
132 std::max(((mass-resM)*(mass+resM) + evapMass2)/twoMass - evapMass,0.0);
133 }
134
135
136
137
138
139 if(ekinmax <= ekinmin) { return 0.0; }
140
143 ekinmax, bCoulomb,
144 exEnergy - delta0);
145
146
147
148
149
150 return prob;
151}
G4double GetCoulombBarrier(G4int ARes, G4int ZRes, G4double U) const
virtual G4double TotalProbability(const G4Fragment &fragment, G4double minKinEnergy, G4double maxKinEnergy, G4double CB, G4double exEnergy)
G4double GetGroundStateMass() const
G4double GetExcitationEnergy() const
G4PairingCorrection * GetPairingCorrection()
void SetDecayKinematics(G4int Z, G4int A, G4double rmass, G4double fmass)