64 if (theParentName ==
"mu+") {
71 }
else if (theParentName ==
"mu-") {
81 G4cout <<
"G4MuonDecayChannel:: constructor :";
82 G4cout <<
" parent particle is not muon but ";
100 if (
this != &right) {
145 sumofdaughtermass += daughtermass[
index];
153 delete parentparticle;
158 G4double xmax = (1.0+daughtermass[0]*daughtermass[0]/parentmass/parentmass);
164 G4double EMax=parentmass/2-daughtermass[0];
173 }
while (gam >x*(1.-x));
175 }
while ( Ene < (1.-Ee));
181 G4double costheta,sintheta,rphi,rtheta,rpsi;
182 costheta= 1.-2./Ee-2./Ene+2./Ene/Ee;
183 sintheta=std::sqrt(1.-costheta*costheta);
191 rot.
set(rphi,rtheta,rpsi);
194 daughtermomentum[0]=std::sqrt(Ee*Ee*EMax*EMax+2.0*Ee*EMax * daughtermass[0]);
205 daughtermomentum[1]=std::sqrt(Ene*Ene*EMax*EMax+2.0*Ene*EMax * daughtermass[1]);
215 daughtermomentum[2]=std::sqrt(Enm*Enm*EMax*EMax +2.0*Enm*EMax*daughtermass[2]);
216 G4ThreeVector direction2(-Ene/Enm*sintheta,0,-Ee/Enm-Ene/Enm*costheta);
221 direction2 * daughtermomentum[2]);
230 G4cout <<
"G4MuonDecayChannel::DecayIt ";
231 G4cout <<
" create decay products in rest frame " <<
G4endl;