56 std::vector<G4DynamicParticle*>& secParticles,
59 static const G4double PositronMass = CLHEP::electron_mass_c2;
77 rndmv1 = rndmEngine->
flat();
87 cos12=(r3*r3 - r1*r1 -r2*r2)/(2*r1*r2);
88 cos13=(r2*r2 - r1*r1 -r3*r3)/(2*r1*r3);
90 }
while ( std::abs(cos12) > 1 || std::abs(cos13) > 1 );
92 sin12 = std::sqrt((1 + cos12)*(1 - cos12));
93 sin13 = -std::sqrt((1 + cos13)*(1 - cos13));
95 G4double cos23=cos12*cos13+sin12*sin13;
97 pdf = (1 - cos12)*(1 - cos12) + (1 - cos13)*(1 - cos13) + (1 - cos23)*(1 - cos23);
98 }
while ( pdf < ymax * rndmv1 );
120 aGamma1->SetPolarization(pol1);
121 secParticles.push_back(aGamma1);
129 aGamma2->SetPolarization(pol2);
130 secParticles.push_back(aGamma2);
138 aGamma3->SetPolarization(pol3);
139 secParticles.push_back(aGamma3);