52#ifndef G4UrbanMscModel_h
53#define G4UrbanMscModel_h 1
96 G4double& currentMinimalStep)
override;
186 static std::vector<mscData*>
msc;
233 G4double a = (2.*xmeanth+9.*x2meanth-3.)/(2.*xmeanth-3.*x2meanth+1.);
static const G4double emax
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4double G4Log(G4double x)
virtual void flatArray(const int size, double *vect)=0
G4double GetPDGMass() const
G4double GetPDGCharge() const
G4double SampleCosineTheta(G4double trueStepLength, G4double KineticEnergy)
void SampleDisplacementNew(G4double sinTheta, G4double phi)
G4ThreeVector & SampleScattering(const G4ThreeVector &, G4double safety) override
G4double ComputeTrueStepLength(G4double geomStepLength) override
G4double currentKinEnergy
void SampleDisplacement(G4double sinTheta, G4double phi)
G4double Randomizetlimit()
const G4ParticleDefinition * positron
G4double ComputeTheta0(G4double truePathLength, G4double KineticEnergy)
void StartTracking(G4Track *) override
void InitialiseModelCache()
~G4UrbanMscModel() override
G4bool latDisplasmentbackup
G4double currentRadLength
const G4MaterialCutsCouple * couple
G4UrbanMscModel(const G4String &nam="UrbanMsc")
G4double currentLogKinEnergy
void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
G4double ComputeTlimitmin()
static std::vector< mscData * > msc
G4double ComputeGeomPathLength(G4double truePathLength) override
void SetParticle(const G4ParticleDefinition *)
G4double SimpleScattering(G4double xmeanth, G4double x2meanth)
G4ParticleChangeForMSC * fParticleChange
G4UrbanMscModel & operator=(const G4UrbanMscModel &right)=delete
const G4ParticleDefinition * particle
CLHEP::HepRandomEngine * rndmEngineMod
G4LossTableManager * theManager
G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *particle, G4double KineticEnergy, G4double AtomicNumber, G4double AtomicWeight=0., G4double cut=0., G4double emax=DBL_MAX) override
G4double ComputeTruePathLengthLimit(const G4Track &track, G4double ¤tMinimalStep) override
G4double ComputeStepmin()
G4UrbanMscModel(const G4UrbanMscModel &)=delete
static constexpr double eplus
ThreeVector shoot(const G4int Ap, const G4int Af)
T max(const T t1, const T t2)
brief Return the largest of the two arguments