Import Geant4 8.0.0 source tree
This commit is contained in:
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4MuonPlus.cc,v 1.8 2003/06/16 16:57:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
// $Id: G4MuonPlus.cc,v 1.10 2005/01/14 03:49:17 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
@@ -31,16 +31,11 @@
|
||||
// History: first implementation, based on object model of
|
||||
// 4th April 1996, G.Cosmo
|
||||
// **********************************************************************
|
||||
// Added particle definitions, H.Kurashige, 19 April 1996
|
||||
// Added SetCuts implementation, L.Urban, 10 May 1996
|
||||
// Operators (+=, *=, ++, -> etc.) correctly used, P. Urban, 26/6/96
|
||||
// Add MuonPlusDefinition(), H.Kurashige 4 July 1996
|
||||
// New impelemenataion as an utility class M.Asai, 26 July 2004
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
#include <fstream>
|
||||
#include <iomanip>
|
||||
|
||||
#include "G4MuonPlus.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
|
||||
#include "G4MuonDecayChannel.hh"
|
||||
#include "G4DecayTable.hh"
|
||||
@@ -48,65 +43,52 @@
|
||||
// ######################################################################
|
||||
// ### MUONPLUS ###
|
||||
// ######################################################################
|
||||
G4MuonPlus* G4MuonPlus::theInstance = 0;
|
||||
|
||||
G4MuonPlus::G4MuonPlus(
|
||||
const G4String& aName, G4double mass,
|
||||
G4double width, G4double charge,
|
||||
G4int iSpin, G4int iParity,
|
||||
G4int iConjugation, G4int iIsospin,
|
||||
G4int iIsospin3, G4int gParity,
|
||||
const G4String& pType, G4int lepton,
|
||||
G4int baryon, G4int encoding,
|
||||
G4bool stable, G4double lifetime,
|
||||
G4DecayTable *decaytable )
|
||||
: G4VLepton( aName,mass,width,charge,iSpin,iParity,
|
||||
iConjugation,iIsospin,iIsospin3,gParity,pType,
|
||||
lepton,baryon,encoding,stable,lifetime,decaytable )
|
||||
G4MuonPlus* G4MuonPlus::Definition()
|
||||
{
|
||||
SetParticleSubType("mu");
|
||||
SetPDGStable(false);
|
||||
|
||||
//create Decay Table
|
||||
G4DecayTable* table = GetDecayTable();
|
||||
if (table!=NULL) delete table;
|
||||
table = new G4DecayTable();
|
||||
|
||||
// create a decay channel
|
||||
G4VDecayChannel* mode = new G4MuonDecayChannel("mu+",1.00);
|
||||
table->Insert(mode);
|
||||
|
||||
SetDecayTable(table);
|
||||
}
|
||||
|
||||
// ......................................................................
|
||||
// ... static member definitions ...
|
||||
// ......................................................................
|
||||
//
|
||||
// Arguments for constructor are as follows
|
||||
// name mass width charge
|
||||
// 2*spin parity C-conjugation
|
||||
// 2*Isospin 2*Isospin3 G-parity
|
||||
// type lepton number baryon number PDG encoding
|
||||
// stable lifetime decay table
|
||||
G4MuonPlus G4MuonPlus::theMuonPlus(
|
||||
"mu+", 0.1056584*GeV, 2.99591e-16*MeV, +1.*eplus,
|
||||
if (theInstance !=0) return theInstance;
|
||||
const G4String name = "mu+";
|
||||
// search in particle table]
|
||||
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
|
||||
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
|
||||
if (anInstance ==0)
|
||||
{
|
||||
// create particle
|
||||
//
|
||||
// Arguments for constructor are as follows
|
||||
// name mass width charge
|
||||
// 2*spin parity C-conjugation
|
||||
// 2*Isospin 2*Isospin3 G-parity
|
||||
// type lepton number baryon number PDG encoding
|
||||
// stable lifetime decay table
|
||||
// shortlived subType anti_encoding
|
||||
anInstance = new G4ParticleDefinition(
|
||||
name, 0.1056584*GeV, 2.99591e-16*MeV, +1.*eplus,
|
||||
1, 0, 0,
|
||||
0, 0, 0,
|
||||
"lepton", -1, 0, -13,
|
||||
true, 2197.03*ns, NULL
|
||||
);
|
||||
|
||||
G4MuonPlus* G4MuonPlus::MuonPlusDefinition() {return &theMuonPlus;}
|
||||
|
||||
G4MuonPlus* G4MuonPlus::MuonPlus()
|
||||
{
|
||||
return &theMuonPlus;
|
||||
false, 2197.03*ns, NULL,
|
||||
false, "mu"
|
||||
);
|
||||
//create Decay Table
|
||||
G4DecayTable* table = new G4DecayTable();
|
||||
// create a decay channel
|
||||
G4VDecayChannel* mode = new G4MuonDecayChannel("mu+",1.00);
|
||||
table->Insert(mode);
|
||||
anInstance->SetDecayTable(table);
|
||||
}
|
||||
theInstance = reinterpret_cast<G4MuonPlus*>(anInstance);
|
||||
return theInstance;
|
||||
}
|
||||
|
||||
G4MuonPlus* G4MuonPlus::MuonPlusDefinition()
|
||||
{
|
||||
return Definition();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
G4MuonPlus* G4MuonPlus::MuonPlus()
|
||||
{
|
||||
return Definition();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user