PDGUtils.cxx
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*
3  Copyright (c) 2003-2020, The GENIE Collaboration
4  For the full text of the license visit http://copyright.genie-mc.org
5 
6  Costas Andreopoulos <constantinos.andreopoulos \at cern.ch>
7  University of Liverpool & STFC Rutherford Appleton Laboratory
8 
9  Changes required to implement the GENIE Boosted Dark Matter module
10  were installed by Josh Berger (Univ. of Wisconsin)
11 */
12 //____________________________________________________________________________
13 
14 #include <cassert>
15 
20 
21 using namespace genie;
22 
23 //____________________________________________________________________________
25 {
26 // ROOT's rootino has PDG code=0
27 // GENIE pseudoparticles are in the 2000000000-2000100000 range
28 // Include PYTHIA's pseudoparticles
29 
30  bool is_fake =
31  ( (pdgc == 0) ||
32  (pdgc > 2000000000 && pdgc < 2000100000) ||
33  (pdgc == kPdgCluster || pdgc == kPdgString || pdgc == kPdgIndep)
34  );
35 
36  return is_fake;
37 }
38 //____________________________________________________________________________
39 bool genie::pdg::IsIon(int pdgc)
40 {
41  return (pdgc > 1000000000 && pdgc < 1999999999);
42 }
43 //____________________________________________________________________________
44 bool genie::pdg::IsParticle(int pdgc)
45 {
46  if( genie::pdg::IsPseudoParticle (pdgc) ) return false;
47  if( genie::pdg::IsIon (pdgc) ) return false;
48 
49  return true;
50 }
51 //____________________________________________________________________________
52 int genie::pdg::IonPdgCodeToZ(int ion_pdgc)
53 {
54 // Decoding Z from the PDG code (PDG ion code convention: 10LZZZAAAI)
55 
56  int Z = (ion_pdgc/10000) - 1000*(ion_pdgc/10000000); // don't factor out!
57  return Z;
58 }
59 //____________________________________________________________________________
60 int genie::pdg::IonPdgCodeToA(int ion_pdgc)
61 {
62 // Decoding A from the PDG code (PDG ion code convention: 10LZZZAAAI)
63 
64  int A = (ion_pdgc/10) - 1000*(ion_pdgc/10000); // don't factor out!
65  return A;
66 }
67 //____________________________________________________________________________
68 int genie::pdg::IonPdgCode(int A, int Z)
69 {
70 // Build ion PDG code from A,Z
71 
72  return IonPdgCode(A,Z,0,0);
73 }
74 //____________________________________________________________________________
75 int genie::pdg::IonPdgCode(int A, int Z, int L, int I)
76 {
77 // Build ion PDG code from A,Z,L,I
78 
79  int ion_pdgc = 1000000000 + L*100000000 + Z*10000 + A*10 + I;
80  return ion_pdgc;
81 }
82 //____________________________________________________________________________
83 bool genie::pdg::IsLepton(int pdgc)
84 {
85  bool is_neutral_lepton = genie::pdg::IsNeutralLepton(pdgc);
86  bool is_charged_lepton = genie::pdg::IsChargedLepton(pdgc);
87 
88  bool is_lepton = (is_neutral_lepton || is_charged_lepton);
89  return is_lepton;
90 }
91 //____________________________________________________________________________
93 {
94  bool is_neutral_lepton = IsNeutrino(pdgc) || IsAntiNeutrino(pdgc);
95  return is_neutral_lepton;
96 }
97 //____________________________________________________________________________
99 {
100  bool is_neg_lepton = genie::pdg::IsNegChargedLepton(pdgc);
101  bool is_pos_lepton = genie::pdg::IsPosChargedLepton(pdgc);
102 
103  bool is_charged_lepton = is_neg_lepton || is_pos_lepton;
104  return is_charged_lepton;
105 }
106 //____________________________________________________________________________
108 {
109  bool is_nu = (pdgc == kPdgNuE) ||
110  (pdgc == kPdgNuMu) ||
111  (pdgc == kPdgNuTau);
112  return is_nu;
113 }
114 //____________________________________________________________________________
116 {
117  bool is_nubar = (pdgc == kPdgAntiNuE) ||
118  (pdgc == kPdgAntiNuMu) ||
119  (pdgc == kPdgAntiNuTau);
120 
121  return is_nubar;
122 }
123 //____________________________________________________________________________
125 {
126  bool is_dm = (pdgc == kPdgDarkMatter);
127  return is_dm;
128 }
129 //____________________________________________________________________________
131 {
132  bool is_dmbar = (pdgc == kPdgAntiDarkMatter);
133  return is_dmbar;
134 }
135 //____________________________________________________________________________
137 {
138  bool is_neg_lepton = (pdgc == kPdgElectron) ||
139  (pdgc == kPdgMuon) ||
140  (pdgc == kPdgTau);
141 
142  return is_neg_lepton;
143 }
144 //____________________________________________________________________________
146 {
147  bool is_pos_lepton = (pdgc == kPdgPositron) ||
148  (pdgc == kPdgAntiMuon) ||
149  (pdgc == kPdgAntiTau);
150 
151  return is_pos_lepton;
152 }
153 //____________________________________________________________________________
154 
155 bool genie::pdg::IsNuE(int pdgc)
156 {
157  return (pdgc == kPdgNuE);
158 }
159 //____________________________________________________________________________
160 bool genie::pdg::IsNuMu(int pdgc)
161 {
162  return (pdgc == kPdgNuMu);
163 }
164 //____________________________________________________________________________
165 bool genie::pdg::IsNuTau(int pdgc)
166 {
167  return (pdgc == kPdgNuTau);
168 }
169 //____________________________________________________________________________
170 bool genie::pdg::IsAntiNuE(int pdgc)
171 {
172  return (pdgc == kPdgAntiNuE);
173 }
174 //____________________________________________________________________________
176 {
177  return (pdgc == kPdgAntiNuMu);
178 }
179 //____________________________________________________________________________
181 {
182  return (pdgc == kPdgAntiNuTau);
183 }
184 //____________________________________________________________________________
186 {
187  return (pdgc == kPdgElectron);
188 }
189 //____________________________________________________________________________
191 {
192  return (pdgc == kPdgPositron);
193 }
194 //____________________________________________________________________________
195 bool genie::pdg::IsMuon(int pdgc)
196 {
197  return (pdgc == kPdgMuon);
198 }
199 //____________________________________________________________________________
201 {
202  return (pdgc == kPdgAntiMuon);
203 }
204 //____________________________________________________________________________
205 bool genie::pdg::IsTau(int pdgc)
206 {
207  return (pdgc == kPdgTau);
208 }
209 //____________________________________________________________________________
210 bool genie::pdg::IsAntiTau(int pdgc)
211 {
212  return (pdgc == kPdgAntiTau);
213 }
214 //____________________________________________________________________________
216 {
217  switch(pdgc) {
218  case (kPdgNuE) : return kPdgElectron; break;
219  case (kPdgAntiNuE) : return kPdgPositron; break;
220  case (kPdgNuMu) : return kPdgMuon; break;
221  case (kPdgAntiNuMu) : return kPdgAntiMuon; break;
222  case (kPdgNuTau) : return kPdgTau; break;
223  case (kPdgAntiNuTau): return kPdgAntiTau; break;
224  }
225  return -1;
226 }
227 //____________________________________________________________________________
228 bool genie::pdg::IsDiQuark(int pdgc)
229 {
230  return ( pdgc == kPdgDDDiquarkS1 || pdgc == kPdgUDDiquarkS0 ||
231  pdgc == kPdgUDDiquarkS1 || pdgc == kPdgUUDiquarkS1 ||
232  pdgc == kPdgSDDiquarkS0 || pdgc == kPdgSDDiquarkS1 ||
233  pdgc == kPdgSUDiquarkS0 || pdgc == kPdgSUDiquarkS1 ||
234  pdgc == kPdgSSDiquarkS1 ||
235  pdgc == kPdgCDDiquarkS0 || pdgc == kPdgCDDiquarkS1 ||
236  pdgc == kPdgCUDiquarkS0 || pdgc == kPdgCUDiquarkS1 ||
237  pdgc == kPdgCSDiquarkS0 || pdgc == kPdgCSDiquarkS1 ||
238  pdgc == kPdgCCDiquarkS1 ||
239  pdgc == kPdgBDDiquarkS0 || pdgc == kPdgBDDiquarkS1 ||
240  pdgc == kPdgBUDiquarkS0 || pdgc == kPdgBUDiquarkS1 ||
241  pdgc == kPdgBSDiquarkS0 || pdgc == kPdgBSDiquarkS1 ||
242  pdgc == kPdgBCDiquarkS0 || pdgc == kPdgBCDiquarkS1 ||
243  pdgc == kPdgBBDiquarkS1
244  );
245 }
246 //____________________________________________________________________________
247 bool genie::pdg::IsQuark(int pdgc)
248 {
249  return ( pdgc == kPdgDQuark || pdgc == kPdgUQuark ||
250  pdgc == kPdgSQuark || pdgc == kPdgCQuark ||
251  pdgc == kPdgBQuark || pdgc == kPdgTQuark
252  );
253 }
254 //____________________________________________________________________________
256 {
257  return ( pdgc == kPdgAntiDQuark || pdgc == kPdgAntiUQuark ||
258  pdgc == kPdgAntiSQuark || pdgc == kPdgAntiCQuark ||
259  pdgc == kPdgAntiBQuark || pdgc == kPdgAntiTQuark
260  );
261 }
262 //____________________________________________________________________________
263 bool genie::pdg::IsUQuark(int pdgc)
264 {
265  return (pdgc == kPdgUQuark);
266 }
267 //____________________________________________________________________________
268 bool genie::pdg::IsDQuark(int pdgc)
269 {
270  return (pdgc == kPdgDQuark);
271 }
272 //____________________________________________________________________________
273 bool genie::pdg::IsSQuark(int pdgc)
274 {
275  return (pdgc == kPdgSQuark);
276 }
277 //____________________________________________________________________________
278 bool genie::pdg::IsCQuark(int pdgc)
279 {
280  return (pdgc == kPdgCQuark);
281 }
282 //____________________________________________________________________________
283 bool genie::pdg::IsBQuark(int pdgc)
284 {
285  return (pdgc == kPdgBQuark);
286 }
287 //____________________________________________________________________________
288 bool genie::pdg::IsTQuark(int pdgc)
289 {
290  return (pdgc == kPdgTQuark);
291 }
292 //____________________________________________________________________________
294 {
295  return (pdgc == kPdgAntiUQuark);
296 }
297 //____________________________________________________________________________
299 {
300  return (pdgc == kPdgAntiDQuark);
301 }
302 //____________________________________________________________________________
304 {
305  return (pdgc == kPdgAntiSQuark);
306 }
307 //____________________________________________________________________________
309 {
310  return (pdgc == kPdgAntiCQuark);
311 }
312 //____________________________________________________________________________
314 {
315  return (pdgc == kPdgAntiBQuark);
316 }
317 //____________________________________________________________________________
319 {
320  return (pdgc == kPdgAntiTQuark);
321 }
322 //____________________________________________________________________________
323 bool genie::pdg::IsPion(int pdgc)
324 {
325  return (pdgc == kPdgPiP || pdgc == kPdgPi0 || pdgc == kPdgPiM);
326 }
327 //____________________________________________________________________________
328 bool genie::pdg::IsKaon(int pdgc)
329 {
330  return (pdgc == kPdgKP || pdgc == kPdgK0 || pdgc == kPdgKM);
331 }
332 //____________________________________________________________________________
333 bool genie::pdg::IsProton(int pdgc)
334 {
335  return (pdgc == kPdgProton);
336 }
337 //____________________________________________________________________________
338 bool genie::pdg::IsNeutron(int pdgc)
339 {
340  return (pdgc == kPdgNeutron);
341 }
342 //____________________________________________________________________________
343 bool genie::pdg::IsNucleon(int pdgc)
344 {
345  return (pdgc == kPdgNeutron || pdgc == kPdgProton);
346 }
347 //____________________________________________________________________________
349 {
350  return (pdgc == kPdgNeutron || pdgc == kPdgProton);
351 }
352 //____________________________________________________________________________
354 {
355  assert(IsProton(pdgc) || IsNeutron(pdgc));
356 
357  if (IsProton(pdgc)) return kPdgNeutron;
358  else return kPdgProton;
359 }
360 //____________________________________________________________________________
361 int genie::pdg::ModifyNucleonCluster(int pdgc, int dQ)
362 {
363  assert(pdg::Is2NucleonCluster(pdgc));
364 
365  if(pdgc == kPdgClusterNN) {
366  if (dQ == 0) { return kPdgClusterNN; }
367  else if (dQ == +1) { return kPdgClusterNP; }
368  else if (dQ == +2) { return kPdgClusterPP; }
369  else { return 0; }
370  }
371  else
372  if(pdgc == kPdgClusterNP) {
373  if (dQ == -1) { return kPdgClusterNN; }
374  else if (dQ == 0) { return kPdgClusterNP; }
375  else if (dQ == +1) { return kPdgClusterPP; }
376  else { return 0; }
377  }
378  else
379  if(pdgc == kPdgClusterPP) {
380  if (dQ == -2) { return kPdgClusterNN; }
381  else if (dQ == -1) { return kPdgClusterNP; }
382  else if (dQ == 0) { return kPdgClusterPP; }
383  else { return 0; }
384  }
385 
386  return 0;
387 }
388 //____________________________________________________________________________
389 bool genie::pdg::IsHadron(int pdgc)
390 {
391  return ((pdgc>=100 && pdgc<=9999) || (pdgc>=-9999 && pdgc<=-100));
392 }
393 //____________________________________________________________________________
395 {
396  return utils::res::IsBaryonResonance(pdgc);
397 }
398 //____________________________________________________________________________
400 {
401  return (
402  pdgc == kPdgClusterNN ||
403  pdgc == kPdgClusterNP ||
404  pdgc == kPdgClusterPP
405  );
406 }
407 //____________________________________________________________________________
409 {
410  return (
411  pdgc == kPdgDarkNeutrino ||
412  pdgc == kPdgDNuMediator
413  );
414 }
415 //____________________________________________________________________________
416 int genie::pdg::GeantToPdg(int geant_code)
417 {
418  if(geant_code == 3) return kPdgElectron; // 11 / e-
419  if(geant_code == 2) return kPdgPositron; // -11 / e+
420  if(geant_code == 6) return kPdgMuon; // 13 / mu-
421  if(geant_code == 5) return kPdgAntiMuon; // -13 / mu+
422  if(geant_code == 34) return kPdgTau; // 15 / tau-
423  if(geant_code == 33) return kPdgAntiTau; // -15 / tau+
424  if(geant_code == 8) return kPdgPiP; // 211 / pi+
425  if(geant_code == 9) return kPdgPiM; // -211 / pi-
426  if(geant_code == 7) return kPdgPi0; // 111 / pi0
427  if(geant_code == 17) return kPdgEta; // 221 / eta
428  if(geant_code == 11) return kPdgKP; // 321 / K+
429  if(geant_code == 12) return kPdgKM; // -321 / K-
430  if(geant_code == 10) return kPdgK0L; // 130 / K0_{long}
431  if(geant_code == 16) return kPdgK0S; // 310 / K0_{short}
432  if(geant_code == 35) return kPdgDP; // 411 / D+
433  if(geant_code == 36) return kPdgDM; // -411 / D-
434  if(geant_code == 37) return kPdgD0; // 421 / D0
435  if(geant_code == 38) return kPdgAntiD0; // -421 / \bar{D0}
436  if(geant_code == 39) return kPdgDPs; // 431 / D+_{s}
437  if(geant_code == 40) return kPdgDMs; // -431 / D-_{s}
438  if(geant_code == 1) return kPdgGamma; // 22 / photon
439  if(geant_code == 44) return kPdgZ0; // 23 / Z
440  if(geant_code == 42) return kPdgWP; // 24 / W+
441  if(geant_code == 43) return kPdgWM; // -24 / W-
442  if(geant_code == 14) return kPdgProton; // 2212
443  if(geant_code == 15) return kPdgAntiProton; // -2212
444  if(geant_code == 13) return kPdgNeutron; // 2112
445  if(geant_code == 25) return kPdgAntiNeutron; // -2112
446  if(geant_code == 18) return kPdgLambda; // 3122 / Lambda
447  if(geant_code == 26) return kPdgAntiLambda; // -3122 / \bar{Lambda}
448  if(geant_code == 19) return kPdgSigmaP; // 3222 / Sigma+
449  if(geant_code == 20) return kPdgSigma0; // 3212 / Sigma0
450  if(geant_code == 21) return kPdgSigmaM; // 3112 / Sigma-
451  if(geant_code == 29) return kPdgAntiSigmaP; // -3112 / \bar{Sigma+}
452  if(geant_code == 28) return kPdgAntiSigma0; // -3212 / \bar{Sigma0}
453  if(geant_code == 27) return kPdgAntiSigmaM; // -3112 / \bar{Sigma-}
454  if(geant_code == 22) return kPdgXi0; // 3322 / Xi0
455  if(geant_code == 23) return kPdgXiM; // 3312 / Xi-
456  if(geant_code == 30) return kPdgAntiXi0; // -3322 / \bar{Xi0}
457  if(geant_code == 31) return kPdgAntiXiP; // -3312 / \bar{Xi+}
458  if(geant_code == 24) return kPdgOmegaM; // 3334 / Omega-
459  if(geant_code == 32) return kPdgAntiOmegaP; // -3334 / \bar{Omega+}
460 
461  // some rare Geant3 codes that don't really need definitions in PDGCodes.h
462  const int kPdgDeuteron = 1000010020; // pdg::IonPdgCode(2,1);
463  const int kPdgTritium = 1000010030; // pdg::IonPdgCode(3,1);
464  const int kPdgAlpha = 1000020040; // pdg::IonPdgCode(4,2);
465  const int kPdgHe3 = 1000020030; // pdg::IonPdgCode(3,2);
466  if(geant_code == 45) return kPdgDeuteron;
467  if(geant_code == 46) return kPdgTritium;
468  if(geant_code == 47) return kPdgAlpha;
469  if(geant_code == 49) return kPdgHe3;
470 
471  LOG("PDG", pWARN)
472  << "Can not convert geant code: " << geant_code << " to PDG";
473  return 0;
474 }
475 //____________________________________________________________________________
const int kPdgAntiD0
Definition: PDGCodes.h:184
bool IsBQuark(int pdgc)
Definition: PDGUtils.cxx:283
const int kPdgBUDiquarkS0
Definition: PDGCodes.h:73
const int kPdgDPs
Definition: PDGCodes.h:185
const int kPdgUUDiquarkS1
Definition: PDGCodes.h:58
bool IsPion(int pdgc)
Definition: PDGUtils.cxx:323
bool IsNuTau(int pdgc)
Definition: PDGUtils.cxx:165
const int kPdgAntiXi0
Definition: PDGCodes.h:95
bool IsParticle(int pdgc)
not ion or pseudo-particle
Definition: PDGUtils.cxx:44
const int kPdgXi0
Definition: PDGCodes.h:93
const int kPdgNuE
Definition: PDGCodes.h:28
bool IsNeutrino(int pdgc)
Definition: PDGUtils.cxx:107
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
const int kPdgSDDiquarkS1
Definition: PDGCodes.h:60
const int kPdgLambda
Definition: PDGCodes.h:85
bool IsUQuark(int pdgc)
Definition: PDGUtils.cxx:263
const int kPdgBCDiquarkS0
Definition: PDGCodes.h:77
const int kPdgBQuark
Definition: PDGCodes.h:50
const int kPdgAntiSigma0
Definition: PDGCodes.h:91
bool IsNucleon(int pdgc)
Definition: PDGUtils.cxx:343
const int kPdgClusterNP
Definition: PDGCodes.h:215
const int kPdgBCDiquarkS1
Definition: PDGCodes.h:78
const int kPdgAntiNuE
Definition: PDGCodes.h:29
const int kPdgWM
Definition: PDGCodes.h:192
const int kPdgBUDiquarkS1
Definition: PDGCodes.h:74
const int kPdgSUDiquarkS1
Definition: PDGCodes.h:62
const int kPdgDarkMatter
Definition: PDGCodes.h:218
const int kPdgUQuark
Definition: PDGCodes.h:42
const int kPdgNuMu
Definition: PDGCodes.h:30
int IonPdgCodeToA(int pdgc)
Definition: PDGUtils.cxx:60
const int kPdgSUDiquarkS0
Definition: PDGCodes.h:61
bool IsAntiNuTau(int pdgc)
Definition: PDGUtils.cxx:180
bool IsNuE(int pdgc)
Definition: PDGUtils.cxx:155
int SwitchProtonNeutron(int pdgc)
Definition: PDGUtils.cxx:353
bool IsAntiQuark(int pdgc)
Definition: PDGUtils.cxx:255
const int kPdgAntiMuon
Definition: PDGCodes.h:38
const int kPdgSSDiquarkS1
Definition: PDGCodes.h:63
bool IsDarkMatter(int pdgc)
Definition: PDGUtils.cxx:124
const int kPdgSigma0
Definition: PDGCodes.h:88
bool IsChargedLepton(int pdgc)
Definition: PDGUtils.cxx:98
bool IsTQuark(int pdgc)
Definition: PDGUtils.cxx:288
bool IsSQuark(int pdgc)
Definition: PDGUtils.cxx:273
bool IsKaon(int pdgc)
Definition: PDGUtils.cxx:328
bool IsAntiSQuark(int pdgc)
Definition: PDGUtils.cxx:303
const int kPdgElectron
Definition: PDGCodes.h:35
const int kPdgCSDiquarkS1
Definition: PDGCodes.h:69
bool IsAntiDQuark(int pdgc)
Definition: PDGUtils.cxx:298
const int kPdgZ0
Definition: PDGCodes.h:190
const int kPdgSQuark
Definition: PDGCodes.h:46
const int kPdgClusterNN
Definition: PDGCodes.h:214
const int kPdgCDDiquarkS1
Definition: PDGCodes.h:65
const int kPdgK0
Definition: PDGCodes.h:174
int ModifyNucleonCluster(int pdgc, int dQ)
Definition: PDGUtils.cxx:361
const int kPdgCSDiquarkS0
Definition: PDGCodes.h:68
const int kPdgSDDiquarkS0
Definition: PDGCodes.h:59
const int kPdgCQuark
Definition: PDGCodes.h:48
bool IsHadron(int pdgc)
Definition: PDGUtils.cxx:389
bool IsNeutron(int pdgc)
Definition: PDGUtils.cxx:338
bool IsPosChargedLepton(int pdgc)
Definition: PDGUtils.cxx:145
bool IsNuMu(int pdgc)
Definition: PDGUtils.cxx:160
const int kPdgBBDiquarkS1
Definition: PDGCodes.h:79
const int kPdgAntiUQuark
Definition: PDGCodes.h:43
int GeantToPdg(int geant_code)
Definition: PDGUtils.cxx:416
const int kPdgCDDiquarkS0
Definition: PDGCodes.h:64
bool IsProton(int pdgc)
Definition: PDGUtils.cxx:333
const int kPdgAntiOmegaP
Definition: PDGCodes.h:98
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:96
const int kPdgTau
Definition: PDGCodes.h:39
const int kPdgBDDiquarkS0
Definition: PDGCodes.h:71
bool IsAntiDarkMatter(int pdgc)
Definition: PDGUtils.cxx:130
const int kPdgUDDiquarkS1
Definition: PDGCodes.h:57
const int kPdgAntiDarkMatter
Definition: PDGCodes.h:219
const int kPdgKM
Definition: PDGCodes.h:173
const int kPdgGamma
Definition: PDGCodes.h:189
bool IsAntiNeutrino(int pdgc)
Definition: PDGUtils.cxx:115
const int kPdgAntiDQuark
Definition: PDGCodes.h:45
bool IsDiQuark(int pdgc)
Definition: PDGUtils.cxx:228
bool IsAntiTQuark(int pdgc)
Definition: PDGUtils.cxx:318
const int kPdgIndep
Definition: PDGCodes.h:231
bool IsAntiMuon(int pdgc)
Definition: PDGUtils.cxx:200
const int kPdgKP
Definition: PDGCodes.h:172
const int kPdgBSDiquarkS0
Definition: PDGCodes.h:75
bool IsTau(int pdgc)
Definition: PDGUtils.cxx:205
const int kPdgEta
Definition: PDGCodes.h:161
const int kPdgPiP
Definition: PDGCodes.h:158
const int kPdgPi0
Definition: PDGCodes.h:160
const int kPdgString
Definition: PDGCodes.h:230
bool IsAntiBQuark(int pdgc)
Definition: PDGUtils.cxx:313
const int kPdgDQuark
Definition: PDGCodes.h:44
const int kPdgBSDiquarkS1
Definition: PDGCodes.h:76
const int kPdgTQuark
Definition: PDGCodes.h:52
bool IsPositron(int pdgc)
Definition: PDGUtils.cxx:190
bool IsMuon(int pdgc)
Definition: PDGUtils.cxx:195
const int kPdgK0L
Definition: PDGCodes.h:176
const int kPdgOmegaM
Definition: PDGCodes.h:97
const int kPdgAntiTQuark
Definition: PDGCodes.h:53
const int kPdgUDDiquarkS0
Definition: PDGCodes.h:56
const int kPdgAntiNuTau
Definition: PDGCodes.h:33
const int kPdgAntiNuMu
Definition: PDGCodes.h:31
bool IsAntiNuMu(int pdgc)
Definition: PDGUtils.cxx:175
#define pWARN
Definition: Messenger.h:60
const int kPdgCUDiquarkS1
Definition: PDGCodes.h:67
const int kPdgSigmaM
Definition: PDGCodes.h:89
bool IsNeutralLepton(int pdgc)
Definition: PDGUtils.cxx:92
const int kPdgAntiSQuark
Definition: PDGCodes.h:47
const int kPdgDP
Definition: PDGCodes.h:181
const int kPdgAntiSigmaM
Definition: PDGCodes.h:92
bool Is2NucleonCluster(int pdgc)
Definition: PDGUtils.cxx:399
const int kPdgNuTau
Definition: PDGCodes.h:32
const int kPdgDNuMediator
Definition: PDGCodes.h:224
const int kPdgXiM
Definition: PDGCodes.h:94
bool IsIon(int pdgc)
Definition: PDGUtils.cxx:39
bool IsCQuark(int pdgc)
Definition: PDGUtils.cxx:278
const int kPdgAntiNeutron
Definition: PDGCodes.h:84
bool IsQuark(int pdgc)
Definition: PDGUtils.cxx:247
const int kPdgDMs
Definition: PDGCodes.h:186
bool IsAntiCQuark(int pdgc)
Definition: PDGUtils.cxx:308
bool IsPseudoParticle(int pdgc)
Definition: PDGUtils.cxx:24
bool IsNeutronOrProton(int pdgc)
Definition: PDGUtils.cxx:348
const int kPdgAntiCQuark
Definition: PDGCodes.h:49
bool IsDQuark(int pdgc)
Definition: PDGUtils.cxx:268
const int kPdgDM
Definition: PDGCodes.h:182
int IonPdgCode(int A, int Z)
Definition: PDGUtils.cxx:68
bool IsDarkSectorParticle(int pdgc)
Definition: PDGUtils.cxx:408
const int kPdgAntiBQuark
Definition: PDGCodes.h:51
const int kPdgCCDiquarkS1
Definition: PDGCodes.h:70
const int kPdgAntiProton
Definition: PDGCodes.h:82
#define A
Definition: memgrp.cpp:38
int Neutrino2ChargedLepton(int pdgc)
Definition: PDGUtils.cxx:215
const int kPdgPiM
Definition: PDGCodes.h:159
const int kPdgAntiTau
Definition: PDGCodes.h:40
const int kPdgSigmaP
Definition: PDGCodes.h:87
bool IsBaryonResonance(int pdgc)
is input a baryon resonance?
const int kPdgAntiXiP
Definition: PDGCodes.h:96
int IonPdgCodeToZ(int pdgc)
Definition: PDGUtils.cxx:52
bool IsBaryonResonance(int pdgc)
Definition: PDGUtils.cxx:394
const int kPdgProton
Definition: PDGCodes.h:81
const int kPdgCluster
Definition: PDGCodes.h:229
const int kPdgAntiLambda
Definition: PDGCodes.h:86
const int kPdgMuon
Definition: PDGCodes.h:37
const int kPdgK0S
Definition: PDGCodes.h:177
const int kPdgAntiSigmaP
Definition: PDGCodes.h:90
const int kPdgPositron
Definition: PDGCodes.h:36
const int kPdgNeutron
Definition: PDGCodes.h:83
const int kPdgDarkNeutrino
Definition: PDGCodes.h:222
const int kPdgWP
Definition: PDGCodes.h:191
const int kPdgD0
Definition: PDGCodes.h:183
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils...
const int kPdgBDDiquarkS1
Definition: PDGCodes.h:72
bool IsAntiNuE(int pdgc)
Definition: PDGUtils.cxx:170
bool IsAntiTau(int pdgc)
Definition: PDGUtils.cxx:210
bool IsLepton(int pdgc)
Definition: PDGUtils.cxx:83
bool IsNegChargedLepton(int pdgc)
Definition: PDGUtils.cxx:136
bool IsElectron(int pdgc)
Definition: PDGUtils.cxx:185
const int kPdgCUDiquarkS0
Definition: PDGCodes.h:66
bool IsAntiUQuark(int pdgc)
Definition: PDGUtils.cxx:293
const int kPdgDDDiquarkS1
Definition: PDGCodes.h:55
const int kPdgClusterPP
Definition: PDGCodes.h:216