Geant4  10.00.p02
G4WentzelOKandVIxSection Class Reference

#include <G4WentzelOKandVIxSection.hh>

+ Collaboration diagram for G4WentzelOKandVIxSection:

Public Member Functions

 G4WentzelOKandVIxSection ()
 
virtual ~G4WentzelOKandVIxSection ()
 
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)
 
G4WentzelOKandVIxSectionoperator= (const G4WentzelOKandVIxSection &right)
 
 G4WentzelOKandVIxSection (const G4WentzelOKandVIxSection &)
 

Private Attributes

const G4ParticleDefinitiontheProton
 
const G4ParticleDefinitiontheElectron
 
const G4ParticleDefinitionthePositron
 
const G4MaterialcurrentMaterial
 
G4NistManagerfNistManager
 
G4PowfG4pow
 
G4double numlimit
 
G4double elecXSRatio
 
G4int nwarnings
 
G4int nwarnlimit
 
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 ScreenRSquareElec [100] = {0.0}
 
static G4double ScreenRSquare [100] = {0.0}
 
static G4double FormFactor [100] = {0.0}
 

Detailed Description

Definition at line 71 of file G4WentzelOKandVIxSection.hh.

Constructor & Destructor Documentation

G4WentzelOKandVIxSection::~G4WentzelOKandVIxSection ( )
virtual

Definition at line 120 of file G4WentzelOKandVIxSection.cc.

G4WentzelOKandVIxSection::G4WentzelOKandVIxSection ( const G4WentzelOKandVIxSection )
private

Member Function Documentation

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

Definition at line 237 of file G4WentzelOKandVIxSection.hh.

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

Referenced by G4eCoulombScatteringModel::ComputeCrossSectionPerAtom(), and G4WentzelVIModel::ComputeXSectionPerVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4WentzelOKandVIxSection::ComputeMaxElectronScattering ( G4double  cut)
private

Definition at line 352 of file G4WentzelOKandVIxSection.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 G4WentzelOKandVIxSection::ComputeNuclearCrossSection ( G4double  CosThetaMin,
G4double  CosThetaMax 
)
inline

Definition at line 223 of file G4WentzelOKandVIxSection.hh.

References kinFactor, screenZ, and targetZ.

Referenced by G4eCoulombScatteringModel::ComputeCrossSectionPerAtom(), and G4WentzelVIModel::ComputeXSectionPerVolume().

+ Here is the caller graph for this function:

G4double G4WentzelOKandVIxSection::ComputeTransportCrossSectionPerAtom ( G4double  CosThetaMax)

Definition at line 208 of file G4WentzelOKandVIxSection.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 G4WentzelVIModel::ComputeCrossSectionPerAtom(), and G4WentzelVIModel::ComputeXSectionPerVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4WentzelOKandVIxSection::GetCosThetaElec ( ) const
inline

Definition at line 215 of file G4WentzelOKandVIxSection.hh.

References cosTetMaxElec.

G4double G4WentzelOKandVIxSection::GetCosThetaNuc ( ) const
inline

Definition at line 208 of file G4WentzelOKandVIxSection.hh.

References cosTetMaxNuc.

G4double G4WentzelOKandVIxSection::GetMomentumSquare ( ) const
inline

Definition at line 201 of file G4WentzelOKandVIxSection.hh.

References mom2.

Referenced by G4eCoulombScatteringModel::SampleSecondaries().

+ Here is the caller graph for this function:

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

Definition at line 125 of file G4WentzelOKandVIxSection.cc.

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

Referenced by G4WentzelVIModel::Initialise(), and G4eCoulombScatteringModel::Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 305 of file G4WentzelOKandVIxSection.cc.

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

Referenced by G4WentzelVIModel::SampleScattering(), and G4eCoulombScatteringModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4WentzelOKandVIxSection::SetTargetMass ( G4double  value)
inline

Definition at line 193 of file G4WentzelOKandVIxSection.hh.

References factD, mom2, and targetMass.

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

+ Here is the caller graph for this function:

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

Definition at line 177 of file G4WentzelOKandVIxSection.hh.

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

Referenced by G4WentzelVIModel::ComputeCrossSectionPerAtom(), G4eCoulombScatteringModel::ComputeCrossSectionPerAtom(), G4WentzelVIModel::ComputeGeomPathLength(), G4WentzelVIModel::ComputeTruePathLengthLimit(), and G4WentzelVIModel::ComputeTrueStepLength().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4WentzelOKandVIxSection::SetupParticle ( const G4ParticleDefinition p)

Definition at line 145 of file G4WentzelOKandVIxSection.cc.

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

Referenced by Initialise(), G4WentzelVIModel::SetupParticle(), and G4eCoulombScatteringModel::SetupParticle().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 162 of file G4WentzelOKandVIxSection.cc.

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

Referenced by G4WentzelVIModel::ComputeCrossSectionPerAtom(), G4eCoulombScatteringModel::ComputeCrossSectionPerAtom(), G4WentzelVIModel::ComputeXSectionPerVolume(), and G4WentzelVIModel::SampleScattering().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4WentzelOKandVIxSection::alpha2
private

Definition at line 139 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().

G4double G4WentzelOKandVIxSection::charge3
private

Definition at line 145 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupParticle().

G4double G4WentzelOKandVIxSection::chargeSquare
private
G4double G4WentzelOKandVIxSection::coeff
private

Definition at line 135 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().

G4double G4WentzelOKandVIxSection::cosTetMaxNuc
private
G4double G4WentzelOKandVIxSection::cosThetaMax
private
const G4Material* G4WentzelOKandVIxSection::currentMaterial
private
G4double G4WentzelOKandVIxSection::ecut
private

Definition at line 154 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and Initialise().

G4double G4WentzelOKandVIxSection::elecXSRatio
private

Definition at line 128 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection().

G4double G4WentzelOKandVIxSection::etag
private

Definition at line 153 of file G4WentzelOKandVIxSection.hh.

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

G4double G4WentzelOKandVIxSection::factB
private
G4double G4WentzelOKandVIxSection::factB1
private
G4double G4WentzelOKandVIxSection::factD
private
G4double G4WentzelOKandVIxSection::factorA2
private
G4Pow* G4WentzelOKandVIxSection::fG4pow
private

Definition at line 124 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().

G4NistManager* G4WentzelOKandVIxSection::fNistManager
private

Definition at line 123 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().

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

Definition at line 171 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().

G4double G4WentzelOKandVIxSection::gam0pcmp
private

Definition at line 166 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection().

G4double G4WentzelOKandVIxSection::invbeta2
private
G4double G4WentzelOKandVIxSection::lowEnergyLimit
private

Definition at line 155 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection().

G4double G4WentzelOKandVIxSection::mass
private
G4double G4WentzelOKandVIxSection::momCM2
private

Definition at line 150 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and Initialise().

G4double G4WentzelOKandVIxSection::numlimit
private

Definition at line 126 of file G4WentzelOKandVIxSection.hh.

Referenced by ComputeTransportCrossSectionPerAtom().

G4int G4WentzelOKandVIxSection::nwarnings
private

Definition at line 131 of file G4WentzelOKandVIxSection.hh.

Referenced by ComputeTransportCrossSectionPerAtom().

G4int G4WentzelOKandVIxSection::nwarnlimit
private

Definition at line 132 of file G4WentzelOKandVIxSection.hh.

Referenced by ComputeTransportCrossSectionPerAtom().

G4double G4WentzelOKandVIxSection::pcmp2
private

Definition at line 167 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection().

G4double G4WentzelOKandVIxSection::ScreenRSquare = {0.0}
staticprivate

Definition at line 170 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().

G4double G4WentzelOKandVIxSection::ScreenRSquareElec = {0.0}
staticprivate

Definition at line 169 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().

G4double G4WentzelOKandVIxSection::spin
private
G4double G4WentzelOKandVIxSection::targetMass
private

Definition at line 159 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetTargetMass().

const G4ParticleDefinition* G4WentzelOKandVIxSection::theElectron
private
const G4ParticleDefinition* G4WentzelOKandVIxSection::thePositron
private

Definition at line 120 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection().

const G4ParticleDefinition* G4WentzelOKandVIxSection::theProton
private

Definition at line 118 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().


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