51#ifndef G4UrbanMscModel95_h
52#define G4UrbanMscModel95_h 1
111 inline void UpdateCache();
160 G4int currentMaterialIndex;
166 G4double coeffc1,coeffc2,coeffc3,coeffc4;
184 ChargeSquare = charge*charge;
191void G4UrbanMscModel95::UpdateCache()
193 lnZ = std::log(Zeff);
195 coeffth1 = (1. - 8.7780e-2/Zeff)*(0.87 + 0.03*lnZ);
196 coeffth2 = (4.0780e-2 + 1.7315e-4*Zeff)*(0.87 + 0.03*lnZ);
200 coeffc1 = 2.3785 - Z13*(4.1981e-1 - Z13*6.3100e-2);
201 coeffc2 = 4.7526e-1 + Z13*(1.7694 - Z13*3.3885e-1);
202 coeffc3 = 2.3683e-1 - Z13*(1.8111 - Z13*3.2774e-1);
203 coeffc4 = 1.7888e-2 + Z13*(1.9659e-2 - Z13*2.6664e-3);
209 scr2 = scr2ini*Z2*ChargeSquare;
G4double GetPDGMass() const
G4double GetPDGCharge() const
G4double ComputeTrueStepLength(G4double geomStepLength)
G4double ComputeTruePathLengthLimit(const G4Track &track, G4double ¤tMinimalStep)
void StartTracking(G4Track *)
G4ThreeVector & SampleScattering(const G4DynamicParticle *, G4double safety)
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)
virtual ~G4UrbanMscModel95()
void Initialise(const G4ParticleDefinition *, const G4DataVector &)