#include <UrbanMscModel93.h>
Public Member Functions | |
G4double | ComputeCrossSectionPerAtom (const G4ParticleDefinition *particle, G4double KineticEnergy, G4double AtomicNumber, G4double AtomicWeight=0., G4double cut=0., G4double emax=DBL_MAX) |
G4double | ComputeGeomPathLength (G4double truePathLength) |
G4double | ComputeTheta0 (G4double truePathLength, G4double KineticEnergy) |
G4double | ComputeTruePathLengthLimit (const G4Track &track, G4double ¤tMinimalStep) |
G4double | ComputeTrueStepLength (G4double geomStepLength) |
void | Initialise (const G4ParticleDefinition *, const G4DataVector &) |
G4ThreeVector & | SampleScattering (const G4ThreeVector &, G4double safety) |
void | StartTracking (G4Track *) |
UrbanMscModel93 (const G4String &nam="UrbanMsc93") | |
virtual | ~UrbanMscModel93 () |
Private Member Functions | |
G4double | LatCorrelation () |
UrbanMscModel93 & | operator= (const UrbanMscModel93 &right) |
G4double | SampleCosineTheta (G4double trueStepLength, G4double KineticEnergy) |
G4double | SampleDisplacement () |
void | SetParticle (const G4ParticleDefinition *) |
G4double | SimpleScattering (G4double xmeanth, G4double x2meanth) |
void | UpdateCache () |
UrbanMscModel93 (const UrbanMscModel93 &) | |
Private Attributes | |
G4double | charge |
G4double | ChargeSquare |
G4double | coeffc1 |
G4double | coeffc2 |
G4double | coeffth1 |
G4double | coeffth2 |
const G4MaterialCutsCouple * | couple |
G4double | currentKinEnergy |
G4int | currentMaterialIndex |
G4double | currentRadLength |
G4double | currentRange |
G4double | currentTau |
G4double | ea |
G4double | eaa |
G4bool | firstStep |
G4ParticleChangeForMSC * | fParticleChange |
G4double | fr |
G4double | geombig |
G4double | geomlimit |
G4double | geommin |
G4bool | inside |
G4bool | insideskin |
G4double | lambda0 |
G4double | lambdaeff |
G4double | lambdalimit |
G4double | lnZ |
G4double | mass |
G4double | masslimite |
G4double | numlim |
G4double | par1 |
G4double | par2 |
G4double | par3 |
const G4ParticleDefinition * | particle |
G4double | presafety |
G4double | rangeinit |
G4double | rellossmax |
G4double | scr1 |
G4double | scr1ini |
G4double | scr2 |
G4double | scr2ini |
G4double | skindepth |
G4double | smallstep |
G4double | stepmin |
G4double | taubig |
G4double | taulim |
G4double | tausmall |
G4double | tgeom |
G4LossTableManager * | theManager |
G4double | theta0max |
G4double | third |
G4double | tlimit |
G4double | tlimitmin |
G4double | tlimitminfix |
G4double | tPathLength |
G4double | xsi |
G4double | y |
G4double | Z2 |
G4double | Z23 |
G4double | Zeff |
G4double | Zold |
G4double | zPathLength |
Definition at line 69 of file UrbanMscModel93.h.
UrbanMscModel93::UrbanMscModel93 | ( | const G4String & | nam = "UrbanMsc93" | ) |
Definition at line 76 of file UrbanMscModel93.cc.
References charge, ChargeSquare, coeffc1, coeffc2, coeffth1, coeffth2, couple, currentKinEnergy, currentMaterialIndex, currentRadLength, currentRange, currentTau, ea, eaa, firstStep, fParticleChange, fr, geombig, geomlimit, geommin, inside, insideskin, lambda0, lambdaeff, lambdalimit, lnZ, mass, masslimite, numlim, par1, par2, par3, particle, pi, presafety, rangeinit, rellossmax, scr1, scr1ini, scr2, scr2ini, skindepth, smallstep, stepmin, taubig, taulim, tausmall, tgeom, theManager, theta0max, third, tlimit, tlimitmin, tlimitminfix, tPathLength, xsi, y, Z2, Z23, Zeff, Zold, and zPathLength.
|
virtual |
Definition at line 145 of file UrbanMscModel93.cc.
|
private |
G4double UrbanMscModel93::ComputeCrossSectionPerAtom | ( | const G4ParticleDefinition * | particle, |
G4double | KineticEnergy, | ||
G4double | AtomicNumber, | ||
G4double | AtomicWeight = 0. , |
||
G4double | cut = 0. , |
||
G4double | emax = DBL_MAX |
||
) |
Definition at line 170 of file UrbanMscModel93.cc.
References trackerHits::c, alignmentValidation::c1, charge, ChargeSquare, corr, mass, funct::pow(), SetParticle(), mathSSE::sqrt(), pat::TAU, metsig::tau, w(), and Z23.
G4double UrbanMscModel93::ComputeGeomPathLength | ( | G4double | truePathLength | ) |
Definition at line 645 of file UrbanMscModel93.cc.
References couple, currentKinEnergy, currentRange, firstStep, insideskin, lambda0, lambdaeff, mass, par1, par2, par3, particle, stepmin, metsig::tau, taulim, tausmall, third, tlimitminfix, tPathLength, and zPathLength.
|
inline |
Definition at line 217 of file UrbanMscModel93.h.
References funct::abs(), charge, coeffth1, coeffth2, currentKinEnergy, currentRadLength, mass, mathSSE::sqrt(), and y.
Referenced by SampleCosineTheta().
G4double UrbanMscModel93::ComputeTruePathLengthLimit | ( | const G4Track & | track, |
G4double & | currentMinimalStep | ||
) |
Definition at line 428 of file UrbanMscModel93.cc.
References couple, currentKinEnergy, currentMaterialIndex, currentRange, reco::dp, firstStep, fr, geombig, geomlimit, geommin, inside, insideskin, lambda0, lambdalimit, mass, masslimite, particle, presafety, rangeinit, skindepth, smallstep, stepmin, tgeom, tlimit, tlimitmin, tlimitminfix, and tPathLength.
G4double UrbanMscModel93::ComputeTrueStepLength | ( | G4double | geomStepLength | ) |
Definition at line 731 of file UrbanMscModel93.cc.
References currentRange, insideskin, lambda0, par1, par3, tausmall, tlimitminfix, tPathLength, and zPathLength.
void UrbanMscModel93::Initialise | ( | const G4ParticleDefinition * | p, |
const G4DataVector & | |||
) |
Definition at line 150 of file UrbanMscModel93.cc.
References fParticleChange, SetParticle(), skindepth, and stepmin.
|
private |
Definition at line 1102 of file UrbanMscModel93.cc.
References currentTau, insideskin, kappa, kappami1, kappapl1, lambdaeff, taubig, taulim, tausmall, and third.
Referenced by SampleScattering().
|
private |
|
private |
Definition at line 856 of file UrbanMscModel93.cc.
References b, trackerHits::c, alignmentValidation::c1, coeffc1, coeffc2, ComputeTheta0(), funct::cos(), couple, currentKinEnergy, currentRadLength, currentRange, currentTau, ea, eaa, i, insideskin, lambda0, lambdaeff, mass, timingPdfMaker::mean, n, numlim, par1, par2, phi, funct::pow(), mix_2012_Summer_inTimeOnly_cff::prob, rellossmax, scr1, scr2, SimpleScattering(), funct::sin(), mathSSE::sqrt(), stepmin, metsig::tau, taubig, taulim, tausmall, theta0max, third, UpdateCache(), x, xsi, y, Zeff, and Zold.
Referenced by SampleScattering().
|
private |
Definition at line 1052 of file UrbanMscModel93.cc.
References currentTau, insideskin, kappa, kappami1, kappapl1, lambdaeff, mathSSE::sqrt(), taubig, taulim, tausmall, third, tPathLength, and zPathLength.
Referenced by SampleScattering().
G4ThreeVector & UrbanMscModel93::SampleScattering | ( | const G4ThreeVector & | oldDirection, |
G4double | safety | ||
) |
Definition at line 765 of file UrbanMscModel93.cc.
References funct::abs(), funct::cos(), couple, currentKinEnergy, currentRange, fParticleChange, lambda0, LatCorrelation(), particle, phi, colinearityKinematic::Phi, alignCSCRings::r, SampleCosineTheta(), SampleDisplacement(), funct::sin(), mathSSE::sqrt(), tausmall, tlimitminfix, and tPathLength.
|
inlineprivate |
Definition at line 182 of file UrbanMscModel93.h.
References charge, ChargeSquare, mass, AlCaHLTBitMon_ParallelJobs::p, and particle.
Referenced by ComputeCrossSectionPerAtom(), Initialise(), and StartTracking().
|
inlineprivate |
Definition at line 238 of file UrbanMscModel93.h.
References a, and mix_2012_Summer_inTimeOnly_cff::prob.
Referenced by SampleCosineTheta().
void UrbanMscModel93::StartTracking | ( | G4Track * | track | ) |
Definition at line 415 of file UrbanMscModel93.cc.
References firstStep, geombig, inside, insideskin, SetParticle(), stepmin, tlimit, tlimitmin, and tlimitminfix.
|
inlineprivate |
|
private |
Definition at line 126 of file UrbanMscModel93.h.
Referenced by ComputeCrossSectionPerAtom(), ComputeTheta0(), SetParticle(), and UrbanMscModel93().
|
private |
Definition at line 126 of file UrbanMscModel93.h.
Referenced by ComputeCrossSectionPerAtom(), SetParticle(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 170 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 170 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 169 of file UrbanMscModel93.h.
Referenced by ComputeTheta0(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 169 of file UrbanMscModel93.h.
Referenced by ComputeTheta0(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 122 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), SampleCosineTheta(), SampleScattering(), and UrbanMscModel93().
|
private |
Definition at line 154 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTheta0(), ComputeTruePathLengthLimit(), SampleCosineTheta(), SampleScattering(), and UrbanMscModel93().
|
private |
Definition at line 164 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 157 of file UrbanMscModel93.h.
Referenced by ComputeTheta0(), SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 155 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), ComputeTrueStepLength(), SampleCosineTheta(), SampleScattering(), and UrbanMscModel93().
|
private |
Definition at line 132 of file UrbanMscModel93.h.
Referenced by LatCorrelation(), SampleCosineTheta(), SampleDisplacement(), and UrbanMscModel93().
|
private |
Definition at line 159 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 159 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 173 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), StartTracking(), and UrbanMscModel93().
|
private |
Definition at line 120 of file UrbanMscModel93.h.
Referenced by Initialise(), SampleScattering(), and UrbanMscModel93().
|
private |
Definition at line 127 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 138 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), StartTracking(), and UrbanMscModel93().
|
private |
Definition at line 140 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 139 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 174 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), StartTracking(), and UrbanMscModel93().
|
private |
Definition at line 175 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), ComputeTrueStepLength(), LatCorrelation(), SampleCosineTheta(), SampleDisplacement(), StartTracking(), and UrbanMscModel93().
|
private |
Definition at line 146 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), ComputeTrueStepLength(), SampleCosineTheta(), SampleScattering(), and UrbanMscModel93().
|
private |
Definition at line 147 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), LatCorrelation(), SampleCosineTheta(), SampleDisplacement(), and UrbanMscModel93().
|
private |
Definition at line 127 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 168 of file UrbanMscModel93.h.
Referenced by UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 125 of file UrbanMscModel93.h.
Referenced by ComputeCrossSectionPerAtom(), ComputeGeomPathLength(), ComputeTheta0(), ComputeTruePathLengthLimit(), SampleCosineTheta(), SetParticle(), and UrbanMscModel93().
|
private |
Definition at line 127 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 159 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 150 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTrueStepLength(), SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 150 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 150 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTrueStepLength(), and UrbanMscModel93().
|
private |
Definition at line 119 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), SampleScattering(), SetParticle(), and UrbanMscModel93().
|
private |
Definition at line 144 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 156 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 161 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 171 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 171 of file UrbanMscModel93.h.
Referenced by UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 171 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 171 of file UrbanMscModel93.h.
Referenced by UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 141 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), Initialise(), and UrbanMscModel93().
|
private |
Definition at line 142 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 152 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), Initialise(), SampleCosineTheta(), StartTracking(), and UrbanMscModel93().
|
private |
Definition at line 129 of file UrbanMscModel93.h.
Referenced by LatCorrelation(), SampleCosineTheta(), SampleDisplacement(), and UrbanMscModel93().
|
private |
Definition at line 131 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), LatCorrelation(), SampleCosineTheta(), SampleDisplacement(), and UrbanMscModel93().
|
private |
Definition at line 130 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTrueStepLength(), LatCorrelation(), SampleCosineTheta(), SampleDisplacement(), SampleScattering(), and UrbanMscModel93().
|
private |
Definition at line 136 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 123 of file UrbanMscModel93.h.
Referenced by UrbanMscModel93().
|
private |
Definition at line 161 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 162 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), LatCorrelation(), SampleCosineTheta(), SampleDisplacement(), and UrbanMscModel93().
|
private |
Definition at line 133 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), StartTracking(), and UrbanMscModel93().
|
private |
Definition at line 134 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), StartTracking(), and UrbanMscModel93().
|
private |
Definition at line 135 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), ComputeTrueStepLength(), SampleScattering(), StartTracking(), and UrbanMscModel93().
|
private |
Definition at line 148 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), ComputeTrueStepLength(), SampleDisplacement(), SampleScattering(), and UrbanMscModel93().
|
private |
Definition at line 159 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 166 of file UrbanMscModel93.h.
Referenced by svgfig.Ellipse::__repr__(), Vispa.Gui.WidgetContainer.WidgetContainer::autosize(), Vispa.Gui.VispaWidget.VispaWidget::boundingRect(), ComputeTheta0(), geometryXMLparser.Alignable::pos(), Vispa.Gui.ConnectableWidget.ConnectableWidget::positionizeMenuWidget(), SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 168 of file UrbanMscModel93.h.
Referenced by UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 168 of file UrbanMscModel93.h.
Referenced by ComputeCrossSectionPerAtom(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 168 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 167 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 149 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTrueStepLength(), SampleDisplacement(), and UrbanMscModel93().