Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Static Public Member Functions
G4TauPlus Class Reference

#include <G4TauPlus.hh>

Inheritance diagram for G4TauPlus:
G4ParticleDefinition

Static Public Member Functions

static G4TauPlusDefinition ()
 
static G4TauPlusTauPlusDefinition ()
 
static G4TauPlusTauPlus ()
 
- Static Public Member Functions inherited from G4ParticleDefinition
static const G4PDefManagerGetSubInstanceManager ()
 

Additional Inherited Members

- Public Member Functions inherited from G4ParticleDefinition
 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)
 
virtual ~G4ParticleDefinition ()
 
const G4StringGetParticleName () const
 
G4double GetPDGMass () const
 
G4double GetPDGWidth () const
 
G4double GetPDGCharge () const
 
G4double GetPDGSpin () const
 
G4int GetPDGiSpin () const
 
G4int GetPDGiParity () const
 
G4int GetPDGiConjugation () const
 
G4double GetPDGIsospin () const
 
G4double GetPDGIsospin3 () const
 
G4int GetPDGiIsospin () const
 
G4int GetPDGiIsospin3 () const
 
G4int GetPDGiGParity () const
 
G4double GetPDGMagneticMoment () const
 
void SetPDGMagneticMoment (G4double mageticMoment)
 
G4double CalculateAnomaly () const
 
const G4StringGetParticleType () const
 
const G4StringGetParticleSubType () const
 
G4int GetLeptonNumber () const
 
G4int GetBaryonNumber () const
 
G4int GetPDGEncoding () const
 
G4int GetAntiPDGEncoding () const
 
void SetAntiPDGEncoding (G4int aEncoding)
 
G4int GetQuarkContent (G4int flavor) const
 
G4int GetAntiQuarkContent (G4int flavor) const
 
G4bool IsShortLived () const
 
G4bool GetPDGStable () const
 
void SetPDGStable (const G4bool aFlag)
 
G4double GetPDGLifeTime () const
 
void SetPDGLifeTime (G4double aLifeTime)
 
G4double GetIonLifeTime () const
 
G4DecayTableGetDecayTable () const
 
void SetDecayTable (G4DecayTable *aDecayTable)
 
G4ProcessManagerGetProcessManager () const
 
void SetProcessManager (G4ProcessManager *aProcessManager)
 
G4ParticleTableGetParticleTable () const
 
G4int GetAtomicNumber () const
 
G4int GetAtomicMass () const
 
void DumpTable () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
void SetApplyCutsFlag (G4bool)
 
G4bool GetApplyCutsFlag () const
 
G4bool IsGeneralIon () const
 
G4int operator== (const G4ParticleDefinition &right) const
 
G4int operator!= (const G4ParticleDefinition &right) const
 
G4ProcessManagerGetMasterProcessManager () const
 
void SetMasterProcessManager (G4ProcessManager *aNewPM)
 
G4int GetInstanceID () const
 
void SetParticleDefinitionID (G4int id=-1)
 
G4int GetParticleDefinitionID () const
 
- Protected Types inherited from G4ParticleDefinition
enum  { NumberOfQuarkFlavor = 6 }
 
- Protected Member Functions inherited from G4ParticleDefinition
G4int FillQuarkContents ()
 
void SetParticleSubType (const G4String &subtype)
 
void SetAtomicNumber (G4int)
 
void SetAtomicMass (G4int)
 
 G4ParticleDefinition (const G4ParticleDefinition &right)
 
 G4ParticleDefinition ()
 
- Protected Attributes inherited from G4ParticleDefinition
G4int theQuarkContent [NumberOfQuarkFlavor]
 
G4int theAntiQuarkContent [NumberOfQuarkFlavor]
 
G4bool isGeneralIon
 

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 python.hepunit::c_squared, python.hepunit::eplus, G4ParticleTable::FindParticle(), G4ParticleDefinition::G4ParticleDefinition(), G4ParticleTable::GetParticleTable(), G4ParticleDefinition::GetPDGMass(), python.hepunit::GeV, python.hepunit::hbar_Planck, G4DecayTable::Insert(), python.hepunit::MeV, ns, G4VDecayChannel::SetBR(), G4VDecayChannel::SetDaughter(), G4ParticleDefinition::SetDecayTable(), G4VDecayChannel::SetNumberOfDaughters(), G4VDecayChannel::SetParent(), and G4ParticleDefinition::SetPDGMagneticMoment().

Referenced by G4InuclElementaryParticle::makeDefinition(), TauPlus(), TauPlusDefinition(), and G4InuclElementaryParticle::type().

55 {
56  if (theInstance !=0) return theInstance;
57  const G4String name = "tau+";
58  // search in particle table]
60  G4ParticleDefinition* anInstance = pTable->FindParticle(name);
61  if (anInstance ==0)
62  {
63  // create particle
64  //
65  // Arguments for constructor are as follows
66  // name mass width charge
67  // 2*spin parity C-conjugation
68  // 2*Isospin 2*Isospin3 G-parity
69  // type lepton number baryon number PDG encoding
70  // stable lifetime decay table
71  // shortlived subType anti_encoding
72  anInstance = new G4ParticleDefinition(
73  name, 1.77682*GeV, 2.265e-9*MeV, 1.*eplus,
74  1, 0, 0,
75  0, 0, 0,
76  "lepton", -1, 0, -15,
77  false, 290.6e-6*ns, NULL,
78  false, "tau"
79  );
80  // Bohr Magnetron
81  G4double muB = 0.5*eplus*hbar_Planck/(anInstance->GetPDGMass()/c_squared) ;
82 
83  anInstance->SetPDGMagneticMoment( muB * 1.00118);
84 
85  //create Decay Table
86  G4DecayTable* table = new G4DecayTable();
87 
88  // create decay channels
89  G4VDecayChannel* mode;
90  // tau+ -> mu+ + nu_mu + anti_nu_tau
91  mode = new G4TauLeptonicDecayChannel("tau+",0.1736,"mu+");
92  table->Insert(mode);
93  // tau+ -> e+ + nu_e + anti_nu_tau
94  mode = new G4TauLeptonicDecayChannel("tau+",0.1784,"e+");
95  table->Insert(mode);
96  // tau+ -> pi+ + anti_nu_tau
97  mode = new G4PhaseSpaceDecayChannel("tau+",0.1106,2,"pi+","anti_nu_tau");
98  table->Insert(mode);
99  // tau+ -> pi0 + pi0 + pi+ + anti_nu_tau
100  mode = new G4PhaseSpaceDecayChannel("tau+",0.2541,3,"pi0","pi+","anti_nu_tau");
101  table->Insert(mode);
102  // tau+ -> pi0 + pi0 + pi+ + anti_nu_tau
103  mode = new G4PhaseSpaceDecayChannel();
104  mode->SetParent("tau+");
105  mode->SetBR(0.0917);
106  mode->SetNumberOfDaughters(4);
107  mode->SetDaughter(0,"pi0");
108  mode->SetDaughter(1,"pi0");
109  mode->SetDaughter(2,"pi+");
110  mode->SetDaughter(3,"anti_nu_tau");
111  table->Insert(mode);
112  // tau+ -> pi+ + pi+ + pi- + anti_nu_tau
113  mode = new G4PhaseSpaceDecayChannel();
114  mode->SetParent("tau+");
115  mode->SetBR(0.0946);
116  mode->SetNumberOfDaughters(4);
117  mode->SetDaughter(0,"pi+");
118  mode->SetDaughter(1,"pi+");
119  mode->SetDaughter(2,"pi-");
120  mode->SetDaughter(3,"anti_nu_tau");
121  table->Insert(mode);
122 
123  anInstance->SetDecayTable(table);
124  }
125  theInstance = reinterpret_cast<G4TauPlus*>(anInstance);
126  return theInstance;
127 }
void SetDecayTable(G4DecayTable *aDecayTable)
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
void SetBR(G4double value)
const XML_Char * name
void SetNumberOfDaughters(G4int value)
void Insert(G4VDecayChannel *aChannel)
Definition: G4DecayTable.cc:60
G4double GetPDGMass() const
static G4ParticleTable * GetParticleTable()
void SetParent(const G4ParticleDefinition *particle_type)
void SetDaughter(G4int anIndex, const G4ParticleDefinition *particle_type)
double G4double
Definition: G4Types.hh:76
#define ns
Definition: xmlparse.cc:597
void SetPDGMagneticMoment(G4double mageticMoment)
G4TauPlus * G4TauPlus::TauPlus ( )
static

Definition at line 134 of file G4TauPlus.cc.

References Definition().

Referenced by GammaRayTelMuonPhysics::ConstructProcess().

135 {
136  return Definition();
137 }
static G4TauPlus * Definition()
Definition: G4TauPlus.cc:54
G4TauPlus * G4TauPlus::TauPlusDefinition ( )
static

Definition at line 129 of file G4TauPlus.cc.

References Definition().

Referenced by G4LeptonConstructor::ConstructTauLeptons().

130 {
131  return Definition();
132 }
static G4TauPlus * Definition()
Definition: G4TauPlus.cc:54

The documentation for this class was generated from the following files: