#include <G4IonProtonCrossSection.hh>
Inheritance diagram for G4IonProtonCrossSection:
Public Member Functions | |
G4IonProtonCrossSection () | |
virtual | ~G4IonProtonCrossSection () |
G4double | GetProtonCrossSection (G4double kinEnergy, G4int Z) |
virtual G4bool | IsElementApplicable (const G4DynamicParticle *aPart, G4int Z, const G4Material *) |
virtual G4double | GetElementCrossSection (const G4DynamicParticle *aPart, G4int Z, const G4Material *) |
virtual void | CrossSectionDescription (std::ostream &) const |
Definition at line 58 of file G4IonProtonCrossSection.hh.
G4IonProtonCrossSection::G4IonProtonCrossSection | ( | ) |
Definition at line 49 of file G4IonProtonCrossSection.cc.
00050 : G4VCrossSectionDataSet("AxenWellischIonH") 00051 { 00052 theForward = new G4ProtonInelasticCrossSection(); 00053 }
G4IonProtonCrossSection::~G4IonProtonCrossSection | ( | ) | [virtual] |
void G4IonProtonCrossSection::CrossSectionDescription | ( | std::ostream & | ) | const [virtual] |
Reimplemented from G4VCrossSectionDataSet.
Definition at line 78 of file G4IonProtonCrossSection.cc.
00079 { 00080 outFile << "G4IonProtonCrossSection calculates the inelastic cross section\n" 00081 << "for ions scattering from protons using inverse kinematics and\n" 00082 << "the Axen-Wellisch inelastic cross sections in the\n" 00083 << "G4ProtonInelasticCrossSection class.\n"; 00084 }
G4double G4IonProtonCrossSection::GetElementCrossSection | ( | const G4DynamicParticle * | aPart, | |
G4int | Z, | |||
const G4Material * | ||||
) | [virtual] |
Reimplemented from G4VCrossSectionDataSet.
Definition at line 67 of file G4IonProtonCrossSection.cc.
References G4lrint(), G4DynamicParticle::GetDefinition(), G4DynamicParticle::GetKineticEnergy(), G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetPDGMass(), and G4ProtonInelasticCrossSection::GetProtonCrossSection().
00070 { 00071 const G4ParticleDefinition* p = dp->GetDefinition(); 00072 G4double e = dp->GetKineticEnergy()*CLHEP::proton_mass_c2/p->GetPDGMass(); 00073 return 00074 theForward->GetProtonCrossSection(e, G4lrint(p->GetPDGCharge()/eplus)); 00075 }
G4bool G4IonProtonCrossSection::IsElementApplicable | ( | const G4DynamicParticle * | aPart, | |
G4int | Z, | |||
const G4Material * | ||||
) | [virtual] |
Reimplemented from G4VCrossSectionDataSet.
Definition at line 59 of file G4IonProtonCrossSection.cc.
References G4DynamicParticle::GetDefinition(), and G4ParticleDefinition::GetPDGCharge().