78{
79 theProbability->ResetProbability();
82 resA = fragA - theA;
83 resZ = fragZ - theZ;
84
85
86 if(resA < theA || resA < resZ || resZ < 0 || (resA == theA && resZ < theZ)
87 || ((resA > 1) && (resA == resZ || resZ == 0)))
88 { return 0.0; }
89
92 mass = fragMass + exEnergy;
94 if (mass <= evapMass + resMass) { return 0.0; }
95
96 ekinmax = 0.5*((mass-resMass)*(mass+resMass) + evapMass2)/mass - evapMass;
97
98
100 if(theZ > 0) {
101 bCoulomb = theCoulombBarrier->GetCoulombBarrier(resA, resZ, 0.0);
102
103
104 elim = (0 <
OPTxs) ? bCoulomb*0.5 : bCoulomb;
105 }
106
107
108
109
110
111
112
113
114 G4double resM = mass - evapMass - elim;
115 if (resM < resMass) { return 0.0; }
116 G4double ekinmin = 0.5*((mass-resM)*(mass+resM) + evapMass2)/mass - evapMass;
117
118
119
120
121
122
123 if(ekinmax <= ekinmin) { return 0.0; }
124
125 theProbability->SetDecayKinematics(resZ, resA, resMass, mass);
126 G4double prob = theProbability->TotalProbability(*fragment, ekinmin,
127 ekinmax, bCoulomb,
128 exEnergy);
129 return prob;
130}
G4double GetGroundStateMass() const
G4double GetExcitationEnergy() const