#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 59 of file UrbanMscModel93.h.
UrbanMscModel93::UrbanMscModel93 | ( | const G4String & | nam = "UrbanMsc93" | ) |
Definition at line 38 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, MeV, 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 107 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 132 of file UrbanMscModel93.cc.
References EnergyCorrector::c, alignmentValidation::c1, charge, ChargeSquare, corr, hbarc, mass, MeV, funct::pow(), SetParticle(), mathSSE::sqrt(), pat::TAU, metsig::tau, w, and Z23.
G4double UrbanMscModel93::ComputeGeomPathLength | ( | G4double | truePathLength | ) |
Definition at line 607 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 207 of file UrbanMscModel93.h.
References funct::abs(), charge, coeffth1, coeffth2, currentKinEnergy, currentRadLength, mass, MeV, mathSSE::sqrt(), and y.
Referenced by SampleCosineTheta().
G4double UrbanMscModel93::ComputeTruePathLengthLimit | ( | const G4Track & | track, |
G4double & | currentMinimalStep | ||
) |
Definition at line 390 of file UrbanMscModel93.cc.
References couple, currentKinEnergy, currentMaterialIndex, currentRange, reco::dp, firstStep, fr, geombig, geomlimit, geommin, inside, insideskin, lambda0, lambdalimit, mass, masslimite, MeV, particle, presafety, rangeinit, skindepth, smallstep, stepmin, tgeom, tlimit, tlimitmin, tlimitminfix, and tPathLength.
G4double UrbanMscModel93::ComputeTrueStepLength | ( | G4double | geomStepLength | ) |
Definition at line 693 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 112 of file UrbanMscModel93.cc.
References fParticleChange, MeV, SetParticle(), skindepth, and stepmin.
|
private |
Definition at line 1064 of file UrbanMscModel93.cc.
References currentTau, insideskin, kappa, kappami1, kappapl1, lambdaeff, taubig, taulim, tausmall, and third.
Referenced by SampleScattering().
|
private |
|
private |
Definition at line 818 of file UrbanMscModel93.cc.
References b, EnergyCorrector::c, alignmentValidation::c1, coeffc1, coeffc2, ComputeTheta0(), funct::cos(), couple, currentKinEnergy, currentRadLength, currentRange, currentTau, ztail::d, ea, eaa, GeV, i, insideskin, lambda0, lambdaeff, mass, timingPdfMaker::mean, gen::n, numlim, par1, par2, phi, funct::pow(), rellossmax, scr1, scr2, SimpleScattering(), funct::sin(), mathSSE::sqrt(), stepmin, metsig::tau, taubig, taulim, tausmall, theta0max, third, UpdateCache(), MetTreeProducer::var(), x, xsi, y, Zeff, and Zold.
Referenced by SampleScattering().
|
private |
Definition at line 1014 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 727 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 172 of file UrbanMscModel93.h.
References charge, ChargeSquare, mass, AlCaHLTBitMon_ParallelJobs::p, and particle.
Referenced by ComputeCrossSectionPerAtom(), Initialise(), and StartTracking().
|
inlineprivate |
void UrbanMscModel93::StartTracking | ( | G4Track * | track | ) |
Definition at line 377 of file UrbanMscModel93.cc.
References firstStep, geombig, inside, insideskin, SetParticle(), stepmin, tlimit, tlimitmin, and tlimitminfix.
|
inlineprivate |
|
private |
Definition at line 116 of file UrbanMscModel93.h.
Referenced by ComputeCrossSectionPerAtom(), ComputeTheta0(), SetParticle(), and UrbanMscModel93().
|
private |
Definition at line 116 of file UrbanMscModel93.h.
Referenced by ComputeCrossSectionPerAtom(), SetParticle(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 160 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 160 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 159 of file UrbanMscModel93.h.
Referenced by ComputeTheta0(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 159 of file UrbanMscModel93.h.
Referenced by ComputeTheta0(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 112 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), SampleCosineTheta(), SampleScattering(), and UrbanMscModel93().
|
private |
Definition at line 144 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTheta0(), ComputeTruePathLengthLimit(), SampleCosineTheta(), SampleScattering(), and UrbanMscModel93().
|
private |
Definition at line 154 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 147 of file UrbanMscModel93.h.
Referenced by ComputeTheta0(), SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 145 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), ComputeTrueStepLength(), SampleCosineTheta(), SampleScattering(), and UrbanMscModel93().
|
private |
Definition at line 122 of file UrbanMscModel93.h.
Referenced by LatCorrelation(), SampleCosineTheta(), SampleDisplacement(), and UrbanMscModel93().
|
private |
Definition at line 149 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 149 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 163 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), StartTracking(), and UrbanMscModel93().
|
private |
Definition at line 110 of file UrbanMscModel93.h.
Referenced by Initialise(), SampleScattering(), and UrbanMscModel93().
|
private |
Definition at line 117 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 128 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), StartTracking(), and UrbanMscModel93().
|
private |
Definition at line 130 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 129 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 164 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), StartTracking(), and UrbanMscModel93().
|
private |
Definition at line 165 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), ComputeTrueStepLength(), LatCorrelation(), SampleCosineTheta(), SampleDisplacement(), StartTracking(), and UrbanMscModel93().
|
private |
Definition at line 136 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), ComputeTrueStepLength(), SampleCosineTheta(), SampleScattering(), and UrbanMscModel93().
|
private |
Definition at line 137 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), LatCorrelation(), SampleCosineTheta(), SampleDisplacement(), and UrbanMscModel93().
|
private |
Definition at line 117 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 158 of file UrbanMscModel93.h.
Referenced by UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 115 of file UrbanMscModel93.h.
Referenced by Particle.Particle::__str__(), ZMuMuRochCorAnalyzer.DiMuon::__str__(), DiObject.DiMuon::__str__(), ComputeCrossSectionPerAtom(), ComputeGeomPathLength(), ComputeTheta0(), ComputeTruePathLengthLimit(), SampleCosineTheta(), SetParticle(), and UrbanMscModel93().
|
private |
Definition at line 117 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 149 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 140 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTrueStepLength(), SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 140 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 140 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTrueStepLength(), and UrbanMscModel93().
|
private |
Definition at line 109 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), SampleScattering(), SetParticle(), and UrbanMscModel93().
|
private |
Definition at line 134 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 146 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 151 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 161 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 161 of file UrbanMscModel93.h.
Referenced by UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 161 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 161 of file UrbanMscModel93.h.
Referenced by UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 131 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), Initialise(), and UrbanMscModel93().
|
private |
Definition at line 132 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 142 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), Initialise(), SampleCosineTheta(), StartTracking(), and UrbanMscModel93().
|
private |
Definition at line 119 of file UrbanMscModel93.h.
Referenced by LatCorrelation(), SampleCosineTheta(), SampleDisplacement(), and UrbanMscModel93().
|
private |
Definition at line 121 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), LatCorrelation(), SampleCosineTheta(), SampleDisplacement(), and UrbanMscModel93().
|
private |
Definition at line 120 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTrueStepLength(), LatCorrelation(), SampleCosineTheta(), SampleDisplacement(), SampleScattering(), and UrbanMscModel93().
|
private |
Definition at line 126 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), and UrbanMscModel93().
|
private |
Definition at line 113 of file UrbanMscModel93.h.
Referenced by UrbanMscModel93().
|
private |
Definition at line 151 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 152 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), LatCorrelation(), SampleCosineTheta(), SampleDisplacement(), and UrbanMscModel93().
|
private |
Definition at line 123 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), StartTracking(), and UrbanMscModel93().
|
private |
Definition at line 124 of file UrbanMscModel93.h.
Referenced by ComputeTruePathLengthLimit(), StartTracking(), and UrbanMscModel93().
|
private |
Definition at line 125 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), ComputeTrueStepLength(), SampleScattering(), StartTracking(), and UrbanMscModel93().
|
private |
Definition at line 138 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTruePathLengthLimit(), ComputeTrueStepLength(), SampleDisplacement(), SampleScattering(), and UrbanMscModel93().
|
private |
Definition at line 149 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), and UrbanMscModel93().
|
private |
Definition at line 156 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 158 of file UrbanMscModel93.h.
Referenced by UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 158 of file UrbanMscModel93.h.
Referenced by ComputeCrossSectionPerAtom(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 158 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 157 of file UrbanMscModel93.h.
Referenced by SampleCosineTheta(), UpdateCache(), and UrbanMscModel93().
|
private |
Definition at line 139 of file UrbanMscModel93.h.
Referenced by ComputeGeomPathLength(), ComputeTrueStepLength(), SampleDisplacement(), and UrbanMscModel93().