60 #ifndef G4MuPairProductionModel_h
61 #define G4MuPairProductionModel_h 1
227 else { res = pv->
FindLinearX((pmin + rand*(pmax - pmin))/p0, logTkin); }
virtual G4double MinPrimaryEnergy(const G4Material *, const G4ParticleDefinition *, G4double) override
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
void MakeSamplingTables()
G4double FindScaledEnergy(G4int Z, G4double rand, G4double logTkin, G4double yymin, G4double yymax)
G4ParticleChangeForLoss * fParticleChange
virtual ~G4MuPairProductionModel()
G4ElementData * fElementData
virtual void InitialiseLocal(const G4ParticleDefinition *, G4VEmModel *masterModel) override
G4MuPairProductionModel & operator=(const G4MuPairProductionModel &right)=delete
G4double GetLOGZ(G4int Z) const
virtual G4double ComputeDEDXPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy) override
G4double ComputMuPairLoss(G4double Z, G4double tkin, G4double cut, G4double tmax)
G4double GetPDGMass() const
G4double FindLinearX(G4double rand, G4double y, size_t &lastidy) const
G4Physics2DVector * GetElement2DData(G4int Z)
double A(double temperature)
G4double MaxSecondaryEnergyForElement(G4double kineticEnergy, G4double Z)
G4double ComputeMicroscopicCrossSection(G4double tkin, G4double Z, G4double cut)
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
G4double Value(G4double x, G4double y, size_t &lastidx, size_t &lastidy) const
static const G4double wgi[8]
const G4ParticleDefinition * particle
void SetParticle(const G4ParticleDefinition *)
G4MuPairProductionModel(const G4ParticleDefinition *p=nullptr, const G4String &nam="muPairProd")
void SetLowestKineticEnergy(G4double e)
G4double GetZ13(G4double Z) const
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kineticEnergy, G4double Z, G4double A, G4double cutEnergy, G4double maxEnergy) override
G4ParticleDefinition * theElectron
void DataCorrupted(G4int Z, G4double logTkin)
G4ParticleDefinition * thePositron
static const G4double xgi[8]
virtual G4double ComputeDMicroscopicCrossSection(G4double tkin, G4double Z, G4double pairEnergy)