#include <G4IonsShenCrossSection.hh>
|
| G4IonsShenCrossSection () |
|
virtual | ~G4IonsShenCrossSection () |
|
virtual G4bool | IsElementApplicable (const G4DynamicParticle *aDP, G4int Z, const G4Material *) |
|
virtual G4double | GetElementCrossSection (const G4DynamicParticle *, G4int Z, const G4Material *) |
|
virtual G4double | GetIsoCrossSection (const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso=0, const G4Element *elm=0, const G4Material *mat=0) |
|
virtual void | CrossSectionDescription (std::ostream &) const |
|
| G4VCrossSectionDataSet (const G4String &nam="") |
|
virtual | ~G4VCrossSectionDataSet () |
|
virtual G4bool | IsIsoApplicable (const G4DynamicParticle *, G4int Z, G4int A, const G4Element *elm=0, const G4Material *mat=0) |
|
G4double | GetCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=0) |
|
G4double | ComputeCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=0) |
|
virtual G4Isotope * | SelectIsotope (const G4Element *, G4double kinEnergy) |
|
virtual void | BuildPhysicsTable (const G4ParticleDefinition &) |
|
virtual void | DumpPhysicsTable (const G4ParticleDefinition &) |
|
virtual G4int | GetVerboseLevel () const |
|
virtual void | SetVerboseLevel (G4int value) |
|
G4double | GetMinKinEnergy () const |
|
void | SetMinKinEnergy (G4double value) |
|
G4double | GetMaxKinEnergy () const |
|
void | SetMaxKinEnergy (G4double value) |
|
const G4String & | GetName () const |
|
Definition at line 51 of file G4IonsShenCrossSection.hh.
G4IonsShenCrossSection::G4IonsShenCrossSection |
( |
| ) |
|
G4IonsShenCrossSection::~G4IonsShenCrossSection |
( |
| ) |
|
|
virtual |
void G4IonsShenCrossSection::CrossSectionDescription |
( |
std::ostream & |
outFile | ) |
const |
|
virtual |
Reimplemented from G4VCrossSectionDataSet.
Definition at line 54 of file G4IonsShenCrossSection.cc.
56 outFile <<
"G4IonsShenCrossSection calculates the total reaction cross\n"
57 <<
"section for nucleus-nucleus scattering using the Shen\n"
58 <<
"parameterization. It is valid for projectiles and targets of\n"
59 <<
"all Z, and projectile energies up to 1 TeV/n. Above 10 GeV/n"
60 <<
"the cross section is constant. Below 10 MeV/n zero cross\n"
Reimplemented from G4VCrossSectionDataSet.
Definition at line 79 of file G4IonsShenCrossSection.cc.
References G4Pow::A13(), test::b, test::c, python.hepunit::eplus, G4lrint(), G4ParticleDefinition::GetBaryonNumber(), G4DynamicParticle::GetDefinition(), G4Pow::GetInstance(), G4DynamicParticle::GetKineticEnergy(), G4DynamicParticle::GetMass(), G4DynamicParticle::GetMomentum(), G4NucleiProperties::GetNuclearMass(), G4ParticleDefinition::GetPDGCharge(), CLHEP::Hep3Vector::mag(), python.hepunit::MeV, python.hepunit::millibarn, python.hepunit::pi, and G4Pow::Z13().
Referenced by GetElementCrossSection().
91 if ( ke_per_N > upperLimit ) { ke_per_N = upperLimit; }
101 G4double Rt = 1.12 * cubicrAt - 0.94 * ( 1.0 / cubicrAt );
102 G4double Rp = 1.12 * cubicrAp - 0.94 * ( 1.0 / cubicrAp );
111 G4double Ecm = calEcmValue (proj_mass, targ_mass, proj_momentum);
113 G4double B = 1.44 * Zt * Zp / r - b * Rt * Rp / ( Rt + Rp );
114 if(Ecm <= B) {
return xsection; }
118 G4double R1 = r0 * (cubicrAt + cubicrAp + 1.85*cubicrAt*cubicrAp/(cubicrAt + cubicrAp) - c);
120 G4double R2 = 1.0 * ( At - 2 * Zt ) * Zp / ( Ap * At );
123 G4double R3 = (0.176 / g4pow->
A13(Ecm)) * cubicrAt * cubicrAp /(cubicrAt + cubicrAp);
127 xsection = 10 *
pi * R * R * ( 1 - B / Ecm );
static G4Pow * GetInstance()
static G4double GetNuclearMass(const G4double A, const G4double Z)
G4double GetKineticEnergy() const
G4ParticleDefinition * GetDefinition() const
G4double Z13(G4int Z) const
G4double A13(G4double A) const
G4double GetPDGCharge() const
G4ThreeVector GetMomentum() const
G4int GetBaryonNumber() const
The documentation for this class was generated from the following files: