Particle Names – pyne.particle

Python wrapper for particle library.

The particle module provides a string & integer based canonical form for particle idenfification, and a more human readable form”

Particle Names: The names are chosen to be concatenated camel case form of regular particle names. For example, “Neutron” or “AntiProton”.

Some common examples & their alternative names

Neutron - Proton Hydrogen, Protium, H1 etc Photon Gamma, X-Ray Electron Beta-, Beta

All alternaive particle names map back to the cannonical form, e.g. Hydrogen maps back to Proton

A valid particle name is ANY particle from the names map, i.e. those that MAP

to the Berkley Particle Data Centre numbering scheme [PDC], and any valid nucid/name, like H1 or 10010000, this is to support the high energy physics codes that some users are starting to employ.

PDC Numbers: The PDC numbers map from those specified by the Berkley Particle Data Centre and only have valid numbers for those in the name map, some valid particle names, like H1, have a PDC number of 0.

Doc strings: The doc strings are human readable versions of the name, with grammar and spaces, like what humans enjoy.

The particle module has a variety of functions to convert between forms, for example the name() function will take either the full name or the pdc number, or a valid nucid and return in its true name form. The same is true of the id() function, returning the valid PDC number of the particle.

Adding more particles!

Adding more particles will be nessesary in time, but it is very straight forward to add more.

  1. add to the define NUM_PARTICLES variable, the number of particles you
are going to add
  1. add the name to the _names array, add the pdc number to the
_pdcids array.
  1. in the _fill_maps() function add the human readable form to the
_docs array.
  1. in the _fill_maps() function add to the altnames map if there are other forms.
  2. in the _fill_maps() function add the mcnp and fluka forms to part2* arrays.

[PDC]http://pdg.lbl.gov/2014/mcdata/mass_width_2014.mcd

pyne.particle.describe(x)

Gives the unique particle name description.

Parameters:x : str, int, or char*
Returns:n : str Unique particle description
pyne.particle.fluka(x)

Gives the unique fluka name for particle.

Parameters:x : str, int, or char*
Returns:n : str Unique particle name
pyne.particle.geant4(x)

Gives the unique geant name for particle.

Parameters:x : str, int, or char*
Returns:n : str Unique particle name
pyne.particle.id(x)

Gives the unique particle id number

Parameters:x : str, int, or char*
Returns:n : int Unique PDC number
pyne.particle.is_heavy_ion(x)

Is the argument a valid particle id

Parameters:x : str, int, or char*
Returns:n : bool true/false
pyne.particle.is_valid(x)

Is the argument a valid particle id

Parameters:x : str, int, or char*
Returns:n : bool true/false
pyne.particle.mcnp(x)

Gives the unique mcnp name for particle.

Parameters:x : str, int, or char*
Returns:n : str Unique particle name
pyne.particle.mcnp6(x)

Gives the unique mcnp6 name for particle.

Parameters:x : str, int, or char*
Returns:n : str Unique particle name
pyne.particle.name(x)

Gives the unique particle name.

Parameters:x : str, int, or char*
Returns:n : str Unique particle name

Particle Listing

Particles:

Particle PDC ID Description
Electron 11 Electron
Positron -11 Anti Electron
ElectronNeutrino 12 Electron Neutrino
ElectronAntiNeutrino -12 Electron Anti Neutrino
Muon 13 Muon
AntiMuon -13 AntiMuon
MuonNeutrino 14 MuonNeutrino
MuonAntiNeutrino -14 MuonAntiNeutrino
Tauon 15 Tauon
AntiTauon -15 AntiTauon
TauNeutrino 16 TauNeutrino
TauAntiNeutrino -16 TauAntiNeutrino
Photon 22 Photon
Pion 211 Pion
AntiPion -211 AntiPion
Kaon 321 Kaon
AntiKaon -321 AntiKaon
KaonZeroShort 310 KaonZeroShort
KaonZero 311 KaonZero
AntiKaonZero -311 AntiKaonZero
Neutron 2112 Neutron
AntiNeutron -2112 AntiNeutron
Proton 2212 Proton
AntiProton -2212 AntiProton
Lambda 3122 Lambda
AntiLambda -3122 AntiLambda
Sigma- 3112 Sigma-
AntiSigma- 3112 AntiSigma-
Sigma+ 3222 Sigma+
AntiSigma+ -3222 AntiSigma+
Sigma 3212 Sigma
AntiSigmaZero -3212 AntiSigmaZero

Particle Aliases:

Alias Particle Name
Hydrogen Proton
Protium Proton
Beta Electron
Beta- Electron
Beta+ Positron
Gamma Photon
X-Ray Photon