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";