Geant4  10.02
G4WentzelOKandVIxSection Class Reference

#include <G4WentzelOKandVIxSection.hh>

+ Collaboration diagram for G4WentzelOKandVIxSection:

Public Member Functions

 G4WentzelOKandVIxSection (G4bool combined=true)
 
virtual ~G4WentzelOKandVIxSection ()
 
void Initialise (const G4ParticleDefinition *, G4double CosThetaLim)
 
void SetupParticle (const G4ParticleDefinition *)
 
G4double SetupTarget (G4int Z, G4double cut=DBL_MAX)
 
G4double ComputeTransportCrossSectionPerAtom (G4double CosThetaMax)
 
G4ThreeVectorSampleSingleScattering (G4double CosThetaMin, G4double CosThetaMax, G4double elecRatio=0.0)
 
G4double ComputeSecondTransportMoment (G4double CosThetaMax)
 
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
 
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 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 ( G4bool  combined = true)
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 244 of file G4WentzelOKandVIxSection.hh.

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

Referenced by G4eCoulombScatteringModel::ComputeCrossSectionPerAtom(), G4WentzelVIModel::ComputeTransportXSectionPerVolume(), and G4eCoulombScatteringModel::SampleSecondaries().

+ 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 348 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 230 of file G4WentzelOKandVIxSection.hh.

References kinFactor, screenZ, and targetZ.

Referenced by G4eCoulombScatteringModel::ComputeCrossSectionPerAtom(), G4WentzelVIModel::ComputeTransportXSectionPerVolume(), and G4eCoulombScatteringModel::SampleSecondaries().

+ Here is the caller graph for this function:

G4double G4WentzelOKandVIxSection::ComputeSecondTransportMoment ( G4double  CosThetaMax)

Definition at line 381 of file G4WentzelOKandVIxSection.cc.

Referenced by G4WentzelVIModel::ComputeSecondMoment().

+ Here is the caller graph for this function:

G4double G4WentzelOKandVIxSection::ComputeTransportCrossSectionPerAtom ( G4double  CosThetaMax)

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4WentzelOKandVIxSection::GetCosThetaElec ( ) const
inline

Definition at line 222 of file G4WentzelOKandVIxSection.hh.

References cosTetMaxElec.

G4double G4WentzelOKandVIxSection::GetCosThetaNuc ( ) const
inline

Definition at line 215 of file G4WentzelOKandVIxSection.hh.

References cosTetMaxNuc.

G4double G4WentzelOKandVIxSection::GetMomentumSquare ( ) const
inline

Definition at line 208 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, G4EmParameters::FactorForAngleLimit(), fermi, G4EmParameters::Instance(), isCombined, 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, formfactA, G4INCL::Math::max(), screenZ, targetZ, temp, and twopi.

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 200 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 181 of file G4WentzelOKandVIxSection.hh.

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

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

+ 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 149 of file G4WentzelOKandVIxSection.cc.

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

Referenced by Initialise(), G4eCoulombScatteringModel::SetupParticle(), and G4WentzelVIModel::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 166 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::ComputeSecondMoment(), G4WentzelVIModel::ComputeTransportXSectionPerVolume(), G4WentzelVIModel::SampleScattering(), and G4eCoulombScatteringModel::SampleSecondaries().

+ 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 143 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().

G4double G4WentzelOKandVIxSection::charge3
private

Definition at line 149 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupParticle().

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

Definition at line 139 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().

G4double G4WentzelOKandVIxSection::cosTetMaxNuc
private
G4double G4WentzelOKandVIxSection::cosThetaMax
private

Definition at line 142 of file G4WentzelOKandVIxSection.hh.

Referenced by Initialise(), and SetupKinematic().

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

Definition at line 158 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and Initialise().

G4double G4WentzelOKandVIxSection::etag
private

Definition at line 157 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 126 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().

G4NistManager* G4WentzelOKandVIxSection::fNistManager
private

Definition at line 125 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().

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

Definition at line 175 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().

G4double G4WentzelOKandVIxSection::gam0pcmp
private

Definition at line 170 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection().

G4double G4WentzelOKandVIxSection::invbeta2
private
G4bool G4WentzelOKandVIxSection::isCombined
private

Definition at line 136 of file G4WentzelOKandVIxSection.hh.

Referenced by Initialise(), and SetupKinematic().

G4double G4WentzelOKandVIxSection::lowEnergyLimit
private

Definition at line 159 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection().

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

Definition at line 154 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and Initialise().

G4double G4WentzelOKandVIxSection::numlimit
private

Definition at line 130 of file G4WentzelOKandVIxSection.hh.

Referenced by ComputeTransportCrossSectionPerAtom().

G4int G4WentzelOKandVIxSection::nwarnings
private

Definition at line 133 of file G4WentzelOKandVIxSection.hh.

Referenced by ComputeTransportCrossSectionPerAtom().

G4int G4WentzelOKandVIxSection::nwarnlimit
private

Definition at line 134 of file G4WentzelOKandVIxSection.hh.

Referenced by ComputeTransportCrossSectionPerAtom().

G4double G4WentzelOKandVIxSection::pcmp2
private

Definition at line 171 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection().

G4double G4WentzelOKandVIxSection::ScreenRSquare = {0.0}
staticprivate

Definition at line 174 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().

G4double G4WentzelOKandVIxSection::ScreenRSquareElec = {0.0}
staticprivate

Definition at line 173 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().

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

Definition at line 163 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetTargetMass().

G4ThreeVector G4WentzelOKandVIxSection::temp
private

Definition at line 128 of file G4WentzelOKandVIxSection.hh.

Referenced by SampleSingleScattering().

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

Definition at line 122 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection().

const G4ParticleDefinition* G4WentzelOKandVIxSection::theProton
private

Definition at line 120 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().


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