55#ifndef G4UrbanMscModel93_h
56#define G4UrbanMscModel93_h 1
115 inline void UpdateCache();
164 G4int currentMaterialIndex;
188 ChargeSquare = charge*charge;
195void G4UrbanMscModel93::UpdateCache()
197 lnZ = std::log(Zeff);
199 coeffth1 = (1.-8.7780e-2/Zeff)*(0.87+0.03*lnZ);
200 coeffth2 = (4.0780e-2+1.7315e-4*Zeff)*(0.87+0.03*lnZ);
203 coeffc1 = 2.943-0.197*lnZ1;
204 coeffc2 = 0.0987-0.0143*lnZ1;
207 Z23 = std::exp(2.*lnZ/3.);
209 scr2 = scr2ini*Z2*ChargeSquare;
G4double GetPDGMass() const
G4double GetPDGCharge() const
void Initialise(const G4ParticleDefinition *, const G4DataVector &)
G4ThreeVector & SampleScattering(const G4DynamicParticle *, G4double safety)
void StartTracking(G4Track *)
G4double ComputeGeomPathLength(G4double truePathLength)
virtual ~G4UrbanMscModel93()
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 ComputeTheta0(G4double truePathLength, G4double KineticEnergy)
G4double ComputeTrueStepLength(G4double geomStepLength)