55   outFile << 
"G4IonsShenCrossSection calculates the total reaction cross\n" 
   56           << 
"section for nucleus-nucleus scattering using the Shen\n" 
   57           << 
"parameterization.  It is valid for projectiles and targets of\n" 
   58           << 
"all Z, and projectile energies up to 1 TeV/n.  Above 10 GeV/n" 
   59           << 
"the cross section is constant.  Below 10 MeV/n zero cross\n" 
  100    G4double Rt = 1.12 * cubicrAt - 0.94 * ( 1.0 / cubicrAt );
 
  101    G4double Rp = 1.12 * cubicrAp - 0.94 * ( 1.0 / cubicrAp );
 
  112    G4double B = 1.44 * Zt * Zp / r - b * Rt * Rp / ( Rt + Rp ); 
 
  113    if(Ecm <= B) { 
return xsection; }
 
  117    G4double R1 = 
r0 * (cubicrAt + cubicrAp + 1.85*cubicrAt*cubicrAp/(cubicrAt + cubicrAp) - c); 
 
  119    G4double R2 = 1.0 * ( At - 2 * Zt ) * Zp / ( Ap * At );
 
  122    G4double R3 = (0.176 / g4pow->
A13(Ecm)) * cubicrAt * cubicrAp /(cubicrAt + cubicrAp);
 
  126    xsection = 10 * 
pi * R * R * ( 1 - B / Ecm );   
 
  136    G4double Elab = std::sqrt ( mp * mp + Plab * Plab );
 
  137    G4double Ecm = std::sqrt ( mp * mp + mt * mt + 2 * Elab * mt );
 
  139    G4double KEcm = std::sqrt ( Pcm * Pcm + mp * mp ) - mp;
 
  154    G4double log10_ke = std::log10 ( ke );   
 
static G4Pow * GetInstance()
 
static G4double GetNuclearMass(const G4double A, const G4double Z)
 
G4double GetKineticEnergy() const 
 
virtual void CrossSectionDescription(std::ostream &) const 
 
virtual ~G4IonsShenCrossSection()
 
G4ParticleDefinition * GetDefinition() const 
 
double B(double temperature)
 
static G4NistManager * Instance()
 
G4double calCeValue(const G4double)
 
G4double Z13(G4int Z) const 
 
double A(double temperature)
 
virtual G4double GetElementCrossSection(const G4DynamicParticle *, G4int Z, const G4Material *)
 
G4double A13(G4double A) const 
 
G4double calEcmValue(const G4double, const G4double, const G4double)
 
virtual G4bool IsElementApplicable(const G4DynamicParticle *aDP, G4int Z, const G4Material *)
 
static const double millibarn
 
virtual G4double GetIsoCrossSection(const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso=0, const G4Element *elm=0, const G4Material *mat=0)
 
static const double eplus
 
G4double GetPDGCharge() const 
 
G4ThreeVector GetMomentum() const 
 
G4int GetBaryonNumber() const 
 
const G4double upperLimit