51{
52 if (theInstance != nullptr) return theInstance;
53 const G4String
name =
"tau+";
54
57 if (anInstance == nullptr) {
58
59
60
61
62
63
64
65
66
67
68
70 name, 1.77686*GeV, 2.267e-9*MeV, 1.*eplus,
71 1, 0, 0,
72 0, 0, 0,
73 "lepton", -1, 0, -15,
74 false, 290.3e-6*
ns,
nullptr,
75 false, "tau"
76 );
77
78
79
81
83
84
85 auto table = new G4DecayTable();
86
87
88 G4VDecayChannel* mode;
89
90 mode = new G4TauLeptonicDecayChannel("tau+", 0.1736, "mu+");
91 table->Insert(mode);
92
93 mode = new G4TauLeptonicDecayChannel("tau+", 0.1784, "e+");
94 table->Insert(mode);
95
96 mode = new G4PhaseSpaceDecayChannel("tau+", 0.1106, 2, "pi+", "anti_nu_tau");
97 table->Insert(mode);
98
99 mode = new G4PhaseSpaceDecayChannel("tau+", 0.2541, 3, "pi0", "pi+", "anti_nu_tau");
100 table->Insert(mode);
101
102 mode = new G4PhaseSpaceDecayChannel();
110 table->Insert(mode);
111
112 mode = new G4PhaseSpaceDecayChannel();
120 table->Insert(mode);
121
123 }
124 theInstance = static_cast<G4TauPlus*>(anInstance);
125 return theInstance;
126}
G4ParticleDefinition(const G4String &aName, G4double mass, G4double width, G4double charge, G4int iSpin, G4int iParity, G4int iConjugation, G4int iIsospin, G4int iIsospinZ, G4int gParity, const G4String &pType, G4int lepton, G4int baryon, G4int encoding, G4bool stable, G4double lifetime, G4DecayTable *decaytable, G4bool shortlived=false, const G4String &subType="", G4int anti_encoding=0, G4double magneticMoment=0.0)
void SetPDGMagneticMoment(G4double mageticMoment)
G4double GetPDGMass() const
void SetDecayTable(G4DecayTable *aDecayTable)
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static G4ParticleTable * GetParticleTable()
void SetBR(G4double value)
void SetNumberOfDaughters(G4int value)
void SetDaughter(G4int anIndex, const G4ParticleDefinition *particle_type)
void SetParent(const G4ParticleDefinition *particle_type)
const char * name(G4int ptype)