QwGeant4
|
#include <QweakSimUrbanMscModel.hh>
Inherits G4VMscModel.
Public Member Functions | |
QweakSimUrbanMscModel (const G4String &nam="UrbanMsc96") | |
virtual | ~QweakSimUrbanMscModel () |
void | Initialise (const G4ParticleDefinition *, const G4DataVector &) |
void | StartTracking (G4Track *) |
G4double | ComputeCrossSectionPerAtom (const G4ParticleDefinition *particle, G4double KineticEnergy, G4double AtomicNumber, G4double AtomicWeight=0., G4double cut=0., G4double emax=DBL_MAX) |
G4ThreeVector & | SampleScattering (const G4ThreeVector &, G4double safety) |
G4double | ComputeTruePathLengthLimit (const G4Track &track, G4double ¤tMinimalStep) |
G4double | ComputeGeomPathLength (G4double truePathLength) |
G4double | ComputeTrueStepLength (G4double geomStepLength) |
G4double | ComputeTheta0 (G4double truePathLength, G4double KineticEnergy) |
Private Member Functions | |
G4double | SimpleScattering (G4double xmeanth, G4double x2meanth) |
G4double | SampleCosineTheta (G4double trueStepLength, G4double KineticEnergy) |
G4double | SampleDisplacement () |
G4double | LatCorrelation () |
void | SetParticle (const G4ParticleDefinition *) |
void | UpdateCache () |
QweakSimUrbanMscModel & | operator= (const QweakSimUrbanMscModel &right) |
QweakSimUrbanMscModel (const QweakSimUrbanMscModel &) | |
Private Attributes | |
const G4ParticleDefinition * | particle |
G4ParticleChangeForMSC * | fParticleChange |
const G4MaterialCutsCouple * | couple |
G4LossTableManager * | theManager |
G4double | mass |
G4double | charge |
G4double | ChargeSquare |
G4double | masslimite |
G4double | lambdalimit |
G4double | fr |
G4double | taubig |
G4double | tausmall |
G4double | taulim |
G4double | currentTau |
G4double | tlimit |
G4double | tlimitmin |
G4double | tlimitminfix |
G4double | tgeom |
G4double | geombig |
G4double | geommin |
G4double | geomlimit |
G4double | skindepth |
G4double | smallstep |
G4double | presafety |
G4double | lambda0 |
G4double | lambdaeff |
G4double | tPathLength |
G4double | zPathLength |
G4double | par1 |
G4double | par2 |
G4double | par3 |
G4double | stepmin |
G4double | currentKinEnergy |
G4double | currentRange |
G4double | rangeinit |
G4double | currentRadLength |
G4double | theta0max |
G4double | rellossmax |
G4double | third |
G4int | currentMaterialIndex |
G4double | y |
G4double | Zold |
G4double | Zeff |
G4double | Z2 |
G4double | Z23 |
G4double | lnZ |
G4double | coeffth1 |
G4double | coeffth2 |
G4double | coeffc1 |
G4double | coeffc2 |
G4double | coeffc3 |
G4double | coeffc4 |
G4bool | firstStep |
G4bool | inside |
G4bool | insideskin |
G4bool | ePolarized |
G4ThreeVector | polarization |
G4double | eEnergy |
G4bool | debugPrint |
Definition at line 70 of file QweakSimUrbanMscModel.hh.
QweakSimUrbanMscModel::QweakSimUrbanMscModel | ( | const G4String & | nam = "UrbanMsc96" | ) |
Definition at line 77 of file QweakSimUrbanMscModel.cc.
References charge, ChargeSquare, coeffc1, coeffc2, coeffc3, coeffc4, coeffth1, coeffth2, couple, currentKinEnergy, currentMaterialIndex, currentRadLength, currentRange, currentTau, firstStep, fParticleChange, fr, geombig, geomlimit, geommin, inside, insideskin, lambda0, lambdaeff, lambdalimit, lnZ, mass, masslimite, par1, par2, par3, particle, presafety, rangeinit, rellossmax, skindepth, smallstep, stepmin, taubig, taulim, tausmall, tgeom, theManager, theta0max, third, tlimit, tlimitmin, tlimitminfix, tPathLength, y, Z2, Z23, Zeff, Zold, and zPathLength.
|
virtual |
Definition at line 139 of file QweakSimUrbanMscModel.cc.
|
private |
G4double QweakSimUrbanMscModel::ComputeCrossSectionPerAtom | ( | const G4ParticleDefinition * | particle, |
G4double | KineticEnergy, | ||
G4double | AtomicNumber, | ||
G4double | AtomicWeight = 0. , |
||
G4double | cut = 0. , |
||
G4double | emax = DBL_MAX |
||
) |
Definition at line 168 of file QweakSimUrbanMscModel.cc.
References charge, ChargeSquare, mass, SetParticle(), and Z23.
G4double QweakSimUrbanMscModel::ComputeGeomPathLength | ( | G4double | truePathLength | ) |
Definition at line 677 of file QweakSimUrbanMscModel.cc.
References couple, currentKinEnergy, currentRange, firstStep, insideskin, lambda0, lambdaeff, mass, par1, par2, par3, particle, stepmin, taulim, tausmall, third, tlimitminfix, tPathLength, and zPathLength.
G4double QweakSimUrbanMscModel::ComputeTheta0 | ( | G4double | truePathLength, |
G4double | KineticEnergy | ||
) |
Definition at line 810 of file QweakSimUrbanMscModel.cc.
References charge, coeffth1, coeffth2, currentKinEnergy, currentRadLength, mass, and y.
Referenced by SampleCosineTheta().
G4double QweakSimUrbanMscModel::ComputeTruePathLengthLimit | ( | const G4Track & | track, |
G4double & | currentMinimalStep | ||
) |
Definition at line 426 of file QweakSimUrbanMscModel.cc.
References couple, currentKinEnergy, currentMaterialIndex, currentRange, debugPrint, eEnergy, ePolarized, firstStep, fr, geombig, geomlimit, geommin, inside, insideskin, lambda0, lambdalimit, mass, masslimite, particle, polarization, presafety, rangeinit, skindepth, smallstep, stepmin, tgeom, tlimit, tlimitmin, tlimitminfix, and tPathLength.
G4double QweakSimUrbanMscModel::ComputeTrueStepLength | ( | G4double | geomStepLength | ) |
Definition at line 770 of file QweakSimUrbanMscModel.cc.
References currentRange, insideskin, lambda0, par1, par3, tausmall, tlimitminfix, tPathLength, and zPathLength.
void QweakSimUrbanMscModel::Initialise | ( | const G4ParticleDefinition * | p, |
const G4DataVector & | |||
) |
Definition at line 144 of file QweakSimUrbanMscModel.cc.
References fParticleChange, SetParticle(), skindepth, and stepmin.
|
private |
Definition at line 1162 of file QweakSimUrbanMscModel.cc.
References currentTau, insideskin, lambdaeff, taubig, taulim, and tausmall.
Referenced by SampleScattering().
|
private |
|
private |
Definition at line 955 of file QweakSimUrbanMscModel.cc.
References coeffc1, coeffc2, coeffc3, coeffc4, ComputeTheta0(), couple, currentKinEnergy, currentRadLength, currentTau, lambda0, lambdaeff, particle, rellossmax, SimpleScattering(), taubig, tausmall, theta0max, tlimitmin, UpdateCache(), Zeff, and Zold.
Referenced by SampleScattering().
|
private |
Definition at line 1150 of file QweakSimUrbanMscModel.cc.
References currentTau, insideskin, tausmall, tPathLength, and zPathLength.
Referenced by SampleScattering().
G4ThreeVector & QweakSimUrbanMscModel::SampleScattering | ( | const G4ThreeVector & | oldDirection, |
G4double | safety | ||
) |
Definition at line 834 of file QweakSimUrbanMscModel.cc.
References couple, currentKinEnergy, currentRange, debugPrint, eEnergy, ePolarized, fParticleChange, lambda0, LatCorrelation(), particle, polarization, SampleCosineTheta(), SampleDisplacement(), tausmall, tlimitminfix, and tPathLength.
|
inlineprivate |
Definition at line 186 of file QweakSimUrbanMscModel.hh.
References charge, ChargeSquare, mass, and particle.
Referenced by ComputeCrossSectionPerAtom(), Initialise(), and StartTracking().
|
private |
Definition at line 1132 of file QweakSimUrbanMscModel.cc.
Referenced by SampleCosineTheta().
void QweakSimUrbanMscModel::StartTracking | ( | G4Track * | track | ) |
Definition at line 413 of file QweakSimUrbanMscModel.cc.
References firstStep, geombig, inside, insideskin, SetParticle(), stepmin, tlimit, tlimitmin, and tlimitminfix.
|
inlineprivate |
|
private |
Definition at line 127 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeCrossSectionPerAtom(), ComputeTheta0(), QweakSimUrbanMscModel(), and SetParticle().
|
private |
Definition at line 127 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeCrossSectionPerAtom(), QweakSimUrbanMscModel(), and SetParticle().
|
private |
Definition at line 169 of file QweakSimUrbanMscModel.hh.
Referenced by QweakSimUrbanMscModel(), SampleCosineTheta(), and UpdateCache().
|
private |
Definition at line 169 of file QweakSimUrbanMscModel.hh.
Referenced by QweakSimUrbanMscModel(), SampleCosineTheta(), and UpdateCache().
|
private |
Definition at line 169 of file QweakSimUrbanMscModel.hh.
Referenced by QweakSimUrbanMscModel(), SampleCosineTheta(), and UpdateCache().
|
private |
Definition at line 169 of file QweakSimUrbanMscModel.hh.
Referenced by QweakSimUrbanMscModel(), SampleCosineTheta(), and UpdateCache().
|
private |
Definition at line 168 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTheta0(), QweakSimUrbanMscModel(), and UpdateCache().
|
private |
Definition at line 168 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTheta0(), QweakSimUrbanMscModel(), and UpdateCache().
|
private |
Definition at line 123 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), QweakSimUrbanMscModel(), SampleCosineTheta(), and SampleScattering().
|
private |
Definition at line 155 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeGeomPathLength(), ComputeTheta0(), ComputeTruePathLengthLimit(), QweakSimUrbanMscModel(), SampleCosineTheta(), and SampleScattering().
|
private |
Definition at line 163 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), and QweakSimUrbanMscModel().
|
private |
Definition at line 158 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTheta0(), QweakSimUrbanMscModel(), and SampleCosineTheta().
|
private |
Definition at line 156 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), ComputeTrueStepLength(), QweakSimUrbanMscModel(), and SampleScattering().
|
private |
Definition at line 133 of file QweakSimUrbanMscModel.hh.
Referenced by LatCorrelation(), QweakSimUrbanMscModel(), SampleCosineTheta(), and SampleDisplacement().
|
private |
Definition at line 178 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), and SampleScattering().
|
private |
Definition at line 177 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), and SampleScattering().
|
private |
Definition at line 175 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), and SampleScattering().
|
private |
Definition at line 171 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), QweakSimUrbanMscModel(), and StartTracking().
|
private |
Definition at line 121 of file QweakSimUrbanMscModel.hh.
Referenced by Initialise(), QweakSimUrbanMscModel(), and SampleScattering().
|
private |
Definition at line 128 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), and QweakSimUrbanMscModel().
|
private |
Definition at line 139 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), QweakSimUrbanMscModel(), and StartTracking().
|
private |
Definition at line 141 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), and QweakSimUrbanMscModel().
|
private |
Definition at line 140 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), and QweakSimUrbanMscModel().
|
private |
Definition at line 172 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), QweakSimUrbanMscModel(), and StartTracking().
|
private |
Definition at line 173 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), ComputeTrueStepLength(), LatCorrelation(), QweakSimUrbanMscModel(), SampleDisplacement(), and StartTracking().
|
private |
Definition at line 147 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), ComputeTrueStepLength(), QweakSimUrbanMscModel(), SampleCosineTheta(), and SampleScattering().
|
private |
Definition at line 148 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeGeomPathLength(), LatCorrelation(), QweakSimUrbanMscModel(), and SampleCosineTheta().
|
private |
Definition at line 128 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), and QweakSimUrbanMscModel().
|
private |
Definition at line 167 of file QweakSimUrbanMscModel.hh.
Referenced by QweakSimUrbanMscModel(), and UpdateCache().
|
private |
Definition at line 126 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeCrossSectionPerAtom(), ComputeGeomPathLength(), ComputeTheta0(), ComputeTruePathLengthLimit(), QweakSimUrbanMscModel(), and SetParticle().
|
private |
Definition at line 128 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), and QweakSimUrbanMscModel().
|
private |
Definition at line 151 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeGeomPathLength(), ComputeTrueStepLength(), and QweakSimUrbanMscModel().
|
private |
Definition at line 151 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeGeomPathLength(), and QweakSimUrbanMscModel().
|
private |
Definition at line 151 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeGeomPathLength(), ComputeTrueStepLength(), and QweakSimUrbanMscModel().
|
private |
Definition at line 120 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), QweakSimUrbanMscModel(), SampleCosineTheta(), SampleScattering(), and SetParticle().
|
private |
Definition at line 176 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), and SampleScattering().
|
private |
Definition at line 145 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), and QweakSimUrbanMscModel().
|
private |
Definition at line 157 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), and QweakSimUrbanMscModel().
|
private |
Definition at line 160 of file QweakSimUrbanMscModel.hh.
Referenced by QweakSimUrbanMscModel(), and SampleCosineTheta().
|
private |
Definition at line 142 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), Initialise(), and QweakSimUrbanMscModel().
|
private |
Definition at line 143 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), and QweakSimUrbanMscModel().
|
private |
Definition at line 153 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), Initialise(), QweakSimUrbanMscModel(), and StartTracking().
|
private |
Definition at line 130 of file QweakSimUrbanMscModel.hh.
Referenced by LatCorrelation(), QweakSimUrbanMscModel(), and SampleCosineTheta().
|
private |
Definition at line 132 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeGeomPathLength(), LatCorrelation(), and QweakSimUrbanMscModel().
|
private |
Definition at line 131 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeGeomPathLength(), ComputeTrueStepLength(), LatCorrelation(), QweakSimUrbanMscModel(), SampleCosineTheta(), SampleDisplacement(), and SampleScattering().
|
private |
Definition at line 137 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), and QweakSimUrbanMscModel().
|
private |
Definition at line 124 of file QweakSimUrbanMscModel.hh.
Referenced by QweakSimUrbanMscModel().
|
private |
Definition at line 160 of file QweakSimUrbanMscModel.hh.
Referenced by QweakSimUrbanMscModel(), and SampleCosineTheta().
|
private |
Definition at line 161 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeGeomPathLength(), and QweakSimUrbanMscModel().
|
private |
Definition at line 134 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), QweakSimUrbanMscModel(), and StartTracking().
|
private |
Definition at line 135 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTruePathLengthLimit(), QweakSimUrbanMscModel(), SampleCosineTheta(), and StartTracking().
|
private |
Definition at line 136 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), ComputeTrueStepLength(), QweakSimUrbanMscModel(), SampleScattering(), and StartTracking().
|
private |
Definition at line 149 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), ComputeTrueStepLength(), QweakSimUrbanMscModel(), SampleDisplacement(), and SampleScattering().
|
private |
Definition at line 165 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeTheta0(), and QweakSimUrbanMscModel().
|
private |
Definition at line 167 of file QweakSimUrbanMscModel.hh.
Referenced by QweakSimUrbanMscModel(), and UpdateCache().
|
private |
Definition at line 167 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeCrossSectionPerAtom(), QweakSimUrbanMscModel(), and UpdateCache().
|
private |
Definition at line 167 of file QweakSimUrbanMscModel.hh.
Referenced by QweakSimUrbanMscModel(), SampleCosineTheta(), and UpdateCache().
|
private |
Definition at line 166 of file QweakSimUrbanMscModel.hh.
Referenced by QweakSimUrbanMscModel(), SampleCosineTheta(), and UpdateCache().
|
private |
Definition at line 150 of file QweakSimUrbanMscModel.hh.
Referenced by ComputeGeomPathLength(), ComputeTrueStepLength(), QweakSimUrbanMscModel(), and SampleDisplacement().