Geant4  10.01.p02
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=DBL_MAX)
 
G4double ComputeTransportCrossSectionPerAtom (G4double CosThetaMax)
 
G4ThreeVector SampleSingleScattering (G4double CosThetaMin, G4double CosThetaMax, G4double elecRatio=0.0)
 
G4double ComputeNuclearCrossSection (G4double CosThetaMin, G4double CosThetaMax)
 
G4double ComputeElectronCrossSection (G4double CosThetaMin, G4double CosThetaMax)
 
G4double SetupKinematic (G4double kinEnergy, const G4Material *mat)
 
void SetTargetMass (G4double value)
 
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
 
G4double numlimit
 
G4double elecXSRatio
 
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 112 of file G4WentzelVIRelXSection.cc.

G4WentzelVIRelXSection::G4WentzelVIRelXSection ( const G4WentzelVIRelXSection )
private

Member Function Documentation

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

Definition at line 240 of file G4WentzelVIRelXSection.hh.

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

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

+ 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 342 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 226 of file G4WentzelVIRelXSection.hh.

References kinFactor, screenZ, and targetZ.

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

+ Here is the caller graph for this function:

G4double G4WentzelVIRelXSection::ComputeTransportCrossSectionPerAtom ( G4double  CosThetaMax)

Definition at line 198 of file G4WentzelVIRelXSection.cc.

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

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 218 of file G4WentzelVIRelXSection.hh.

References cosTetMaxElec.

G4double G4WentzelVIRelXSection::GetCosThetaNuc ( ) const
inline

Definition at line 211 of file G4WentzelVIRelXSection.hh.

References cosTetMaxNuc.

G4double G4WentzelVIRelXSection::GetMomentumSquare ( ) const
inline

Definition at line 204 of file G4WentzelVIRelXSection.hh.

References mom2.

Referenced by G4hCoulombScatteringModel::SampleSecondaries().

+ Here is the caller graph for this function:

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

Definition at line 117 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 G4WentzelVIRelXSection(), 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 = 0.0 
)

Definition at line 295 of file G4WentzelVIRelXSection.cc.

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4WentzelVIRelXSection::SetTargetMass ( G4double  value)
inline

Definition at line 196 of file G4WentzelVIRelXSection.hh.

References factD, mom2, and targetMass.

Referenced by G4hCoulombScatteringModel::SampleSecondaries(), and SetupTarget().

+ Here is the caller graph for this function:

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

Definition at line 178 of file G4WentzelVIRelXSection.hh.

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

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

+ 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 136 of file G4WentzelVIRelXSection.cc.

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 153 of file G4WentzelVIRelXSection.cc.

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

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

+ 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 141 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and SetupTarget().

G4double G4WentzelVIRelXSection::charge3
private

Definition at line 147 of file G4WentzelVIRelXSection.hh.

Referenced by SetupParticle().

G4double G4WentzelVIRelXSection::chargeSquare
private

Definition at line 146 of file G4WentzelVIRelXSection.hh.

Referenced by SetupParticle(), and SetupTarget().

G4double G4WentzelVIRelXSection::coeff
private

Definition at line 137 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and SetupTarget().

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

Definition at line 140 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and Initialise().

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

Definition at line 156 of file G4WentzelVIRelXSection.hh.

Referenced by Initialise().

G4double G4WentzelVIRelXSection::elecXSRatio
private

Definition at line 128 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection().

G4double G4WentzelVIRelXSection::etag
private

Definition at line 155 of file G4WentzelVIRelXSection.hh.

Referenced by Initialise(), and SetupTarget().

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

Definition at line 166 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and SampleSingleScattering().

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

Definition at line 164 of file G4WentzelVIRelXSection.hh.

Referenced by Initialise(), and SetupKinematic().

G4Pow* G4WentzelVIRelXSection::fG4pow
private

Definition at line 124 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection().

G4NistManager* G4WentzelVIRelXSection::fNistManager
private

Definition at line 123 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and SetupTarget().

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

Definition at line 172 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and SetupTarget().

G4double G4WentzelVIRelXSection::gam0pcmp
private

Definition at line 168 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection().

G4double G4WentzelVIRelXSection::invbeta2
private

Definition at line 153 of file G4WentzelVIRelXSection.hh.

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

G4bool G4WentzelVIRelXSection::isCombined
private

Definition at line 134 of file G4WentzelVIRelXSection.hh.

Referenced by Initialise(), and SetupKinematic().

G4double G4WentzelVIRelXSection::lowEnergyLimit
private

Definition at line 157 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection().

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

Definition at line 152 of file G4WentzelVIRelXSection.hh.

Referenced by Initialise().

G4double G4WentzelVIRelXSection::numlimit
private

Definition at line 126 of file G4WentzelVIRelXSection.hh.

Referenced by ComputeTransportCrossSectionPerAtom().

G4int G4WentzelVIRelXSection::nwarnings
private

Definition at line 131 of file G4WentzelVIRelXSection.hh.

Referenced by ComputeTransportCrossSectionPerAtom().

G4int G4WentzelVIRelXSection::nwarnlimit
private

Definition at line 132 of file G4WentzelVIRelXSection.hh.

Referenced by ComputeTransportCrossSectionPerAtom().

G4double G4WentzelVIRelXSection::pcmp2
private

Definition at line 169 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection().

G4double G4WentzelVIRelXSection::ScreenRSquare = {0.0}
staticprivate

Definition at line 171 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and SetupTarget().

G4double G4WentzelVIRelXSection::spin
private

Definition at line 148 of file G4WentzelVIRelXSection.hh.

Referenced by SetupKinematic(), and SetupParticle().

G4double G4WentzelVIRelXSection::targetMass
private

Definition at line 161 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and SetTargetMass().

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

Definition at line 120 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection().

const G4ParticleDefinition* G4WentzelVIRelXSection::theProton
private

Definition at line 118 of file G4WentzelVIRelXSection.hh.

Referenced by G4WentzelVIRelXSection(), and SetupTarget().


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