54#ifndef G4UrbanMscModel92_h
55#define G4UrbanMscModel92_h 1
114 inline void UpdateCache();
163 G4int currentMaterialIndex;
187 ChargeSquare = charge*charge;
194void G4UrbanMscModel92::UpdateCache()
196 lnZ = std::log(Zeff);
197 coeffth1 = 0.885+lnZ*(0.104-0.0170*lnZ);
198 coeffth2 = 0.028+lnZ*(0.012-0.00125*lnZ);
199 coeffc1 = 2.134-lnZ*(0.1045-0.00602*lnZ);
200 coeffc2 = 0.001126-lnZ*(0.0001089+0.0000247*lnZ);
202 Z23 = std::exp(2.*lnZ/3.);
204 scr2 = scr2ini*Z2*ChargeSquare;
G4double GetPDGMass() const
G4double GetPDGCharge() const
G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *particle, G4double KineticEnergy, G4double AtomicNumber, G4double AtomicWeight=0., G4double cut=0., G4double emax=DBL_MAX)
G4double ComputeTruePathLengthLimit(const G4Track &track, G4double ¤tMinimalStep)
G4double ComputeGeomPathLength(G4double truePathLength)
G4double ComputeTheta0(G4double truePathLength, G4double KineticEnergy)
G4ThreeVector & SampleScattering(const G4DynamicParticle *, G4double safety)
G4double ComputeTrueStepLength(G4double geomStepLength)
void Initialise(const G4ParticleDefinition *, const G4DataVector &)
virtual ~G4UrbanMscModel92()
void StartTracking(G4Track *)