Version: SMASH-3.4
pdgcode_constants.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright (c) 2016-2021,2023-2026
4  * SMASH Team
5  *
6  * GNU General Public License (GPLv3 or later)
7  *
8  */
9 
10 #ifndef SRC_INCLUDE_SMASH_PDGCODE_CONSTANTS_H_
11 #define SRC_INCLUDE_SMASH_PDGCODE_CONSTANTS_H_
12 
13 namespace smash {
14 /**
15  * Constants representing PDG codes.
16  *
17  * '_p' is short for '+', '_pp' for '++', '_m' for '-' and '_z' for '0'.
18  */
19 namespace pdg {
20 
21 /// Invalid particle.
22 constexpr int invalid = 0x0;
23 
24 /// Photon.
25 constexpr int photon = 0x22;
26 
27 /// Electron
28 constexpr int e_m = 0x11;
29 
30 /// Positron
31 constexpr int e_p = -0x11;
32 
33 /// Proton.
34 constexpr int p = 0x2212;
35 /// Neutron.
36 constexpr int n = 0x2112;
37 
38 /// N(1520)⁺.
39 constexpr int N1520_p = 0x2124;
40 /// N(1520)⁰.
41 constexpr int N1520_z = 0x1214;
42 
43 /// N(1535)⁺.
44 constexpr int N1535_p = 0x22212;
45 /// N(1535)⁰.
46 constexpr int N1535_z = 0x22112;
47 
48 /// Δ⁺⁺.
49 constexpr int Delta_pp = 0x2224;
50 /// Δ⁺.
51 constexpr int Delta_p = 0x2214;
52 /// Δ⁰.
53 constexpr int Delta_z = 0x2114;
54 /// Δ⁻.
55 constexpr int Delta_m = 0x1114;
56 
57 /// Λ.
58 constexpr int Lambda = 0x3122;
59 /// Σ⁺.
60 constexpr int Sigma_p = 0x3222;
61 /// Σ⁰.
62 constexpr int Sigma_z = 0x3212;
63 /// Σ⁻.
64 constexpr int Sigma_m = 0x3112;
65 /// Σ*⁺
66 constexpr int Sigma_star_p = 0x3224;
67 /// Σ*⁰
68 constexpr int Sigma_star_z = 0x3214;
69 /// Σ*⁻
70 constexpr int Sigma_star_m = 0x3114;
71 /// Ξ⁰.
72 constexpr int Xi_z = 0x3322;
73 /// Ξ⁻.
74 constexpr int Xi_m = 0x3312;
75 /// Ω⁻.
76 constexpr int Omega_m = 0x3334;
77 
78 /// π⁺.
79 constexpr int pi_p = 0x211;
80 /// π⁰.
81 constexpr int pi_z = 0x111;
82 /// π⁻.
83 constexpr int pi_m = -0x211;
84 
85 /// K⁺.
86 constexpr int K_p = 0x321;
87 /// K⁰.
88 constexpr int K_z = 0x311;
89 /// K̄⁰.
90 constexpr int Kbar_z = -0x311;
91 /// K̄⁻.
92 constexpr int K_m = -0x321;
93 
94 /// η.
95 constexpr int eta = 0x221;
96 /// ω.
97 constexpr int omega = 0x223;
98 
99 /// ρ⁺.
100 constexpr int rho_p = 0x213;
101 /// ρ⁰.
102 constexpr int rho_z = 0x113;
103 /// ρ⁻.
104 constexpr int rho_m = -0x213;
105 
106 /// D⁺.
107 constexpr int D_p = 0x411;
108 /// D⁰.
109 constexpr int D_z = 0x421;
110 /// D⁻.
111 constexpr int D_m = -0x411;
112 /// D̄⁰.
113 constexpr int Dbar_z = -0x421;
114 
115 /// D*(2010)⁺.
116 constexpr int Dstar_p = 0x413;
117 /// D*(2010)⁻.
118 constexpr int Dstar_m = -0x413;
119 /// D*(2007)⁰.
120 constexpr int Dstar_z = 0x423;
121 /// D̄*(2007)⁰.
122 constexpr int Dstarbar_z = -0x423;
123 
124 /// h₁(1170).
125 constexpr int h1 = 0x10223;
126 
127 /*
128  * Constants representing PDG codes of nuclei.
129  */
130 
131 /// Deuteron.
132 constexpr int64_t deuteron = 0x1000010020;
133 /// Anti-deuteron in decimal digits.
134 constexpr int64_t antideuteron = -0x1000010020;
135 /// Deuteron-prime resonance.
136 constexpr int64_t dprime = 0x1000010021;
137 /// Triton.
138 constexpr int64_t triton = 0x1000010030;
139 /// Anti-triton.
140 constexpr int64_t antitriton = -0x1000010030;
141 /// He-3
142 constexpr int64_t he3 = 0x1000020030;
143 /// Anti-He-3
144 constexpr int64_t antihe3 = -0x1000020030;
145 /// Hypertriton
146 constexpr int64_t hypertriton = 0x1010010030;
147 /// Anti-Hypertriton
148 constexpr int64_t antihypertriton = -0x1010010030;
149 
150 } // namespace pdg
151 
152 /**
153  * Pack two int32_t into an uint64_t.
154  * This is useful for switch statements on pairs.
155  *
156  * \param x First integer to be packed.
157  * \param y Second integer to be packed.
158  * \return Combined integer.
159  */
160 constexpr uint64_t pack(int32_t x, int32_t y) {
161  return (static_cast<uint64_t>(static_cast<uint32_t>(x)) << 32) |
162  static_cast<uint64_t>(static_cast<uint32_t>(y));
163  // Casting to an intermediate 32-bit integer is important!
164 }
165 
166 } // namespace smash
167 
168 #endif // SRC_INCLUDE_SMASH_PDGCODE_CONSTANTS_H_
constexpr int pi_p
π⁺.
constexpr int rho_p
ρ⁺.
constexpr int Delta_p
Δ⁺.
constexpr int rho_m
ρ⁻.
constexpr int Delta_pp
Δ⁺⁺.
constexpr int64_t antideuteron
Anti-deuteron in decimal digits.
constexpr int Sigma_m
Σ⁻.
constexpr int64_t triton
Triton.
constexpr int Dstar_p
D*(2010)⁺.
constexpr int D_z
D⁰.
constexpr int Dbar_z
D̄⁰.
constexpr int64_t antihe3
Anti-He-3.
constexpr int K_p
K⁺.
constexpr int N1520_z
N(1520)⁰.
constexpr int K_z
K⁰.
constexpr int Sigma_star_z
Σ*⁰
constexpr int p
Proton.
constexpr int h1
h₁(1170).
constexpr int64_t hypertriton
Hypertriton.
constexpr int omega
ω.
constexpr int N1535_z
N(1535)⁰.
constexpr int K_m
K̄⁻.
constexpr int64_t antihypertriton
Anti-Hypertriton.
constexpr int eta
η.
constexpr int Sigma_star_p
Σ*⁺
constexpr int64_t antitriton
Anti-triton.
constexpr int64_t dprime
Deuteron-prime resonance.
constexpr int Xi_m
Ξ⁻.
constexpr int Xi_z
Ξ⁰.
constexpr int Dstarbar_z
D̄*(2007)⁰.
constexpr int Omega_m
Ω⁻.
constexpr int pi_z
π⁰.
constexpr int n
Neutron.
constexpr int64_t deuteron
Deuteron.
constexpr int Delta_m
Δ⁻.
constexpr int photon
Photon.
constexpr int N1520_p
N(1520)⁺.
constexpr int Delta_z
Δ⁰.
constexpr int rho_z
ρ⁰.
constexpr int Sigma_star_m
Σ*⁻
constexpr int invalid
Invalid particle.
constexpr int Lambda
Λ.
constexpr int pi_m
π⁻.
constexpr int Dstar_m
D*(2010)⁻.
constexpr int e_p
Positron.
constexpr int e_m
Electron.
constexpr int N1535_p
N(1535)⁺.
constexpr int Sigma_p
Σ⁺.
constexpr int Dstar_z
D*(2007)⁰.
constexpr int Kbar_z
K̄⁰.
constexpr int Sigma_z
Σ⁰.
constexpr int64_t he3
He-3.
constexpr int D_m
D⁻.
constexpr int D_p
D⁺.
Definition: action.h:24
constexpr uint64_t pack(int32_t x, int32_t y)
Pack two int32_t into an uint64_t.