69{
70 G4int anA = fragment->GetA_asInt();
71 G4int aZ = fragment->GetZ_asInt();
72 ResidualA = anA - A;
73 ResidualZ = aZ - Z;
74
75
76
77
78 if (ResidualA <= 0 || ResidualZ <= 0 || ResidualA < ResidualZ ||
79 (ResidualA == ResidualZ && ResidualA > 1))
80 {
81 CoulombBarrier = 0.0;
82 MaximalKineticEnergy = -CLHEP::GeV;
83 EmissionProbability = 0.0;
84 }
85 else
86 {
87
88
89
90
91
92
93
94 G4double ExEnergy = fragment->GetExcitationEnergy() -
96
97
98
99 if( ExEnergy <= 0.0) {
100 CoulombBarrier = 0.0;
101 MaximalKineticEnergy = -1000.0*MeV;
102 EmissionProbability = 0.0;
103
104 } else {
105
107
108
109 CoulombBarrier = theCoulombBarrierPtr->
GetCoulombBarrier(ResidualA,ResidualZ,ExEnergy);
110
111
112
113 MaximalKineticEnergy =
114 CalcMaximalKineticEnergy(fragment->GetGroundStateMass()+ExEnergy);
115
116
117
118 if (MaximalKineticEnergy <= 0.0)
119 {
120 EmissionProbability = 0.0;
121 }
122 else
123 {
124
125 EmissionProbability =
127 MaximalKineticEnergy);
128 }
129 }
130 }
131
132 return EmissionProbability;
133}
G4double EmissionProbability(const G4Fragment &fragment, G4double anEnergy)
static G4PairingCorrection * GetInstance()
G4double GetPairingCorrection(G4int A, G4int Z) const
virtual G4double GetCoulombBarrier(G4int ARes, G4int ZRes, G4double U) const =0