53 outFile <<
"G4IonsKoxCrossSection calculates the total reaction cross\n"
54 <<
"section for nucleus-nucleus scattering using the Kox\n"
55 <<
"parameterization. It is valid for projectiles and targets\n"
56 <<
"of all Z, at projectile energies up to 10 GeV/n. If the\n"
57 <<
"projectile energy is less than 10 MeV/n, a zero cross section\n"
96 if( Ecm <= Bc)
return xsection;
104 G4double Rsurf =
r0 * (a*cubicrAp * cubicrAt/(cubicrAp + cubicrAt) - c);
105 G4double D = 5.0 * ( At - 2 * Zt ) * Zp / ( Ap * At );
106 Rsurf = Rsurf + D *
fermi;
109 xsection =
pi * Rint * Rint * ( 1 - Bc / ( Ecm /
MeV ) );
117 G4double Elab = std::sqrt ( mp * mp + Plab * Plab );
118 G4double Ecm = std::sqrt ( mp * mp + mt * mt + 2 * Elab * mt );
120 G4double KEcm = std::sqrt ( Pcm * Pcm + mp * mp ) - mp;
134 G4double log10_ke = std::log10 ( ke );
virtual G4double GetElementCrossSection(const G4DynamicParticle *, G4int Z, const G4Material *)
std::vector< ExP01TrackerHit * > a
static constexpr double MeV
virtual void CrossSectionDescription(std::ostream &) const
G4double calCeValue(G4double)
G4double GetPDGCharge() const
static constexpr double fermi
static G4Pow * GetInstance()
G4ParticleDefinition * GetDefinition() const
virtual G4bool IsElementApplicable(const G4DynamicParticle *aDP, G4int Z, const G4Material *)
G4double powA(G4double A, G4double y) const
G4int GetBaryonNumber() const
static G4double GetNuclearMass(const G4double A, const G4double Z)
G4ThreeVector GetMomentum() const
static constexpr double eplus
G4double calEcm(G4double, G4double, G4double)
G4double GetKineticEnergy() const
static constexpr double pi
static G4NistManager * Instance()