58#ifndef G4MuPairProductionModel_h
59#define G4MuPairProductionModel_h 1
135 void MakeSamplingTables();
137 void StoreTables()
const;
215G4MuPairProductionModel::FindScaledEnergy(
G4int Z,
G4double rand,
222 DataCorrupted(Z, logTkin);
227 if(p0 <= 0.0) { DataCorrupted(Z, logTkin); }
228 else { res = pv->
FindLinearX((pmin + rand*(pmax - pmin))/p0, logTkin); }
double A(double temperature)
G4Physics2DVector * GetElement2DData(G4int Z)
G4double ComputeMicroscopicCrossSection(G4double tkin, G4double Z, G4double cut)
void SetParticle(const G4ParticleDefinition *)
G4ParticleDefinition * thePositron
G4double ComputMuPairLoss(G4double Z, G4double tkin, G4double cut, G4double tmax)
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kineticEnergy, G4double Z, G4double A, G4double cutEnergy, G4double maxEnergy) override
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
virtual G4double ComputeDEDXPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy) override
virtual void InitialiseLocal(const G4ParticleDefinition *, G4VEmModel *masterModel) override
G4MuPairProductionModel(const G4MuPairProductionModel &)=delete
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
virtual G4double ComputeDMicroscopicCrossSection(G4double tkin, G4double Z, G4double pairEnergy)
const G4ParticleDefinition * particle
virtual G4double MinPrimaryEnergy(const G4Material *, const G4ParticleDefinition *, G4double) override
G4ParticleChangeForLoss * fParticleChange
G4double MaxSecondaryEnergyForElement(G4double kineticEnergy, G4double Z)
virtual ~G4MuPairProductionModel()
G4ParticleDefinition * theElectron
void SetLowestKineticEnergy(G4double e)
G4double GetZ13(G4double Z) const
G4double GetLOGZ(G4int Z) const
G4double GetPDGMass() const
G4double Value(G4double x, G4double y, std::size_t &lastidx, std::size_t &lastidy) const
G4double FindLinearX(G4double rand, G4double y, std::size_t &lastidy) const
G4ElementData * fElementData