#include <G4TauPlus.hh>
Inheritance diagram for G4TauPlus:
Static Public Member Functions | |
static G4TauPlus * | Definition () |
static G4TauPlus * | TauPlusDefinition () |
static G4TauPlus * | TauPlus () |
Definition at line 50 of file G4TauPlus.hh.
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 }