51 : resonance(resDefinition)
72 if (widthTable)
delete widthTable;
74 if (partWidthTable)
delete partWidthTable;
108 G4double branch = Branch(trk1,trk2);
109 G4double width = VariableWidth(trk1,trk2);
110 G4double cleb = NormalizedClebsch(trk1,trk2);
113 if (
S == 0.)
throw G4HadronicException(__FILE__, __LINE__,
"G4XAnnihilationChannel::CrossSection - eCM = 0");
115 G4double pCM = std::sqrt((
S-(m_1+m_2)*(m_1+m_2))*(
S-(m_1-m_2)*(m_1-m_2))/(4.*
S));
117 sigma = ( (JRes + 1.) / ( (J1 + 1) * (J2 + 1) )
118 * pi / (pCM * pCM) * branch * width * width /
119 ( (eCM - mRes) * (eCM - mRes) + width * width / 4.0) * cleb * hbarc_squared);
138 G4String name(
"XAnnihilationChannelCrossSection");
155 G4double w=VariableWidth(trk1,trk2);
157 return VariablePartialWidth(trk1,trk2) / VariableWidth(trk1,trk2);
170 width = widthTable->
GetValue(sqrtS,dummy);
184 if (partWidthTable != 0)
189 width = partWidthTable->
GetValue(sqrtS,dummy);
208 G4int iso3 = iso31 + iso32;
214 if (isoRes < iso3)
return 0.;
215 if ((iso1*iso2) == 0)
return 1.;
224 if ( ((type1 ==
"baryon" && type2 ==
"baryon") ||(type1 ==
"meson" && type2 ==
"meson")) &&
225 anti < 0 && strangeness == 0)
G4double S(G4double temp)
static G4double NormalizedClebschGordan(G4int twoJ, G4int twom, G4int twoJ1, G4int twoJ2, G4int twom1, G4int twom2)
const G4ParticleDefinition * GetDefinition() const
const G4LorentzVector & Get4Momentum() const
G4int GetPDGiIsospin() const
const G4String & GetParticleType() const
G4double GetPDGMass() const
G4int GetPDGEncoding() const
G4int GetQuarkContent(G4int flavor) const
G4double GetPDGWidth() const
G4int GetPDGiSpin() const
G4int GetPDGiIsospin3() const
const G4String & GetParticleName() const
G4int GetAntiQuarkContent(G4int flavor) const
G4double GetValue(const G4double energy, G4bool &isOutRange) const
const G4String ShortName(const G4String &name)
virtual G4PhysicsVector * MassDependentWidth(const G4String &name) const =0
virtual G4PhysicsVector * MassDependentWidth(const G4String &name) const =0
G4bool InLimits(G4double e, G4double eLow, G4double eHigh) const
virtual G4String Name() const
G4bool operator==(const G4XAnnihilationChannel &right) const
G4bool operator!=(const G4XAnnihilationChannel &right) const
virtual G4bool IsValid(G4double e) const
virtual G4double CrossSection(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
virtual ~G4XAnnihilationChannel()