G4TauPlus Class Reference

#include <G4TauPlus.hh>

Inheritance diagram for G4TauPlus:

G4ParticleDefinition

Static Public Member Functions

static G4TauPlusDefinition ()
static G4TauPlusTauPlusDefinition ()
static G4TauPlusTauPlus ()

Detailed Description

Definition at line 50 of file G4TauPlus.hh.


Member Function Documentation

G4TauPlus * G4TauPlus::Definition (  )  [static]

Definition at line 54 of file G4TauPlus.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 TauPlus(), and TauPlusDefinition().

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    // Bohr Magnetron
00081    G4double muB =  0.5*eplus*hbar_Planck/(1.77699*GeV/c_squared) ;
00082    
00083    anInstance->SetPDGMagneticMoment( muB * 2.* 1.00116);
00084 
00085   //create Decay Table 
00086   G4DecayTable* table = new G4DecayTable();
00087 
00088   // create decay channels
00089   G4VDecayChannel* mode;
00090   // tau+ -> mu+ + nu_mu + anti_nu_tau
00091   mode = new G4TauLeptonicDecayChannel("tau+",0.1736,"mu+");
00092   table->Insert(mode);
00093   // tau+ -> e+ + nu_e + anti_nu_tau
00094   mode = new G4TauLeptonicDecayChannel("tau+",0.1784,"e+");
00095   table->Insert(mode);
00096   // tau+ -> pi+ + anti_nu_tau
00097   mode = new G4PhaseSpaceDecayChannel("tau+",0.1106,2,"pi+","anti_nu_tau");
00098   table->Insert(mode);
00099   // tau+ -> pi0 + pi0 + pi+ + anti_nu_tau
00100   mode = new G4PhaseSpaceDecayChannel("tau+",0.2541,3,"pi0","pi+","anti_nu_tau");
00101   table->Insert(mode);
00102   // tau+ -> pi0 + pi0 + pi+ + anti_nu_tau
00103   mode = new G4PhaseSpaceDecayChannel();
00104   mode->SetParent("tau+");
00105   mode->SetBR(0.0917);
00106   mode->SetNumberOfDaughters(4);
00107   mode->SetDaughter(0,"pi0");
00108   mode->SetDaughter(1,"pi0");
00109   mode->SetDaughter(2,"pi+");
00110   mode->SetDaughter(3,"anti_nu_tau");
00111   table->Insert(mode);
00112   // tau+ -> pi+ + pi+ + pi- + anti_nu_tau
00113   mode = new G4PhaseSpaceDecayChannel();
00114   mode->SetParent("tau+");
00115   mode->SetBR(0.0946);
00116   mode->SetNumberOfDaughters(4);
00117   mode->SetDaughter(0,"pi+");
00118   mode->SetDaughter(1,"pi+");
00119   mode->SetDaughter(2,"pi-");
00120   mode->SetDaughter(3,"anti_nu_tau");
00121   table->Insert(mode);
00122 
00123    anInstance->SetDecayTable(table);
00124   }
00125   theInstance = reinterpret_cast<G4TauPlus*>(anInstance);
00126   return theInstance;
00127 }

G4TauPlus * G4TauPlus::TauPlus (  )  [static]

Definition at line 134 of file G4TauPlus.cc.

References Definition().

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

00135 {
00136   return Definition();
00137 }

G4TauPlus * G4TauPlus::TauPlusDefinition (  )  [static]

Definition at line 129 of file G4TauPlus.cc.

References Definition().

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

00130 {
00131   return Definition();
00132 }


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