89 pi_rcl2(
CLHEP::pi*
CLHEP::classic_electr_radius*
CLHEP::classic_electr_radius)
92 fParticleChange =
nullptr;
104 if (
nullptr != fParticleChange) {
return; }
116 G4double ekin = std::max(CLHEP::eV, kineticEnergy);
118 G4double tau = ekin/CLHEP::electron_mass_c2;
124 G4double cross = pi_rcl2*((gamma2+4*gam+1.)*
G4Log(gam+bg) - (gam+3.)*bg)
164 fParticleChange->SetProposedKineticEnergy(0.0);
191 aGamma1->SetPolarization(pol1);
193 aGamma2->SetPolarization(pol2);
195 vdp->push_back(aGamma1);
196 vdp->push_back(aGamma2);
G4double G4Log(G4double x)
CLHEP::HepLorentzVector G4LorentzVector
G4ThreeVector G4RandomDirection()
CLHEP::Hep3Vector G4ThreeVector
Hep3Vector & rotateUz(const Hep3Vector &)
Hep3Vector boostVector() const
HepLorentzVector & boost(double, double, double)
G4double GetKineticEnergy() const
G4ThreeVector GetMomentum() const
G4double GetElectronDensity() const
G4ParticleChangeForGamma * GetParticleChangeForGamma()
G4VEmModel(const G4String &nam)
virtual G4double ComputeCrossSectionPerElectron(G4double kinEnergy)
G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0., G4double cutEnergy=0., G4double maxEnergy=DBL_MAX) override
void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
G4eeToTwoGammaModel(const G4ParticleDefinition *p=nullptr, const G4String &nam="eplus2gg")
void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX) override
~G4eeToTwoGammaModel() override