106 if (U <= pcorr) {
return Fragment1; }
127 G4double FragmentsExcitationEnergy = 0.0;
128 G4double FragmentsKineticEnergy = 0.0;
134 A1 = FissionAtomicNumber(A);
135 Z1 = FissionCharge(A, Z, A1);
141 if (A2 < 1 || Z2 < 0 || Z2 > A2) {
142 FragmentsExcitationEnergy = -1.0;
147 G4double Tmax = M + U - M1 - M2 - pcorr;
151 FragmentsExcitationEnergy = -1.0;
155 FragmentsKineticEnergy = FissionKineticEnergy( A , Z,
166 FragmentsExcitationEnergy =
168 Tmax - FragmentsKineticEnergy + pcorr;
171 }
while (FragmentsExcitationEnergy < 0.0
174 if (FragmentsExcitationEnergy <= 0.0) {
176 "G4CompetitiveFission::BreakItUp: Excitation energy for fragments < 0.0!");
180 M1 += FragmentsExcitationEnergy * A1/
static_cast<G4double>(
A);
182 M2 += FragmentsExcitationEnergy * A2/
static_cast<G4double>(
A);
186 G4double etot1 = ((M - M2)*(M + M2) + M1*M1)/(2*M);
189 FourMomentum1.boost(theNucleusMomentum.
boostVector());
192 Fragment1 =
new G4Fragment( A1, Z1, FourMomentum1);
193 theNucleusMomentum -= FourMomentum1;
Hep3Vector boostVector() const
static G4double GetNuclearMass(const G4double A, const G4double Z)
double A(double temperature)
const G4LorentzVector & GetMomentum() const
void SetMomentum(const G4LorentzVector &value)
G4double GetGroundStateMass() const
G4double GetFissionPairingCorrection(G4int A, G4int Z) const
void SetZandA_asInt(G4int Znew, G4int Anew)
G4double GetExcitationEnergy() const
void DefineParameters(G4int A, G4int Z, G4double ExEnergy, G4double FissionBarrier)