Geant4  10.01
G4IonCoulombCrossSection Class Reference

#include <G4IonCoulombCrossSection.hh>

+ Collaboration diagram for G4IonCoulombCrossSection:

Public Member Functions

 G4IonCoulombCrossSection ()
 
virtual ~G4IonCoulombCrossSection ()
 
void Initialise (const G4ParticleDefinition *, G4double cosThetaLim)
 
G4double NuclearCrossSection ()
 
G4double SampleCosineTheta ()
 
void SetupKinematic (G4double kinEnergy, G4double cut, G4double tmass)
 
void SetupTarget (G4double Z, G4double kinEnergy, G4int heavycorr)
 
void SetupParticle (const G4ParticleDefinition *)
 
G4double GetMomentum2 ()
 

Private Member Functions

void SetScreenRSquare (G4int iz)
 
G4IonCoulombCrossSectionoperator= (const G4IonCoulombCrossSection &right)
 
 G4IonCoulombCrossSection (const G4IonCoulombCrossSection &)
 

Private Attributes

const G4ParticleDefinitiontheProton
 
G4NistManagerfNistManager
 
G4double coeff
 
G4double cosThetaMin
 
G4double cosThetaMax
 
G4double cosTetMinNuc
 
G4double cosTetMaxNuc
 
G4double nucXSection
 
G4double ecut
 
G4double etag
 
const G4ParticleDefinitionparticle
 
G4double chargeSquare
 
G4double spin
 
G4double mass
 
G4double tkinLab
 
G4double momLab2
 
G4double invbetaLab2
 
G4double tkin
 
G4double mom2
 
G4double invbeta2
 
G4double targetZ
 
G4double targetMass
 
G4double screenZ
 
G4double alpha2
 
G4double ScreenRSquare
 

Detailed Description

Definition at line 69 of file G4IonCoulombCrossSection.hh.

Constructor & Destructor Documentation

G4IonCoulombCrossSection::G4IonCoulombCrossSection ( )

Definition at line 70 of file G4IonCoulombCrossSection.cc.

References chargeSquare, coeff, cosTetMaxNuc, cosTetMinNuc, ecut, etag, fNistManager, G4NistManager::Instance(), invbeta2, invbetaLab2, mass, mom2, momLab2, nucXSection, particle, G4Proton::Proton(), ScreenRSquare, screenZ, spin, targetMass, targetZ, theProton, tkin, and tkinLab.

+ Here is the call graph for this function:

G4IonCoulombCrossSection::~G4IonCoulombCrossSection ( )
virtual

Definition at line 93 of file G4IonCoulombCrossSection.cc.

G4IonCoulombCrossSection::G4IonCoulombCrossSection ( const G4IonCoulombCrossSection )
private

Member Function Documentation

G4double G4IonCoulombCrossSection::GetMomentum2 ( )
inline

Definition at line 159 of file G4IonCoulombCrossSection.hh.

References mom2.

void G4IonCoulombCrossSection::Initialise ( const G4ParticleDefinition p,
G4double  cosThetaLim 
)

Definition at line 98 of file G4IonCoulombCrossSection.cc.

References cosThetaMin, DBL_MAX, DBL_MIN, ecut, etag, mom2, nucXSection, particle, SetupParticle(), targetZ, and tkin.

Referenced by G4IonCoulombScatteringModel::Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4IonCoulombCrossSection::NuclearCrossSection ( )

Definition at line 193 of file G4IonCoulombCrossSection.cc.

References chargeSquare, coeff, cosTetMaxNuc, cosTetMinNuc, fac, invbeta2, mom2, nucXSection, screenZ, and targetZ.

Referenced by G4IonCoulombScatteringModel::ComputeCrossSectionPerAtom().

+ Here is the caller graph for this function:

G4IonCoulombCrossSection& G4IonCoulombCrossSection::operator= ( const G4IonCoulombCrossSection right)
private
G4double G4IonCoulombCrossSection::SampleCosineTheta ( )

Definition at line 215 of file G4IonCoulombCrossSection.cc.

References cosTetMaxNuc, cosTetMinNuc, G4UniformRand, and screenZ.

Referenced by G4IonCoulombScatteringModel::SampleSecondaries().

+ Here is the caller graph for this function:

void G4IonCoulombCrossSection::SetScreenRSquare ( G4int  iz)
private

Definition at line 178 of file G4IonCoulombCrossSection.cc.

References a0, alpha2, chargeSquare, fNistManager, G4Exp(), G4lrint(), G4NistManager::GetLOGZ(), and ScreenRSquare.

Referenced by SetupTarget().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4IonCoulombCrossSection::SetupKinematic ( G4double  kinEnergy,
G4double  cut,
G4double  tmass 
)

Definition at line 111 of file G4IonCoulombCrossSection.cc.

References cosTetMaxNuc, cosTetMinNuc, cosThetaMax, cosThetaMin, ecut, invbeta2, invbetaLab2, mass, mom2, momLab2, targetMass, tkin, and tkinLab.

Referenced by G4IonCoulombScatteringModel::ComputeCrossSectionPerAtom(), and G4IonCoulombScatteringModel::SampleSecondaries().

+ Here is the caller graph for this function:

void G4IonCoulombCrossSection::SetupParticle ( const G4ParticleDefinition p)
inline

Definition at line 147 of file G4IonCoulombCrossSection.hh.

References chargeSquare, eplus, G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetPDGMass(), G4ParticleDefinition::GetPDGSpin(), mass, particle, spin, and tkin.

Referenced by Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4IonCoulombCrossSection::SetupTarget ( G4double  Z,
G4double  kinEnergy,
G4int  heavycorr 
)

Definition at line 145 of file G4IonCoulombCrossSection.cc.

References alpha2, chargeSquare, cosTetMaxNuc, etag, G4Exp(), G4Log(), G4lrint(), invbeta2, iz, mom2, particle, ScreenRSquare, screenZ, SetScreenRSquare(), targetZ, and theProton.

Referenced by G4IonCoulombScatteringModel::ComputeCrossSectionPerAtom(), and G4IonCoulombScatteringModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4IonCoulombCrossSection::alpha2
private

Definition at line 139 of file G4IonCoulombCrossSection.hh.

Referenced by SetScreenRSquare(), and SetupTarget().

G4double G4IonCoulombCrossSection::chargeSquare
private
G4double G4IonCoulombCrossSection::coeff
private

Definition at line 102 of file G4IonCoulombCrossSection.hh.

Referenced by G4IonCoulombCrossSection(), and NuclearCrossSection().

G4double G4IonCoulombCrossSection::cosTetMaxNuc
private
G4double G4IonCoulombCrossSection::cosTetMinNuc
private
G4double G4IonCoulombCrossSection::cosThetaMax
private

Definition at line 106 of file G4IonCoulombCrossSection.hh.

Referenced by SetupKinematic().

G4double G4IonCoulombCrossSection::cosThetaMin
private

Definition at line 105 of file G4IonCoulombCrossSection.hh.

Referenced by Initialise(), and SetupKinematic().

G4double G4IonCoulombCrossSection::ecut
private
G4double G4IonCoulombCrossSection::etag
private

Definition at line 116 of file G4IonCoulombCrossSection.hh.

Referenced by G4IonCoulombCrossSection(), Initialise(), and SetupTarget().

G4NistManager* G4IonCoulombCrossSection::fNistManager
private

Definition at line 100 of file G4IonCoulombCrossSection.hh.

Referenced by G4IonCoulombCrossSection(), and SetScreenRSquare().

G4double G4IonCoulombCrossSection::invbeta2
private
G4double G4IonCoulombCrossSection::invbetaLab2
private

Definition at line 128 of file G4IonCoulombCrossSection.hh.

Referenced by G4IonCoulombCrossSection(), and SetupKinematic().

G4double G4IonCoulombCrossSection::mass
private
G4double G4IonCoulombCrossSection::mom2
private
G4double G4IonCoulombCrossSection::momLab2
private

Definition at line 127 of file G4IonCoulombCrossSection.hh.

Referenced by G4IonCoulombCrossSection(), and SetupKinematic().

G4double G4IonCoulombCrossSection::nucXSection
private
const G4ParticleDefinition* G4IonCoulombCrossSection::particle
private
G4double G4IonCoulombCrossSection::ScreenRSquare
private
G4double G4IonCoulombCrossSection::screenZ
private
G4double G4IonCoulombCrossSection::spin
private

Definition at line 122 of file G4IonCoulombCrossSection.hh.

Referenced by G4IonCoulombCrossSection(), and SetupParticle().

G4double G4IonCoulombCrossSection::targetMass
private

Definition at line 137 of file G4IonCoulombCrossSection.hh.

Referenced by G4IonCoulombCrossSection(), and SetupKinematic().

G4double G4IonCoulombCrossSection::targetZ
private
const G4ParticleDefinition* G4IonCoulombCrossSection::theProton
private

Definition at line 98 of file G4IonCoulombCrossSection.hh.

Referenced by G4IonCoulombCrossSection(), and SetupTarget().

G4double G4IonCoulombCrossSection::tkin
private
G4double G4IonCoulombCrossSection::tkinLab
private

Definition at line 126 of file G4IonCoulombCrossSection.hh.

Referenced by G4IonCoulombCrossSection(), and SetupKinematic().


The documentation for this class was generated from the following files: