83 G4double ekin = std::max(eV,kinEnergy);
84 G4double tau = ekin/electron_mass_c2;
91 - (gam+3.)/(sqrt(gam*gam - 1.)) + 1.;
95 border = 1. - (electron_mass_c2)/(2*(ekin + electron_mass_c2));
97 border = 1. - (100*electron_mass_c2)/(2*(ekin + electron_mass_c2));
100 border = std::min(border, 0.9999);
102 if (fr1>border) { fr1 = border; }
103 if (fr2>border) { fr2 = border; }
104 if (fr3>border) { fr3 = border; }
111 G4double ab = fr3s + (fr1-fr2)*(fr1-fr2);
112 G4double add= ((1.-fr1)*(1.-fr1) + (1.-fr2)*(1.-fr2))/(fr3s*aa);
114 G4double fres = -rho*(1./fr1s + 1./fr2s)
115 + (ab/(2.*(fr1*fr2*aa)))*(
G4Log(2.*gam*aa/(fr1*fr2)))
116 + (ab/(2.*fr1*fr2*(1-fr3)))*
G4Log(2.*gam*(1.-fr3)/(fr1*fr2)) - add;
134 - (gam+3.)/(sqrt(gam*gam - 1.)) + 1.;
137 if (fr1>border) { fr1 = border; }
138 if (fr2>border) { fr2 = border; }
139 if (fr3>border) { fr3 = border; }
146 G4double ab = fr3s + (fr1-fr2)*(fr1-fr2);
147 G4double add= ((1.-fr1)*(1.-fr1) + (1.-fr2)*(1.-fr2))/(fr3s*aa);
149 G4double fres = -rho*(1./fr1s + 1./fr2s)
150 + (ab/(2.*(fr1*fr2*aa)))*(
G4Log(2.*gam*aa/(fr1*fr2)))
151 + (ab/(2.*fr1*fr2*(1-fr3)))*
G4Log(2.*gam*(1.-fr3)/(fr1*fr2)) - add;
235 posiKinEnergy + 2*CLHEP::electron_mass_c2);
241 1.0 - std::min(std::max(CLHEP::electron_mass_c2/eGammaCMS, fDelta), 0.1);
251 G4double d1, d0, x1, x2, dmax, x2min;
255 x1 = 1./((1./xmin) - ((1./xmin)-(1./xmax))*rndmEngine->
flat());
256 dmax =
ComputeFS(eGammaCMS, x1, 1.-x1, border);
258 x2 = 1 - rndmEngine->
flat()*(1. - x2min);
259 d1 = dmax*rndmEngine->
flat();
260 d0 =
ComputeFS(eGammaCMS, x1, x2, 2.-x1-x2);
268 G4double psi13 = 2*std::asin(std::sqrt(std::abs((x1+x3-1.)/(x1*x3))));
269 G4double psi12 = 2*std::asin(std::sqrt(std::abs((x1+x2-1.)/(x1*x2))));
273 G4double phot1Energy = x1*eGammaCMS;
274 G4double phot2Energy = x2*eGammaCMS;
275 G4double phot3Energy = x3*eGammaCMS;
283 G4ThreeVector phot2Direction(0, std::sin(psi12), std::cos(psi12));
284 G4ThreeVector phot3Direction(0, std::sin(psi13), std::cos(psi13));
301 vdp->push_back(aGamma1);
302 vdp->push_back(aGamma2);
303 vdp->push_back(aGamma3);
const G4ThreeVector & GetMomentumDirection() const
G4double GetKineticEnergy() const
G4ThreeVector GetMomentum() const