#include <G4IonsKoxCrossSection.hh>
|
| G4IonsKoxCrossSection () |
|
| ~G4IonsKoxCrossSection () |
|
virtual G4bool | IsElementApplicable (const G4DynamicParticle *aDP, G4int Z, const G4Material *) |
|
virtual G4double | GetElementCrossSection (const G4DynamicParticle *, G4int Z, const G4Material *) |
|
virtual void | CrossSectionDescription (std::ostream &) const |
|
| G4VCrossSectionDataSet (const G4String &nam="") |
|
virtual | ~G4VCrossSectionDataSet () |
|
virtual G4bool | IsElementApplicable (const G4DynamicParticle *, G4int Z, const G4Material *mat=nullptr) |
|
virtual G4bool | IsIsoApplicable (const G4DynamicParticle *, G4int Z, G4int A, const G4Element *elm=nullptr, const G4Material *mat=nullptr) |
|
G4double | GetCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=nullptr) |
|
G4double | ComputeCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=nullptr) |
|
virtual G4double | GetElementCrossSection (const G4DynamicParticle *, G4int Z, const G4Material *mat=nullptr) |
|
virtual G4double | GetIsoCrossSection (const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso=nullptr, const G4Element *elm=nullptr, const G4Material *mat=nullptr) |
|
virtual const G4Isotope * | SelectIsotope (const G4Element *, G4double kinEnergy, G4double logE) |
|
virtual void | BuildPhysicsTable (const G4ParticleDefinition &) |
|
virtual void | DumpPhysicsTable (const G4ParticleDefinition &) |
|
virtual void | CrossSectionDescription (std::ostream &) const |
|
virtual G4int | GetVerboseLevel () const |
|
virtual void | SetVerboseLevel (G4int value) |
|
G4double | GetMinKinEnergy () const |
|
void | SetMinKinEnergy (G4double value) |
|
G4double | GetMaxKinEnergy () const |
|
void | SetMaxKinEnergy (G4double value) |
|
bool | ForAllAtomsAndEnergies () const |
|
void | SetForAllAtomsAndEnergies (G4bool val) |
|
const G4String & | GetName () const |
|
Definition at line 46 of file G4IonsKoxCrossSection.hh.
◆ G4IonsKoxCrossSection()
G4IonsKoxCrossSection::G4IonsKoxCrossSection |
( |
| ) |
|
◆ ~G4IonsKoxCrossSection()
G4IonsKoxCrossSection::~G4IonsKoxCrossSection |
( |
| ) |
|
◆ CrossSectionDescription()
void G4IonsKoxCrossSection::CrossSectionDescription |
( |
std::ostream & |
outFile | ) |
const |
|
virtual |
Reimplemented from G4VCrossSectionDataSet.
Definition at line 51 of file G4IonsKoxCrossSection.cc.
52{
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"
58 << "is returned.\n";
59}
◆ GetElementCrossSection()
Reimplemented from G4VCrossSectionDataSet.
Definition at line 68 of file G4IonsKoxCrossSection.cc.
70{
72
76
77
78
79
82
84
87
88
89 G4double Bc = Zt * Zp / ( (rc/fermi) * (cubicrAp+cubicrAt) );
90
94
95 G4double Ecm = calEcm ( proj_mass , targ_mass , proj_momentum );
96 if( Ecm <= Bc) return xsection;
97
98 G4double Rvol = r0 * ( cubicrAp + cubicrAt );
99
100
101 G4double c = calCeValue ( ke_per_N / MeV );
102
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;
107
109 xsection =
pi * Rint * Rint * ( 1 - Bc / ( Ecm / MeV ) );
110
111 return xsection;
112}
G4ParticleDefinition * GetDefinition() const
G4double GetKineticEnergy() const
G4ThreeVector GetMomentum() const
static G4NistManager * Instance()
static G4double GetNuclearMass(const G4double A, const G4double Z)
G4double GetPDGCharge() const
G4int GetBaryonNumber() const
static G4Pow * GetInstance()
G4double powA(G4double A, G4double y) const
◆ IsElementApplicable()
The documentation for this class was generated from the following files: