91 delete protonInelastic;
93 delete TripathiGeneral;
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->
134 G4cout <<
"Selecting G4ProtonInelasticCrossSection" <<
G4endl;
138 result = TripathiLight->
141 G4cout <<
"Selecting G4TripathiLightCrossSection" <<
G4endl;
155 result = TripathiLight->
158 G4cout <<
"Selecting G4TripathiLightCrossSection" <<
G4endl;
165 result = TripathiLight->
168 G4cout <<
"Selecting G4TripathiLightCrossSection" <<
G4endl;
172 result = TripathiGeneral->
187 G4cout <<
"Cross-section = " <<result/millibarn <<
" mbarn" <<
G4endl;
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";
G4GLOB_DLL std::ostream G4cout
G4ParticleDefinition * GetDefinition() const
G4double GetKineticEnergy() const
virtual G4double GetElementCrossSection(const G4DynamicParticle *theProjectile, G4int Z, const G4Material *)
G4GeneralSpaceNNCrossSection()
virtual G4bool IsElementApplicable(const G4DynamicParticle *theProjectile, G4int Z, const G4Material *)
virtual void CrossSectionDescription(std::ostream &outFile) const
~G4GeneralSpaceNNCrossSection()
virtual G4bool IsElementApplicable(const G4DynamicParticle *aDP, G4int Z, const G4Material *)
G4double GetPDGCharge() const
G4int GetBaryonNumber() const
static G4Proton * Proton()
virtual G4bool IsElementApplicable(const G4DynamicParticle *aPart, G4int Z, const G4Material *)
virtual G4bool IsElementApplicable(const G4DynamicParticle *theProjectile, G4int Z, const G4Material *)