G4IonProtonCrossSection Class Reference

#include <G4IonProtonCrossSection.hh>

Inheritance diagram for G4IonProtonCrossSection:

G4VCrossSectionDataSet

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

Detailed Description

Definition at line 58 of file G4IonProtonCrossSection.hh.


Constructor & Destructor Documentation

G4IonProtonCrossSection::G4IonProtonCrossSection (  ) 

Definition at line 49 of file G4IonProtonCrossSection.cc.

00050   : G4VCrossSectionDataSet("AxenWellischIonH") 
00051 {
00052   theForward = new G4ProtonInelasticCrossSection();
00053 }

G4IonProtonCrossSection::~G4IonProtonCrossSection (  )  [virtual]

Definition at line 55 of file G4IonProtonCrossSection.cc.

00056 {}


Member Function Documentation

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 }

G4double G4IonProtonCrossSection::GetProtonCrossSection ( G4double  kinEnergy,
G4int  Z 
)

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().

00061 {
00062   return ((1 == Z) && (dp->GetDefinition()->GetPDGCharge()/eplus > 1.5)); 
00063 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:52:18 2013 for Geant4 by  doxygen 1.4.7