152   const G4int N_DAUGHTER=3;
   163   delete parentparticle;
   166   G4double daughtermomentum[N_DAUGHTER];
   169   G4double pmax = (parentmass*parentmass-daughtermass[0]*daughtermass[0])/2./parentmass;
   172   const size_t MAX_LOOP=10000;
   173   for (
size_t loop_counter=0; loop_counter <MAX_LOOP; ++loop_counter){
   177     e = std::sqrt(p*p + daughtermass[0]*daughtermass[0]);
   178     if (r < 
spectrum(p,e,parentmass,daughtermass[0]) ) 
break;
   183   daughtermomentum[0] = p;
   184   G4double costheta, sintheta, phi, sinphi, cosphi; 
   186   sintheta = std::sqrt((1.0-costheta)*(1.0+costheta));
   188   sinphi = std::sin(phi);
   189   cosphi = std::cos(phi);
   190   G4ThreeVector direction0(sintheta*cosphi,sintheta*sinphi,costheta);
   198   G4double vmass   = std::sqrt((energy2-daughtermomentum[0])*(energy2+daughtermomentum[0]));
   199   G4double beta = -1.0*daughtermomentum[0]/energy2;
   201   G4double sinthetan = std::sqrt((1.0-costhetan)*(1.0+costhetan));
   206   G4ThreeVector direction1(sinthetan*cosphin,sinthetan*sinphin,costhetan);
   215   p4.
boost( direction0.x()*beta, direction0.y()*beta, direction0.z()*beta);
   218   p4.
boost( direction0.x()*beta, direction0.y()*beta, direction0.z()*beta);
   229     G4cout << 
"G4TauLeptonicDecayChannel::DecayIt ";
   230     G4cout << 
"  create decay products in rest frame " <<
G4endl;
 void CheckAndFillDaughters()
 
G4int PushProducts(G4DynamicParticle *aParticle)
 
G4ParticleDefinition * G4MT_parent
 
G4ParticleDefinition ** G4MT_daughters
 
G4double GetTotalMomentum() const
 
G4GLOB_DLL std::ostream G4cout
 
HepLorentzVector & boost(double, double, double)
 
static const double twopi
 
void Set4Momentum(const G4LorentzVector &momentum)
 
G4double GetPDGMass() const
 
static G4double spectrum(G4double momentum, G4double energy, G4double mtau, G4double ml)
 
G4LorentzVector Get4Momentum() const
 
G4int GetVerboseLevel() const
 
void CheckAndFillParent()