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"
95 G4double Ecm = calEcm ( proj_mass , targ_mass , proj_momentum );
96 if( Ecm <= Bc)
return xsection;
98 G4double Rvol = r0 * ( cubicrAp + cubicrAt );
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 );
static G4Pow * GetInstance()
virtual void CrossSectionDescription(std::ostream &) const
G4double powA(G4double A, G4double y) const
static G4double GetNuclearMass(const G4double A, const G4double Z)
G4double GetKineticEnergy() const
std::vector< ExP01TrackerHit * > a
G4ParticleDefinition * GetDefinition() const
static G4NistManager * Instance()
virtual G4bool IsElementApplicable(const G4DynamicParticle *aDP, G4int Z, const G4Material *)
static constexpr double eplus
virtual G4double GetElementCrossSection(const G4DynamicParticle *, G4int Z, const G4Material *)
static constexpr double MeV
static constexpr double pi
static constexpr double fermi
G4double GetPDGCharge() const
G4ThreeVector GetMomentum() const
G4int GetBaryonNumber() const