129{
130
131
132
133
134
138 {
139 throw G4HadronicException(__FILE__, __LINE__,
"Detailed balance for resonance scattering still on the schedule.");
140 }
141
143
148 G4double weight = clebsch.
Weight(isoIn1, iso3In1, isoIn2, iso3In2, isoOut1, isoOut2);
149
150 if (weight > 00001)
151 {
152
153
155 G4double factor = degeneracy * weight;
156
157
161
162
163 G4double pinitial2 = (
S - (m_1+m_2) * (m_1+m_2)) * (
S - (m_1-m_2) * (m_1-m_2)) / (4.0*
S);
164 G4double pfinal2 = (
S - (mOut1+mOut2) * (mOut1+mOut2)) * (
S - ( mOut1-mOut2) * (mOut1-mOut2)) / (4.0*
S);
165 G4double relativeMomsquared = pfinal2/pinitial2;
166
167
169 {
171 relativeMomsquared = 1./theI.GetPhaseSpaceIntegral(std::sqrt(
S));
172 }
174 {
176 relativeMomsquared = 1./theI.GetPhaseSpaceIntegral(std::sqrt(
S));
177 }
178
179 result = factor * relativeMomsquared;
180 }
181
182 return result;
183}
G4double S(G4double temp)
static G4double Weight(G4int twoJ1, G4int twoM1, G4int twoJ2, G4int twoM2, G4int twoJOut1, G4int twoJOut2)
const G4LorentzVector & Get4Momentum() const
G4int GetPDGiIsospin() const
G4bool IsShortLived() const
G4double GetPDGMass() const
G4int GetPDGiIsospin3() const
G4double DegeneracyFactor(const G4KineticTrack &trk1, const G4KineticTrack &trk2, G4double iSpinOut1, G4double iSpinOut2) const