G4TauMinus Class Reference

#include <G4TauMinus.hh>

Inheritance diagram for G4TauMinus:

G4ParticleDefinition

Static Public Member Functions

static G4TauMinusDefinition ()
static G4TauMinusTauMinusDefinition ()
static G4TauMinusTauMinus ()

Detailed Description

Definition at line 50 of file G4TauMinus.hh.


Member Function Documentation

G4TauMinus * G4TauMinus::Definition (  )  [static]

Definition at line 54 of file G4TauMinus.cc.

References G4ParticleTable::FindParticle(), G4ParticleDefinition::G4ParticleDefinition(), G4ParticleTable::GetParticleTable(), G4DecayTable::Insert(), ns, G4VDecayChannel::SetBR(), G4VDecayChannel::SetDaughter(), G4ParticleDefinition::SetDecayTable(), G4VDecayChannel::SetNumberOfDaughters(), G4VDecayChannel::SetParent(), and G4ParticleDefinition::SetPDGMagneticMoment().

Referenced by TauMinus(), and TauMinusDefinition().

00055 {
00056   if (theInstance !=0) return theInstance;
00057   const G4String name = "tau-";
00058   // search in particle table]
00059   G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
00060   G4ParticleDefinition* anInstance = pTable->FindParticle(name);
00061   if (anInstance ==0)
00062   {
00063   // create particle
00064   //
00065   //    Arguments for constructor are as follows
00066   //               name             mass          width         charge
00067   //             2*spin           parity  C-conjugation
00068   //          2*Isospin       2*Isospin3       G-parity
00069   //               type    lepton number  baryon number   PDG encoding
00070   //             stable         lifetime    decay table
00071   //             shortlived      subType    anti_encoding
00072    anInstance = new G4ParticleDefinition(
00073                  name,     1.77682*GeV,  2.265e-9*MeV,    -1.*eplus, 
00074                     1,               0,             0,          
00075                     0,               0,             0,             
00076              "lepton",               1,             0,          15,
00077                 false,     290.6e-6*ns,          NULL,
00078              false,           "tau"
00079               );
00080 
00081    // Bohr Magnetron
00082    G4double muB =  -0.5*eplus*hbar_Planck/(1.77699*GeV/c_squared) ;
00083    
00084    anInstance->SetPDGMagneticMoment( muB * 2. * 1.00116);
00085 
00086   //create Decay Table 
00087   G4DecayTable* table = new G4DecayTable();
00088 
00089   // create decay channels
00090   G4VDecayChannel* mode;
00091   // tau- -> mu- + anti_nu_mu + nu_tau
00092   mode = new G4TauLeptonicDecayChannel("tau-",0.1736,"mu-");
00093   table->Insert(mode);
00094   // tau- -> e- + anti_nu_e + nu_tau
00095   mode = new G4TauLeptonicDecayChannel("tau-",0.1784,"e-");
00096   table->Insert(mode);
00097   // tau- -> pi- + nu_tau
00098   mode = new G4PhaseSpaceDecayChannel("tau-",0.1106,2,"pi-","nu_tau");
00099   table->Insert(mode);
00100   // tau- -> pi0 + pi- + nu_tau
00101   mode = new G4PhaseSpaceDecayChannel("tau-",0.2541,3,"pi0","pi-","nu_tau");
00102   table->Insert(mode);
00103   // tau- -> pi0 + pi0 + pi- + nu_tau
00104   mode = new G4PhaseSpaceDecayChannel();
00105   mode->SetParent("tau-");
00106   mode->SetBR(0.0917);
00107   mode->SetNumberOfDaughters(4);
00108   mode->SetDaughter(0,"pi0");
00109   mode->SetDaughter(1,"pi0");
00110   mode->SetDaughter(2,"pi-");
00111   mode->SetDaughter(3,"nu_tau");
00112   table->Insert(mode);
00113   // tau- -> pi- + pi- + pi+ + nu_tau
00114   mode = new G4PhaseSpaceDecayChannel();
00115   mode->SetParent("tau-");
00116   mode->SetBR(0.0946);
00117   mode->SetNumberOfDaughters(4);
00118   mode->SetDaughter(0,"pi-");
00119   mode->SetDaughter(1,"pi-");
00120   mode->SetDaughter(2,"pi+");
00121   mode->SetDaughter(3,"nu_tau");
00122   table->Insert(mode);
00123 
00124   anInstance->SetDecayTable(table);
00125   }
00126   theInstance = reinterpret_cast<G4TauMinus*>(anInstance);
00127   return theInstance;
00128 }

G4TauMinus * G4TauMinus::TauMinus (  )  [static]

Definition at line 135 of file G4TauMinus.cc.

References Definition().

Referenced by G4QCaptureAtRest::AtRestDoIt(), G4QPhotoNuclearPhysics::ConstructParticle(), G4QInelastic::GetMeanFreePath(), G4QCaptureAtRest::GetMeanLifeTime(), G4QPDGToG4Particle::GetParticleDefinition(), G4QInelastic::IsApplicable(), G4QElastic::IsApplicable(), G4QCaptureAtRest::IsApplicable(), G4QAtomicElectronScattering::IsApplicable(), G4QInelastic::PostStepDoIt(), and G4QAtomicElectronScattering::PostStepDoIt().

00136 {
00137   return Definition();
00138 }

G4TauMinus * G4TauMinus::TauMinusDefinition (  )  [static]

Definition at line 130 of file G4TauMinus.cc.

References Definition().

Referenced by G4LeptonConstructor::ConstructTauLeptons(), and G4QPDGToG4Particle::DefineAllParticles().

00131 {
00132   return Definition();
00133 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:28 2013 for Geant4 by  doxygen 1.4.7