78   if( aParticleDef == aPionPlus   ||
 
   79       aParticleDef == aPionMinus  || 
 
   80       aParticleDef == aKaonPlus   ||
 
   81       aParticleDef == aKaonMinus  ||
 
   82       aParticleDef == aKaon0Long ) {
 
   94   if (numberOfSecondaries > 0) {
 
   95     for (
G4int index=0; index < numberOfSecondaries; index++)
 
  100         if (aSecondaryDef == aMuonPlus ||
 
  101             aSecondaryDef == aMuonMinus ) {
 
  106         } 
else if (aSecondaryDef == aNeutrinoMu ||
 
  107                    aSecondaryDef == aAntiNeutrinoMu ) {
 
  119   if (eneutrino==0||emu==0) 
return;
 
  128   if (numberOfSecondaries == 2 ) {
 
  130      G4double scale = - (eneutrino - ( p_muon * p_neutrino )/(emu+emmu));
 
  132      p_muon = scale * p_muon;
 
  133      p_neutrino = emmu * p_neutrino;
 
  134      spin = p_muon + p_neutrino;
 
  136      scale = 2./(amass*amass-emmu*emmu);
 
  139      if (aParticle->
GetCharge() < 0.0) spin = -spin;
 
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
CLHEP::Hep3Vector G4ThreeVector
G4double GetTotalEnergy() const 
virtual void DaughterPolarization(const G4Track &aTrack, G4DecayProducts *products)
const G4DynamicParticle * GetDynamicParticle() const 
G4PionDecayMakeSpin(const G4String &processName="Decay")
G4ThreeVector G4RandomDirection()
const G4DynamicParticle * GetParentParticle() const 
G4ParticleDefinition * GetDefinition() const 
virtual ~G4PionDecayMakeSpin()
G4double GetCharge() const 
void SetProcessSubType(G4int)
void SetPolarization(G4double polX, G4double polY, G4double polZ)
G4double GetPDGMass() const 
static G4ParticleTable * GetParticleTable()
G4ThreeVector GetMomentum() const