91   delete protonInelastic;
 
   93   delete TripathiGeneral;
 
  116   if (verboseLevel >= 2)
 
  119     G4cout <<
"In G4GeneralSpaceNNCrossSection::GetCrossSection" <<
G4endl;
 
  120     G4cout <<
"Projectile A = " <<std::setw(8) <<AP 
 
  121            <<
" Z = "           <<std::setw(8) <<ZP
 
  124     G4cout <<
"Target     Z = " <<std::setw(8) <<ZT
 
  131       result = protonInelastic->
 
  132         GetElementCrossSection(theProjectile, ZT, mat);
 
  133       if (verboseLevel >= 2)
 
  134         G4cout <<
"Selecting G4ProtonInelasticCrossSection" <<
G4endl;
 
  138       result = TripathiLight->
 
  139         GetElementCrossSection(theProjectile, ZT, mat);
 
  140       if (verboseLevel >= 2)
 
  141         G4cout <<
"Selecting G4TripathiLightCrossSection" <<
G4endl;
 
  149         GetElementCrossSection(theProjectile, ZT, mat);
 
  150       if (verboseLevel >= 2)
 
  155       result = TripathiLight->
 
  156         GetElementCrossSection(theProjectile, ZT, mat);
 
  157       if (verboseLevel >= 2)
 
  158         G4cout <<
"Selecting G4TripathiLightCrossSection" <<
G4endl;
 
  163     if (TripathiLight->IsElementApplicable(theProjectile, ZT, mat))
 
  165       result = TripathiLight->
 
  166         GetElementCrossSection(theProjectile, ZT, mat);
 
  167       if (verboseLevel >= 2)
 
  168         G4cout <<
"Selecting G4TripathiLightCrossSection" <<
G4endl;
 
  170     else if (TripathiGeneral->IsElementApplicable(theProjectile, ZT, mat))
 
  172       result = TripathiGeneral->
 
  173         GetElementCrossSection(theProjectile, ZT, mat);
 
  174       if (verboseLevel >= 2)
 
  177     else if (Shen->IsElementApplicable(theProjectile, ZT, mat))
 
  180         GetElementCrossSection(theProjectile, ZT, mat);
 
  181       if (verboseLevel >= 2)
 
  185   if (verboseLevel >= 2)
 
  199    outFile << 
"G4GeneralSpaceNNCrossSection calculates hadronic inelastic\n" 
  200            << 
"cross sections of interest in space science, by using the\n" 
  201            << 
"following cross sections:\n" 
  202            << 
"- G4ProtonInelasticCrossSection : for proton projectile\n" 
  203            << 
"  on targets with Z > 5;\n" 
  204            << 
"- G4TripathiLightCrossSection : for proton projectile\n" 
  205            << 
"  on targets with Z <= 5;\n" 
  206            << 
"  for targets with Z = 1 and projectile Z <= 5;\n" 
  207            << 
"  for neutron, or deuteron, or 3He, or alpha projectile\n" 
  208            << 
"  with kinetic energy less than 10 GeV per nucleon,\n" 
  209            << 
"  in any target;\n" 
  210            << 
"  for 3He and 4He targets, for any projectile with\n" 
  211            << 
"  kinetic energy less than 10 GeV per nucleon;\n" 
  212            << 
"- G4IonProtonCrossSection : for projectile with Z > 5\n" 
  213            << 
"  on hydrogen target;\n" 
  214            << 
"- G4TripathiCrossSection : for any projectile with A >=3\n" 
  215            << 
"  and kinetic energy less than 1 GeV per nucleon,\n" 
  216            << 
"  for any target, if the previous cross section is\n" 
  217            << 
"  not applicable;\n" 
  218            << 
"- G4IonsShenCrossSection : in all remaining cases, up to\n" 
  219            << 
"  projectile kinetic energy of 1 TeV per nucleon.\n";
 
G4double G4ParticleHPJENDLHEData::G4double result
 
G4double GetKineticEnergy() const 
 
G4ParticleDefinition * GetDefinition() const 
 
virtual void CrossSectionDescription(std::ostream &outFile) const 
 
G4GLOB_DLL std::ostream G4cout
 
static constexpr double eplus
 
virtual G4double GetElementCrossSection(const G4DynamicParticle *theProjectile, G4int Z, const G4Material *)
 
G4GeneralSpaceNNCrossSection()
 
static G4Proton * Proton()
 
virtual G4bool IsElementApplicable(const G4DynamicParticle *theProjectile, G4int Z, const G4Material *)
 
~G4GeneralSpaceNNCrossSection()
 
G4double GetPDGCharge() const 
 
static constexpr double millibarn
 
G4int GetBaryonNumber() const