89 if (pWeight == 0.)
throw G4HadronicException(__FILE__, __LINE__,
"G4VXResonance::IsospinCorrection, no resonances - pWeight is zero");
97 G4double factor = degeneracyFactor * pWeight;
103 isoProton,isoProton);
109 result = rWeight / pWeight;
115 result = weight / pWeight;
139 throw G4HadronicException(__FILE__, __LINE__,
"Detailed balance for resonance scattering still on the schedule.");
155 G4double factor = degeneracy * weight;
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;
179 result = factor * relativeMomsquared;
201 value = (iSpinOut1+1) * (iSpinOut2+1) / denom;
G4int GetPDGiSpin() const
G4int GetPDGiIsospin3() const
static G4Proton * ProtonDefinition()
G4double DegeneracyFactor(const G4KineticTrack &trk1, const G4KineticTrack &trk2, G4double iSpinOut1, G4double iSpinOut2) const
G4double DetailedBalance(const G4KineticTrack &trk1, const G4KineticTrack &trk2, G4int isoOut1, G4int isoOut2, G4double iSpinOut1, G4double iSpinOut2, G4double mOut1, G4double mOut2) const
G4double IsospinCorrection(const G4KineticTrack &trk1, const G4KineticTrack &trk2, G4int isoOut1, G4int isoOut2, G4double iSpinOut1, G4double iSpinOut2) const
G4ParticleDefinition * GetDefinition() const
std::vector< G4double > GenerateIso3(G4int isoIn1, G4int iso3In1, G4int isoIn2, G4int iso3In2, G4int isoOut1, G4int isoOut2) const
G4bool operator==(const G4VXResonance &right) const
G4double GetPhaseSpaceIntegral(G4double sqrts)
G4bool IsShortLived() const
G4bool operator!=(const G4VXResonance &right) const
G4double GetPDGMass() const
G4int GetPDGiIsospin() const
G4double Weight(G4int isoIn1, G4int iso3In1, G4int isoIn2, G4int iso3In2, G4int isoOut1, G4int isoOut2) const
const G4LorentzVector & Get4Momentum() const