8#ifndef PANDORA_PDG_TABLE_H
9#define PANDORA_PDG_TABLE_H 1
19#define PARTICLE_DATA_TABLE(d) \
20 d(PHOTON, 22, 0.E+00f, 0.E+00f, 0) \
21 d(E_MINUS, 11, 5.10998902E-04f, 0.E+00f, -1) \
22 d(E_PLUS, -11, 5.10998902E-04f, 0.E+00f, +1) \
23 d(MU_MINUS, 13, 1.05658357E-01f, 2.99591E-19f, -1) \
24 d(MU_PLUS, -13, 1.05658357E-01f, 2.99591E-19f, +1) \
25 d(TAU_MINUS, 15, 1.77699E+00f, 2.265E-12f, -1) \
26 d(TAU_PLUS, -15, 1.77699E+00f, 2.265E-12f, +1) \
27 d(NU_E, 12, 0.E+00f, 0.E+00f, 0) \
28 d(NU_E_BAR, -12, 0.E+00f, 0.E+00f, 0) \
29 d(NU_MU, 14, 0.E+00f, 0.E+00f, 0) \
30 d(NU_MU_BAR, -14, 0.E+00f, 0.E+00f, 0) \
31 d(NU_TAU, 16, 0.E+00f, 0.E+00f, 0) \
32 d(NU_TAU_BAR, -16, 0.E+00f, 0.E+00f, 0) \
33 d(PI_PLUS, 211, 1.3957018E-01f, 2.5284E-17f, +1) \
34 d(PI_MINUS, -211, 1.3957018E-01f, 2.5284E-17f, -1) \
35 d(PI_ZERO, 111, 1.349766E-01f, 7.8E-09f, 0) \
36 d(LAMBDA, 3122, 1.115683E+00f, 2.501E-15f, 0) \
37 d(LAMBDA_BAR, -3122, 1.115683E+00f, 2.501E-15f, 0) \
38 d(K_PLUS, 321, 4.93677E-01f, 5.315E-17f, +1) \
39 d(K_MINUS, -321, 4.93677E-01f, 5.315E-17f, -1) \
40 d(K_SHORT, 310, 4.97672E-01f, 7.367E-15f, 0) \
41 d(K_LONG, 130, 4.97672E-01f, 1.272E-17f, 0) \
42 d(SIGMA_MINUS, 3112, 1.1975E+00f, 8.28E-15f, -1) \
43 d(SIGMA_PLUS, 3222, 1.1975E+00f, 8.28E-15f, +1) \
44 d(SIGMA_MINUS_BAR, -3112, 1.1975E+00f, 8.28E-15f, +1) \
45 d(SIGMA_PLUS_BAR, -3222, 1.1975E+00f, 8.28E-15f, -1) \
46 d(HYPERON_ZERO , 3322, 1.31483E+00f, 2.28E-15f, 0) \
47 d(HYPERON_ZERO_BAR, -3322, 1.31483E+00f, 2.28E-15f, 0) \
48 d(HYPERON_MINUS, 3312, 1.32131E+00f, 4.04E-15f, -1) \
49 d(HYPERON_MINUS_BAR, -3312, 1.32131E+00f, 4.04E-15f, +1) \
50 d(PROTON, 2212, 9.3827200E-01f, 0.E+00f, +1) \
51 d(PROTON_BAR, -2212, 9.3827200E-01f, 0.E+00f, -1) \
52 d(NEUTRON, 2112, 9.3956533E-01f, 7.432E-28f, 0) \
53 d(NEUTRON_BAR, -2112, 9.3956533E-01f, 7.432E-28f, 0)
58#define GET_PARTICLE_TYPE_ENTRY(a, b, c, d, e) \
64#define GET_PARTICLE_TYPE_SWITCH(a, b, c, d, e) \
70#define GET_PARTICLE_NAME_SWITCH(a, b, c, d, e) \
71 case a : return std::string(#a);
76#define GET_PARTICLE_PDG_CODE_SWITCH(a, b, c, d, e) \
82#define GET_PARTICLE_MASS_SWITCH(a, b, c, d, e) \
88#define GET_PARTICLE_WIDTH_SWITCH(a, b, c, d, e) \
94#define GET_PARTICLE_CHARGE_SWITCH(a, b, c, d, e) \
#define GET_PARTICLE_TYPE_ENTRY(a, b, c, d, e)
The particle type enum macro.
#define GET_PARTICLE_TYPE_SWITCH(a, b, c, d, e)
The particle type switch statement macro.
#define GET_PARTICLE_WIDTH_SWITCH(a, b, c, d, e)
The width switch statement macro.
#define GET_PARTICLE_MASS_SWITCH(a, b, c, d, e)
The mass switch statement macro.
#define GET_PARTICLE_PDG_CODE_SWITCH(a, b, c, d, e)
The pdg code switch statement macro.
#define GET_PARTICLE_NAME_SWITCH(a, b, c, d, e)
The name switch statement macro.
#define GET_PARTICLE_CHARGE_SWITCH(a, b, c, d, e)
The charge switch statement macro.
#define PARTICLE_DATA_TABLE(d)
Header file defining status codes and relevant preprocessor macros.
static ParticleType GetParticleType(const int pdgCode)
Get the particle type for a given pdg code.
static float GetParticleMass(const int pdgCode)
Get the mass of a particle type.
static int GetParticlePdgCode(const int pdgCode)
Get the pdg code of a particle type.
static int GetParticleCharge(const int pdgCode)
Get the charge of a particle type.
static float GetParticleWidth(const int pdgCode)
Get the width of a particle type.
static std::string GetParticleName(const int pdgCode)
Get the name of a particle type as a string.
StatusCodeException class.
ParticleType
The particle type enum.