128 const size_t MAX_LOOP = 10000;
129 for (
size_t loop_counter=0; loop_counter <MAX_LOOP; ++loop_counter){
133 w1 = (1.0-4.0*leptonmass*leptonmass/
t);
135 w2 = ( 1.0 + 2.0*leptonmass*leptonmass/
t );
136 w3 = ( 1.0 - t/parentmass/parentmass );
138 ww = w3 * w2 * std::sqrt(w1);
149 G4double sintheta = std::sqrt((1.0 - costheta)*(1.0 + costheta));
151 G4ThreeVector gdirection(sintheta*std::cos(phi),sintheta*std::sin(phi),costheta);
158 G4double beta = Pgamma/(parentmass-Pgamma);
163 G4double Elepton = std::sqrt(Plepton*Plepton + leptonmass*leptonmass );
165 sintheta = std::sqrt((1.0 - costheta)*(1.0 + costheta));
167 G4ThreeVector ldirection(sintheta*std::cos(phi),sintheta*std::sin(phi),costheta);
171 ldirection, Elepton-leptonmass );
174 -1.0*ldirection, Elepton-leptonmass );
177 p4.
boost( -1.0*gdirection.
x()*beta, -1.0*gdirection.
y()*beta, -1.0*gdirection.
z()*beta);
180 p4.
boost( -1.0*gdirection.
x()*beta, -1.0*gdirection.
y()*beta, -1.0*gdirection.
z()*beta);
185 delete parentparticle;
192 G4cout <<
"G4DalitzDecayChannel::DecayIt ";
193 G4cout <<
" create decay products in rest frame " <<
G4endl;