Supported particles
The following particles are currently supported:
particle name |
pdg_code |
rest_mass |
charge |
---|---|---|---|
electrons |
11 |
0.511 MeV |
-1.602-19 C |
positrons |
-11 |
0.511 MeV |
1.602-19 C |
gammas |
22 |
0 MeV |
0 C |
protons |
2212 |
938.272 MeV |
1.602-19 C |
neutrons |
2112 |
939.565 MeV |
0 C |
optical_photons |
0 |
0 MeV |
0 C |
Adding new particles
Adding new particles is simple:p
update the
particle_properties
dictionary inParticlePhaseSpace.__particle_config__.py
:particle_properties = { 'some_new_particle': {'rest_mass': rest_mass_in_MeV/C^2, 'charge': charge_in_coulombs, 'pdg_code': pdg_code} }
Below the dictionary definition, add an alias for the particle. This enables various parts of the code to operate using either particle names or pdg_codes:
particle_properties[pdg_code_new_particle] = particle_properties['some_new_particle']
Update the documents above with the new particle so the tests pass