Geant4  10.02
G4WentzelVIRelXSection Class Reference

#include <G4WentzelVIRelXSection.hh>

+ Collaboration diagram for G4WentzelVIRelXSection:

Public Member Functions

 G4WentzelVIRelXSection (G4bool combined=true)
 
virtual ~G4WentzelVIRelXSection ()
 
void Initialise (const G4ParticleDefinition *, G4double CosThetaLim)
 
void SetupParticle (const G4ParticleDefinition *)
 
G4double SetupTarget (G4int Z, G4double cut)
 
G4double ComputeTransportCrossSectionPerAtom (G4double CosThetaMax)
 
G4ThreeVectorSampleSingleScattering (G4double CosThetaMin, G4double CosThetaMax, G4double elecRatio)
 
G4double ComputeNuclearCrossSection (G4double CosThetaMin, G4double CosThetaMax)
 
G4double ComputeElectronCrossSection (G4double CosThetaMin, G4double CosThetaMax)
 
G4double SetupKinematic (G4double kinEnergy, const G4Material *mat, G4double cut, G4double tmass)
 
G4double GetMomentumSquare () const
 
G4double GetCosThetaNuc () const
 
G4double GetCosThetaElec () const
 

Private Member Functions

void ComputeMaxElectronScattering (G4double cut)
 
G4WentzelVIRelXSectionoperator= (const G4WentzelVIRelXSection &right)
 
 G4WentzelVIRelXSection (const G4WentzelVIRelXSection &)
 

Private Attributes

const G4ParticleDefinitiontheProton
 
const G4ParticleDefinitiontheElectron
 
const G4ParticleDefinitionthePositron
 
const G4MaterialcurrentMaterial
 
G4NistManagerfNistManager
 
G4PowfG4pow
 
G4ThreeVector temp
 
G4double numlimit
 
G4int nwarnings
 
G4int nwarnlimit
 
G4bool isCombined
 
G4double coeff
 
G4double cosTetMaxElec
 
G4double cosTetMaxNuc
 
G4double cosThetaMax
 
G4double alpha2
 
const G4ParticleDefinitionparticle
 
G4double chargeSquare
 
G4double charge3
 
G4double spin
 
G4double mass
 
G4double tkin
 
G4double mom2
 
G4double momCM2
 
G4double invbeta2
 
G4double kinFactor
 
G4double etag
 
G4double ecut
 
G4double lowEnergyLimit
 
G4int targetZ
 
G4double targetMass
 
G4double screenZ
 
G4double formfactA
 
G4double factorA2
 
G4double factB
 
G4double factB1
 
G4double factD
 
G4double gam0pcmp
 
G4double pcmp2
 

Static Private Attributes

static G4double ScreenRSquare [100] = {0.0}
 
static G4double FormFactor [100] = {0.0}
 

Detailed Description

Definition at line 71 of file G4WentzelVIRelXSection.hh.

Constructor & Destructor Documentation

G4WentzelVIRelXSection::G4WentzelVIRelXSection ( G4bool  combined = true)
G4WentzelVIRelXSection::~G4WentzelVIRelXSection ( )
virtual

Definition at line 116 of file G4WentzelVIRelXSection.cc.

G4WentzelVIRelXSection::G4WentzelVIRelXSection ( const G4WentzelVIRelXSection )
private

Member Function Documentation

G4double G4WentzelVIRelXSection::ComputeElectronCrossSection ( G4double  CosThetaMin,
G4double  CosThetaMax 
)
inline

Definition at line 258 of file G4WentzelVIRelXSection.hh.

References cosTetMaxElec, kinFactor, G4INCL::Math::max(), and screenZ.

Referenced by G4hCoulombScatteringModel::ComputeCrossSectionPerAtom(), G4WentzelVIRelModel::ComputeXSectionPerVolume(), and G4hCoulombScatteringModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4WentzelVIRelXSection::ComputeMaxElectronScattering ( G4double  cut)
private

Definition at line 329 of file G4WentzelVIRelXSection.cc.

References cosTetMaxElec, mass, MeV, G4INCL::Math::min(), mom2, particle, theElectron, and tkin.

Referenced by SetupTarget().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4WentzelVIRelXSection::ComputeNuclearCrossSection ( G4double  CosThetaMin,
G4double  CosThetaMax 
)
inline

Definition at line 244 of file G4WentzelVIRelXSection.hh.

References kinFactor, screenZ, and targetZ.

Referenced by G4hCoulombScatteringModel::ComputeCrossSectionPerAtom(), G4WentzelVIRelModel::ComputeXSectionPerVolume(), and G4hCoulombScatteringModel::SampleSecondaries().

+ Here is the caller graph for this function:

G4double G4WentzelVIRelXSection::ComputeTransportCrossSectionPerAtom ( G4double  CosThetaMax)

Definition at line 184 of file G4WentzelVIRelXSection.cc.

References cosTetMaxElec, factB, formfactA, G4cout, G4endl, G4Log(), G4ParticleDefinition::GetParticleName(), kinFactor, G4INCL::Math::max(), mom2, numlimit, nwarnings, nwarnlimit, particle, screenZ, targetZ, tkin, and x.

Referenced by G4WentzelVIRelModel::ComputeCrossSectionPerAtom(), and G4WentzelVIRelModel::ComputeXSectionPerVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4WentzelVIRelXSection::GetCosThetaElec ( ) const
inline

Definition at line 236 of file G4WentzelVIRelXSection.hh.

References cosTetMaxElec.

G4double G4WentzelVIRelXSection::GetCosThetaNuc ( ) const
inline

Definition at line 229 of file G4WentzelVIRelXSection.hh.

References cosTetMaxNuc.

G4double G4WentzelVIRelXSection::GetMomentumSquare ( ) const
inline

Definition at line 222 of file G4WentzelVIRelXSection.hh.

References mom2.

void G4WentzelVIRelXSection::Initialise ( const G4ParticleDefinition p,
G4double  CosThetaLim 
)

Definition at line 121 of file G4WentzelVIRelXSection.cc.

References a, cosThetaMax, currentMaterial, DBL_MAX, ecut, etag, factorA2, G4EmParameters::FactorForAngleLimit(), fermi, G4EmParameters::Instance(), isCombined, mom2, momCM2, SetupParticle(), targetZ, and tkin.

Referenced by G4hCoulombScatteringModel::Initialise(), and G4WentzelVIRelModel::Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4WentzelVIRelXSection& G4WentzelVIRelXSection::operator= ( const G4WentzelVIRelXSection right)
private
G4ThreeVector & G4WentzelVIRelXSection::SampleSingleScattering ( G4double  CosThetaMin,
G4double  CosThetaMax,
G4double  elecRatio 
)

Definition at line 281 of file G4WentzelVIRelXSection.cc.

References cosTetMaxElec, factB, factB1, factD, formfactA, G4INCL::Math::max(), screenZ, targetZ, temp, and twopi.

Referenced by G4WentzelVIRelModel::SampleScattering(), and G4hCoulombScatteringModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4WentzelVIRelXSection::SetupKinematic ( G4double  kinEnergy,
const G4Material mat,
G4double  cut,
G4double  tmass 
)
inline

Definition at line 179 of file G4WentzelVIRelXSection.hh.

References cosTetMaxNuc, currentMaterial, ecut, factB, factD, factorA2, G4IonisParamMat::GetInvA23(), G4Material::GetIonisation(), invbeta2, isCombined, mass, mom2, spin, targetMass, and tkin.

Referenced by G4hCoulombScatteringModel::ComputeCrossSectionPerAtom(), G4WentzelVIRelModel::ComputeCrossSectionPerAtom(), G4WentzelVIRelModel::ComputeGeomPathLength(), G4WentzelVIRelModel::ComputeTruePathLengthLimit(), G4WentzelVIRelModel::ComputeTrueStepLength(), and G4hCoulombScatteringModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4WentzelVIRelXSection::SetupParticle ( const G4ParticleDefinition p)

Definition at line 140 of file G4WentzelVIRelXSection.cc.

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

Referenced by Initialise(), G4WentzelVIRelModel::SetupParticle(), and G4hCoulombScatteringModel::SetupParticle().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4WentzelVIRelXSection::SetupTarget ( G4int  Z,
G4double  cut 
)

Definition at line 157 of file G4WentzelVIRelXSection.cc.

References alpha2, chargeSquare, coeff, ComputeMaxElectronScattering(), cosTetMaxElec, cosTetMaxNuc, etag, formfactA, FormFactor, invbeta2, kinFactor, G4INCL::Math::min(), mom2, particle, ScreenRSquare, screenZ, targetZ, theProton, and tkin.

Referenced by G4hCoulombScatteringModel::ComputeCrossSectionPerAtom(), G4WentzelVIRelModel::ComputeCrossSectionPerAtom(), G4WentzelVIRelModel::ComputeXSectionPerVolume(), G4WentzelVIRelModel::SampleScattering(), and G4hCoulombScatteringModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4WentzelVIRelXSection::alpha2
private

Definition at line 142 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and SetupTarget().

G4double G4WentzelVIRelXSection::charge3
private

Definition at line 148 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and SetupParticle().

G4double G4WentzelVIRelXSection::chargeSquare
private

Definition at line 147 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), SetupParticle(), and SetupTarget().

G4double G4WentzelVIRelXSection::coeff
private

Definition at line 138 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and SetupTarget().

G4double G4WentzelVIRelXSection::cosTetMaxNuc
private
G4double G4WentzelVIRelXSection::cosThetaMax
private

Definition at line 141 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and Initialise().

const G4Material* G4WentzelVIRelXSection::currentMaterial
private
G4double G4WentzelVIRelXSection::ecut
private

Definition at line 157 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), Initialise(), and SetupKinematic().

G4double G4WentzelVIRelXSection::etag
private

Definition at line 156 of file G4WentzelVIRelXSection.hh.

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

G4double G4WentzelVIRelXSection::factB
private
G4double G4WentzelVIRelXSection::factB1
private

Definition at line 167 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and SampleSingleScattering().

G4double G4WentzelVIRelXSection::factD
private
G4double G4WentzelVIRelXSection::factorA2
private

Definition at line 165 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), Initialise(), and SetupKinematic().

G4Pow* G4WentzelVIRelXSection::fG4pow
private

Definition at line 125 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection().

G4NistManager* G4WentzelVIRelXSection::fNistManager
private

Definition at line 124 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection().

G4double G4WentzelVIRelXSection::formfactA
private
G4double G4WentzelVIRelXSection::FormFactor = {0.0}
staticprivate

Definition at line 173 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and SetupTarget().

G4double G4WentzelVIRelXSection::gam0pcmp
private

Definition at line 169 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection().

G4double G4WentzelVIRelXSection::invbeta2
private

Definition at line 154 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), SetupKinematic(), and SetupTarget().

G4bool G4WentzelVIRelXSection::isCombined
private

Definition at line 135 of file G4WentzelVIRelXSection.hh.

Referenced by Initialise(), and SetupKinematic().

G4double G4WentzelVIRelXSection::lowEnergyLimit
private

Definition at line 158 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection().

G4double G4WentzelVIRelXSection::mass
private
G4double G4WentzelVIRelXSection::momCM2
private

Definition at line 153 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and Initialise().

G4double G4WentzelVIRelXSection::numlimit
private

Definition at line 129 of file G4WentzelVIRelXSection.hh.

Referenced by ComputeTransportCrossSectionPerAtom().

G4int G4WentzelVIRelXSection::nwarnings
private

Definition at line 132 of file G4WentzelVIRelXSection.hh.

Referenced by ComputeTransportCrossSectionPerAtom().

G4int G4WentzelVIRelXSection::nwarnlimit
private

Definition at line 133 of file G4WentzelVIRelXSection.hh.

Referenced by ComputeTransportCrossSectionPerAtom().

G4double G4WentzelVIRelXSection::pcmp2
private

Definition at line 170 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection().

G4double G4WentzelVIRelXSection::ScreenRSquare = {0.0}
staticprivate

Definition at line 172 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and SetupTarget().

G4double G4WentzelVIRelXSection::spin
private
G4double G4WentzelVIRelXSection::targetMass
private

Definition at line 162 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and SetupKinematic().

G4ThreeVector G4WentzelVIRelXSection::temp
private

Definition at line 127 of file G4WentzelVIRelXSection.hh.

Referenced by SampleSingleScattering().

const G4ParticleDefinition* G4WentzelVIRelXSection::theElectron
private
const G4ParticleDefinition* G4WentzelVIRelXSection::thePositron
private

Definition at line 121 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection().

const G4ParticleDefinition* G4WentzelVIRelXSection::theProton
private

Definition at line 119 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and SetupTarget().


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