143 for (
G4int index=0; index<3; index++){
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;
G4int PushProducts(G4DynamicParticle *aParticle)
G4ParticleDefinition * G4MT_parent
G4ParticleDefinition ** G4MT_daughters
G4GLOB_DLL std::ostream G4cout
HepRotation & set(const Hep3Vector &axis, double delta)
G4int GetVerboseLevel() const
G4double GetPDGMass() const