GENIEGenerator
Loading...
Searching...
No Matches
genie::pdg Namespace Reference

Utilities for improving the code readability when using PDG codes. More...

Functions

bool IsPseudoParticle (int pdgc)
bool IsIon (int pdgc)
bool IsParticle (int pdgc)
 not ion or pseudo-particle
int IonPdgCodeToZ (int pdgc)
int IonPdgCodeToA (int pdgc)
int IonPdgCode (int A, int Z)
int IonPdgCode (int A, int Z, int L, int I)
bool IsLepton (int pdgc)
bool IsNeutralLepton (int pdgc)
bool IsChargedLepton (int pdgc)
bool IsNeutrino (int pdgc)
bool IsAntiNeutrino (int pdgc)
bool IsNegChargedLepton (int pdgc)
bool IsPosChargedLepton (int pdgc)
bool IsDarkMatter (int pdgc)
bool IsAntiDarkMatter (int pdgc)
bool IsNuE (int pdgc)
bool IsNuMu (int pdgc)
bool IsNuTau (int pdgc)
bool IsAntiNuE (int pdgc)
bool IsAntiNuMu (int pdgc)
bool IsAntiNuTau (int pdgc)
bool IsElectron (int pdgc)
bool IsPositron (int pdgc)
bool IsMuon (int pdgc)
bool IsAntiMuon (int pdgc)
bool IsTau (int pdgc)
bool IsAntiTau (int pdgc)
bool IsDiQuark (int pdgc)
bool IsQuark (int pdgc)
bool IsUQuark (int pdgc)
bool IsDQuark (int pdgc)
bool IsSQuark (int pdgc)
bool IsCQuark (int pdgc)
bool IsBQuark (int pdgc)
bool IsTQuark (int pdgc)
bool IsAntiQuark (int pdgc)
bool IsAntiUQuark (int pdgc)
bool IsAntiDQuark (int pdgc)
bool IsAntiSQuark (int pdgc)
bool IsAntiCQuark (int pdgc)
bool IsAntiBQuark (int pdgc)
bool IsAntiTQuark (int pdgc)
bool IsKaon (int pdgc)
bool IsPion (int pdgc)
bool IsProton (int pdgc)
bool IsNeutron (int pdgc)
bool IsNucleon (int pdgc)
bool IsNeutronOrProton (int pdgc)
bool IsHadron (int pdgc)
bool IsBaryonResonance (int pdgc)
bool Is2NucleonCluster (int pdgc)
bool IsDarkSectorParticle (int pdgc)
bool IsHNL (int pdgc)
int SwitchProtonNeutron (int pdgc)
int ModifyNucleonCluster (int pdgc, int dQ)
int Neutrino2ChargedLepton (int pdgc)
int GeantToPdg (int geant_code)

Detailed Description

Utilities for improving the code readability when using PDG codes.

Author
Costas Andreopoulos <c.andreopoulos \at cern.ch> University of Liverpool

Changes required to implement the GENIE Boosted Dark Matter module were installed by Josh Berger (Univ. of Wisconsin)

Changes required to implement the GENIE BeamHNL module were installed by John Plows (Univ. of Oxford)

Created:\n May 06, 2004
License:\n Copyright (c) 2003-2025, The GENIE Collaboration
For the full text of the license visit http://copyright.genie-mc.org

Function Documentation

◆ GeantToPdg()

int genie::pdg::GeantToPdg ( int geant_code)

Definition at line 424 of file PDGUtils.cxx.

425{
426 if(geant_code == 3) return kPdgElectron; // 11 / e-
427 if(geant_code == 2) return kPdgPositron; // -11 / e+
428 if(geant_code == 6) return kPdgMuon; // 13 / mu-
429 if(geant_code == 5) return kPdgAntiMuon; // -13 / mu+
430 if(geant_code == 34) return kPdgTau; // 15 / tau-
431 if(geant_code == 33) return kPdgAntiTau; // -15 / tau+
432 if(geant_code == 8) return kPdgPiP; // 211 / pi+
433 if(geant_code == 9) return kPdgPiM; // -211 / pi-
434 if(geant_code == 7) return kPdgPi0; // 111 / pi0
435 if(geant_code == 17) return kPdgEta; // 221 / eta
436 if(geant_code == 11) return kPdgKP; // 321 / K+
437 if(geant_code == 12) return kPdgKM; // -321 / K-
438 if(geant_code == 10) return kPdgK0L; // 130 / K0_{long}
439 if(geant_code == 16) return kPdgK0S; // 310 / K0_{short}
440 if(geant_code == 35) return kPdgDP; // 411 / D+
441 if(geant_code == 36) return kPdgDM; // -411 / D-
442 if(geant_code == 37) return kPdgD0; // 421 / D0
443 if(geant_code == 38) return kPdgAntiD0; // -421 / \bar{D0}
444 if(geant_code == 39) return kPdgDPs; // 431 / D+_{s}
445 if(geant_code == 40) return kPdgDMs; // -431 / D-_{s}
446 if(geant_code == 1) return kPdgGamma; // 22 / photon
447 if(geant_code == 44) return kPdgZ0; // 23 / Z
448 if(geant_code == 42) return kPdgWP; // 24 / W+
449 if(geant_code == 43) return kPdgWM; // -24 / W-
450 if(geant_code == 14) return kPdgProton; // 2212
451 if(geant_code == 15) return kPdgAntiProton; // -2212
452 if(geant_code == 13) return kPdgNeutron; // 2112
453 if(geant_code == 25) return kPdgAntiNeutron; // -2112
454 if(geant_code == 18) return kPdgLambda; // 3122 / Lambda
455 if(geant_code == 26) return kPdgAntiLambda; // -3122 / \bar{Lambda}
456 if(geant_code == 19) return kPdgSigmaP; // 3222 / Sigma+
457 if(geant_code == 20) return kPdgSigma0; // 3212 / Sigma0
458 if(geant_code == 21) return kPdgSigmaM; // 3112 / Sigma-
459 if(geant_code == 29) return kPdgAntiSigmaP; // -3112 / \bar{Sigma+}
460 if(geant_code == 28) return kPdgAntiSigma0; // -3212 / \bar{Sigma0}
461 if(geant_code == 27) return kPdgAntiSigmaM; // -3112 / \bar{Sigma-}
462 if(geant_code == 22) return kPdgXi0; // 3322 / Xi0
463 if(geant_code == 23) return kPdgXiM; // 3312 / Xi-
464 if(geant_code == 30) return kPdgAntiXi0; // -3322 / \bar{Xi0}
465 if(geant_code == 31) return kPdgAntiXiP; // -3312 / \bar{Xi+}
466 if(geant_code == 24) return kPdgOmegaM; // 3334 / Omega-
467 if(geant_code == 32) return kPdgAntiOmegaP; // -3334 / \bar{Omega+}
468
469 // some rare Geant3 codes that don't really need definitions in PDGCodes.h
470 const int kPdgDeuteron = 1000010020; // pdg::IonPdgCode(2,1);
471 const int kPdgTritium = 1000010030; // pdg::IonPdgCode(3,1);
472 const int kPdgAlpha = 1000020040; // pdg::IonPdgCode(4,2);
473 const int kPdgHe3 = 1000020030; // pdg::IonPdgCode(3,2);
474 if(geant_code == 45) return kPdgDeuteron;
475 if(geant_code == 46) return kPdgTritium;
476 if(geant_code == 47) return kPdgAlpha;
477 if(geant_code == 49) return kPdgHe3;
478
479 LOG("PDG", pWARN)
480 << "Can not convert geant code: " << geant_code << " to PDG";
481 return 0;
482}
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE,...
Definition Messenger.h:96
#define pWARN
Definition Messenger.h:60
const int kPdgPiM
Definition PDGCodes.h:159
const int kPdgAntiD0
Definition PDGCodes.h:184
const int kPdgEta
Definition PDGCodes.h:161
const int kPdgDM
Definition PDGCodes.h:182
const int kPdgDP
Definition PDGCodes.h:181
const int kPdgSigma0
Definition PDGCodes.h:88
const int kPdgAntiMuon
Definition PDGCodes.h:38
const int kPdgAntiProton
Definition PDGCodes.h:82
const int kPdgK0S
Definition PDGCodes.h:177
const int kPdgProton
Definition PDGCodes.h:81
const int kPdgSigmaP
Definition PDGCodes.h:87
const int kPdgPi0
Definition PDGCodes.h:160
const int kPdgWM
Definition PDGCodes.h:192
const int kPdgTau
Definition PDGCodes.h:39
const int kPdgAntiSigmaM
Definition PDGCodes.h:92
const int kPdgDPs
Definition PDGCodes.h:185
const int kPdgK0L
Definition PDGCodes.h:176
const int kPdgKP
Definition PDGCodes.h:172
const int kPdgNeutron
Definition PDGCodes.h:83
const int kPdgOmegaM
Definition PDGCodes.h:97
const int kPdgDMs
Definition PDGCodes.h:186
const int kPdgAntiSigma0
Definition PDGCodes.h:91
const int kPdgAntiLambda
Definition PDGCodes.h:86
const int kPdgAntiXi0
Definition PDGCodes.h:95
const int kPdgKM
Definition PDGCodes.h:173
const int kPdgAntiXiP
Definition PDGCodes.h:96
const int kPdgPiP
Definition PDGCodes.h:158
const int kPdgWP
Definition PDGCodes.h:191
const int kPdgD0
Definition PDGCodes.h:183
const int kPdgLambda
Definition PDGCodes.h:85
const int kPdgSigmaM
Definition PDGCodes.h:89
const int kPdgXiM
Definition PDGCodes.h:94
const int kPdgMuon
Definition PDGCodes.h:37
const int kPdgPositron
Definition PDGCodes.h:36
const int kPdgGamma
Definition PDGCodes.h:189
const int kPdgAntiNeutron
Definition PDGCodes.h:84
const int kPdgAntiSigmaP
Definition PDGCodes.h:90
const int kPdgAntiOmegaP
Definition PDGCodes.h:98
const int kPdgXi0
Definition PDGCodes.h:93
const int kPdgAntiTau
Definition PDGCodes.h:40
const int kPdgElectron
Definition PDGCodes.h:35
const int kPdgZ0
Definition PDGCodes.h:190

References genie::kPdgAntiD0, genie::kPdgAntiLambda, genie::kPdgAntiMuon, genie::kPdgAntiNeutron, genie::kPdgAntiOmegaP, genie::kPdgAntiProton, genie::kPdgAntiSigma0, genie::kPdgAntiSigmaM, genie::kPdgAntiSigmaP, genie::kPdgAntiTau, genie::kPdgAntiXi0, genie::kPdgAntiXiP, genie::kPdgD0, genie::kPdgDM, genie::kPdgDMs, genie::kPdgDP, genie::kPdgDPs, genie::kPdgElectron, genie::kPdgEta, genie::kPdgGamma, genie::kPdgK0L, genie::kPdgK0S, genie::kPdgKM, genie::kPdgKP, genie::kPdgLambda, genie::kPdgMuon, genie::kPdgNeutron, genie::kPdgOmegaM, genie::kPdgPi0, genie::kPdgPiM, genie::kPdgPiP, genie::kPdgPositron, genie::kPdgProton, genie::kPdgSigma0, genie::kPdgSigmaM, genie::kPdgSigmaP, genie::kPdgTau, genie::kPdgWM, genie::kPdgWP, genie::kPdgXi0, genie::kPdgXiM, genie::kPdgZ0, LOG, and pWARN.

Referenced by genie::flux::GNuMIFluxPassThroughInfo::ConvertPartCodes(), ConvertToGRooTracker(), and genie::flux::GJPARCNuFluxPassThroughInfo::operator<<.

◆ IonPdgCode() [1/2]

int genie::pdg::IonPdgCode ( int A,
int Z )

Definition at line 71 of file PDGUtils.cxx.

72{
73// Build ion PDG code from A,Z
74
75 return IonPdgCode(A,Z,0,0);
76}
int IonPdgCode(int A, int Z)
Definition PDGUtils.cxx:71

References IonPdgCode().

Referenced by genie::NNBarOscPrimaryVtxGenerator::AddInitialState(), genie::NucleonDecayPrimaryVtxGenerator::AddInitialState(), genie::InitialStateAppender::AddNucleus(), genie::DMELEventGenerator::AddTargetNucleusRemnant(), genie::DMETargetRemnantGenerator::AddTargetNucleusRemnant(), genie::FermiMover::AddTargetNucleusRemnant(), genie::HadronicSystemGenerator::AddTargetNucleusRemnant(), genie::NuETargetRemnantGenerator::AddTargetNucleusRemnant(), genie::QELEventGenerator::AddTargetNucleusRemnant(), genie::QELEventGeneratorSM::AddTargetNucleusRemnant(), genie::QELEventGeneratorSuSA::AddTargetNucleusRemnant(), genie::AMNuGammaGenerator::AddTargetRemnant(), genie::MECGenerator::AddTargetRemnant(), genie::utils::BindHitNucleon(), genie::utils::BindHitNucleon(), genie::FermiMomentumTable::FindClosestKF(), genie::geometry::ROOTGeomAnalyzer::GetTargetPdgCode(), genie::geometry::ROOTGeomAnalyzer::GetTargetPdgCode(), genie::utils::config::GetValueFromNuclearMaps(), genie::HAIntranuke2018::Inelastic(), genie::HAIntranuke2025::Inelastic(), genie::HAIntranuke2018::InelasticHA(), genie::HAIntranuke2025::InelasticHA(), genie::InitialState::InitialState(), genie::LwlynSmithQELCCPXSec::Integral(), IonPdgCode(), genie::Target::IsValidNucleus(), genie::FermiMover::KickHitNucleon(), genie::utils::config::LoadAllIsotopesForKey(), genie::EffectiveSF::LoadConfig(), genie::IBDXSecMap::LoadConfig(), genie::LocalFGM::LoadConfig(), genie::SpectralFunc1d::LoadConfig(), genie::EffectiveSF::MakeEffectiveSF(), genie::DMELEventGenerator::ProcessEventRecord(), genie::NucBindEnergyAggregator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::Target::SetId(), genie::SmithMonizUtils::SetInteraction(), genie::TabulatedLabFrameHadronTensor::TabulatedLabFrameHadronTensor(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::MKSPPPXSec2020::XSec(), genie::PattonCEvNSPXSec::XSec(), and genie::ReinSehgalRESPXSec::XSec().

◆ IonPdgCode() [2/2]

int genie::pdg::IonPdgCode ( int A,
int Z,
int L,
int I )

Definition at line 78 of file PDGUtils.cxx.

79{
80// Build ion PDG code from A,Z,L,I
81
82 int ion_pdgc = 1000000000 + L*100000000 + Z*10000 + A*10 + I;
83 return ion_pdgc;
84}

◆ IonPdgCodeToA()

◆ IonPdgCodeToZ()

◆ Is2NucleonCluster()

bool genie::pdg::Is2NucleonCluster ( int pdgc)

◆ IsAntiBQuark()

bool genie::pdg::IsAntiBQuark ( int pdgc)

Definition at line 316 of file PDGUtils.cxx.

317{
318 return (pdgc == kPdgAntiBQuark);
319}
const int kPdgAntiBQuark
Definition PDGCodes.h:51

References genie::kPdgAntiBQuark.

Referenced by SaveGraphsToRootFile().

◆ IsAntiCQuark()

bool genie::pdg::IsAntiCQuark ( int pdgc)

Definition at line 311 of file PDGUtils.cxx.

312{
313 return (pdgc == kPdgAntiCQuark);
314}
const int kPdgAntiCQuark
Definition PDGCodes.h:49

References genie::kPdgAntiCQuark.

Referenced by genie::QPMDISStrucFuncBase::Calculate(), genie::QPMDMDISStrucFuncBase::Calculate(), and SaveGraphsToRootFile().

◆ IsAntiDarkMatter()

◆ IsAntiDQuark()

◆ IsAntiMuon()

bool genie::pdg::IsAntiMuon ( int pdgc)

◆ IsAntiNeutrino()

bool genie::pdg::IsAntiNeutrino ( int pdgc)

Definition at line 118 of file PDGUtils.cxx.

119{
120 bool is_nubar = (pdgc == kPdgAntiNuE) ||
121 (pdgc == kPdgAntiNuMu) ||
122 (pdgc == kPdgAntiNuTau);
123
124 return is_nubar;
125}
const int kPdgAntiNuE
Definition PDGCodes.h:29
const int kPdgAntiNuTau
Definition PDGCodes.h:33
const int kPdgAntiNuMu
Definition PDGCodes.h:31

References genie::kPdgAntiNuE, genie::kPdgAntiNuMu, and genie::kPdgAntiNuTau.

Referenced by genie::flux::GAtmoFlux::AddFluxFile(), genie::AGKYLowW2019::ApplyRijk(), genie::PythiaBaseHadro2019::AssertValidity(), genie::AGKYLowW2019::AverageChMult(), genie::utils::BindHitNucleon(), genie::QPMDISStrucFuncBase::Calculate(), genie::Interaction::COHCC(), genie::Interaction::COHCC(), genie::LabFrameHadronTensorI::contraction(), genie::COHDNuInteractionListGenerator::CreateInteractionList(), genie::COHInteractionListGenerator::CreateInteractionList(), genie::DFRInteractionListGenerator::CreateInteractionList(), genie::IBDInteractionListGenerator::CreateInteractionList(), genie::MECInteractionListGenerator::CreateInteractionList(), genie::RSPPInteractionListGenerator::CreateInteractionList(), genie::QELInteractionListGenerator::CreateInteractionListCC(), genie::QELInteractionListGenerator::CreateInteractionListNC(), DirNameToProbe(), FillQrkArray(), genie::SppChannel::FromInteraction(), genie::AGCharmPythiaBaseHadro2023::GenerateCharmHadron(), GetCommandLineArgs(), genie::DISInteractionListGenerator::GetHitQuarks(), genie::HEDISInteractionListGenerator::GetHitQuarks(), genie::AGCharmPythiaBaseHadro2023::Hadronize(), genie::EmpiricalMECPXSec2015::Integral(), IsNeutralLepton(), genie::InitialState::IsNuBarN(), genie::InitialState::IsNuBarP(), genie::AGKYLowW2019::KNO(), genie::evtlib::EventLibraryInterface::LoadRecords(), genie::evtlib::EvtLibPXSec::LoadXSecs(), genie::PythiaBaseHadro2019::MakeQuarkDiquarkAssignments(), genie::utils::ghep::NeutReactionCode(), genie::SuSAv2MECPXSec::PairRatio(), ParseFluxHst(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::AlvarezRusoCOHPiPXSec::ValidProcess(), genie::BergerSehgalCOHPiPXSec2015::ValidProcess(), genie::BergerSehgalFMCOHPiPXSec2015::ValidProcess(), genie::LwlynSmithQELCCPXSec::ValidProcess(), genie::NievesQELCCPXSec::ValidProcess(), genie::ReinSehgalCOHPiPXSec::ValidProcess(), genie::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::SmithMonizQELCCPXSec::ValidProcess(), genie::SuSAv2MECPXSec::ValidProcess(), genie::SuSAv2QELPXSec::ValidProcess(), genie::AhrensNCELPXSec::XSec(), genie::AivazisCharmPXSecLO::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::MKSPPPXSec2020::XSec(), genie::QPMDISPXSec::XSec(), genie::ReinSehgalRESPXSec::XSec(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::SuSAv2MECPXSec::XSec(), genie::SuSAv2QELPXSec::XSec(), and genie::SuSAv2QELPXSec::XSecScaling().

◆ IsAntiNuE()

◆ IsAntiNuMu()

◆ IsAntiNuTau()

◆ IsAntiQuark()

bool genie::pdg::IsAntiQuark ( int pdgc)

Definition at line 258 of file PDGUtils.cxx.

259{
260 return ( pdgc == kPdgAntiDQuark || pdgc == kPdgAntiUQuark ||
261 pdgc == kPdgAntiSQuark || pdgc == kPdgAntiCQuark ||
262 pdgc == kPdgAntiBQuark || pdgc == kPdgAntiTQuark
263 );
264}
const int kPdgAntiUQuark
Definition PDGCodes.h:43
const int kPdgAntiSQuark
Definition PDGCodes.h:47
const int kPdgAntiTQuark
Definition PDGCodes.h:53

References genie::kPdgAntiBQuark, genie::kPdgAntiCQuark, genie::kPdgAntiDQuark, genie::kPdgAntiSQuark, genie::kPdgAntiTQuark, and genie::kPdgAntiUQuark.

Referenced by genie::Target::HitQrkIsSet(), genie::InitialState::Print(), and genie::Target::SetHitQrkPdg().

◆ IsAntiSQuark()

◆ IsAntiTau()

bool genie::pdg::IsAntiTau ( int pdgc)

◆ IsAntiTQuark()

bool genie::pdg::IsAntiTQuark ( int pdgc)

Definition at line 321 of file PDGUtils.cxx.

322{
323 return (pdgc == kPdgAntiTQuark);
324}

References genie::kPdgAntiTQuark.

Referenced by SaveGraphsToRootFile().

◆ IsAntiUQuark()

◆ IsBaryonResonance()

bool genie::pdg::IsBaryonResonance ( int pdgc)

Definition at line 397 of file PDGUtils.cxx.

398{
400}
bool IsBaryonResonance(int pdgc)
is input a baryon resonance?

References genie::utils::res::IsBaryonResonance().

◆ IsBQuark()

bool genie::pdg::IsBQuark ( int pdgc)

Definition at line 286 of file PDGUtils.cxx.

287{
288 return (pdgc == kPdgBQuark);
289}
const int kPdgBQuark
Definition PDGCodes.h:50

References genie::kPdgBQuark.

Referenced by SaveGraphsToRootFile().

◆ IsChargedLepton()

◆ IsCQuark()

bool genie::pdg::IsCQuark ( int pdgc)

Definition at line 281 of file PDGUtils.cxx.

282{
283 return (pdgc == kPdgCQuark);
284}
const int kPdgCQuark
Definition PDGCodes.h:48

References genie::kPdgCQuark.

Referenced by genie::QPMDISStrucFuncBase::Calculate(), genie::QPMDMDISStrucFuncBase::Calculate(), and SaveGraphsToRootFile().

◆ IsDarkMatter()

◆ IsDarkSectorParticle()

bool genie::pdg::IsDarkSectorParticle ( int pdgc)

Definition at line 411 of file PDGUtils.cxx.

412{
413 return (
414 pdgc == kPdgDarkNeutrino ||
415 pdgc == kPdgDNuMediator
416 );
417}
const int kPdgDNuMediator
Definition PDGCodes.h:223
const int kPdgDarkNeutrino
Definition PDGCodes.h:221

References genie::kPdgDarkNeutrino, and genie::kPdgDNuMediator.

◆ IsDiQuark()

bool genie::pdg::IsDiQuark ( int pdgc)

Definition at line 231 of file PDGUtils.cxx.

232{
233 return ( pdgc == kPdgDDDiquarkS1 || pdgc == kPdgUDDiquarkS0 ||
234 pdgc == kPdgUDDiquarkS1 || pdgc == kPdgUUDiquarkS1 ||
235 pdgc == kPdgSDDiquarkS0 || pdgc == kPdgSDDiquarkS1 ||
236 pdgc == kPdgSUDiquarkS0 || pdgc == kPdgSUDiquarkS1 ||
237 pdgc == kPdgSSDiquarkS1 ||
238 pdgc == kPdgCDDiquarkS0 || pdgc == kPdgCDDiquarkS1 ||
239 pdgc == kPdgCUDiquarkS0 || pdgc == kPdgCUDiquarkS1 ||
240 pdgc == kPdgCSDiquarkS0 || pdgc == kPdgCSDiquarkS1 ||
241 pdgc == kPdgCCDiquarkS1 ||
242 pdgc == kPdgBDDiquarkS0 || pdgc == kPdgBDDiquarkS1 ||
243 pdgc == kPdgBUDiquarkS0 || pdgc == kPdgBUDiquarkS1 ||
244 pdgc == kPdgBSDiquarkS0 || pdgc == kPdgBSDiquarkS1 ||
245 pdgc == kPdgBCDiquarkS0 || pdgc == kPdgBCDiquarkS1 ||
246 pdgc == kPdgBBDiquarkS1
247 );
248}
const int kPdgBUDiquarkS1
Definition PDGCodes.h:74
const int kPdgSDDiquarkS0
Definition PDGCodes.h:59
const int kPdgSSDiquarkS1
Definition PDGCodes.h:63
const int kPdgSDDiquarkS1
Definition PDGCodes.h:60
const int kPdgCDDiquarkS1
Definition PDGCodes.h:65
const int kPdgUDDiquarkS0
Definition PDGCodes.h:56
const int kPdgUUDiquarkS1
Definition PDGCodes.h:58
const int kPdgCCDiquarkS1
Definition PDGCodes.h:70
const int kPdgSUDiquarkS1
Definition PDGCodes.h:62
const int kPdgCUDiquarkS0
Definition PDGCodes.h:66
const int kPdgBDDiquarkS0
Definition PDGCodes.h:71
const int kPdgBDDiquarkS1
Definition PDGCodes.h:72
const int kPdgBBDiquarkS1
Definition PDGCodes.h:79
const int kPdgBSDiquarkS1
Definition PDGCodes.h:76
const int kPdgUDDiquarkS1
Definition PDGCodes.h:57
const int kPdgCDDiquarkS0
Definition PDGCodes.h:64
const int kPdgCSDiquarkS0
Definition PDGCodes.h:68
const int kPdgBUDiquarkS0
Definition PDGCodes.h:73
const int kPdgCSDiquarkS1
Definition PDGCodes.h:69
const int kPdgBSDiquarkS0
Definition PDGCodes.h:75
const int kPdgDDDiquarkS1
Definition PDGCodes.h:55
const int kPdgCUDiquarkS1
Definition PDGCodes.h:67
const int kPdgBCDiquarkS0
Definition PDGCodes.h:77
const int kPdgSUDiquarkS0
Definition PDGCodes.h:61
const int kPdgBCDiquarkS1
Definition PDGCodes.h:78

References genie::kPdgBBDiquarkS1, genie::kPdgBCDiquarkS0, genie::kPdgBCDiquarkS1, genie::kPdgBDDiquarkS0, genie::kPdgBDDiquarkS1, genie::kPdgBSDiquarkS0, genie::kPdgBSDiquarkS1, genie::kPdgBUDiquarkS0, genie::kPdgBUDiquarkS1, genie::kPdgCCDiquarkS1, genie::kPdgCDDiquarkS0, genie::kPdgCDDiquarkS1, genie::kPdgCSDiquarkS0, genie::kPdgCSDiquarkS1, genie::kPdgCUDiquarkS0, genie::kPdgCUDiquarkS1, genie::kPdgDDDiquarkS1, genie::kPdgSDDiquarkS0, genie::kPdgSDDiquarkS1, genie::kPdgSSDiquarkS1, genie::kPdgSUDiquarkS0, genie::kPdgSUDiquarkS1, genie::kPdgUDDiquarkS0, genie::kPdgUDDiquarkS1, and genie::kPdgUUDiquarkS1.

Referenced by genie::LeptoHadPythia6::Hadronize(), genie::LeptoHadPythia8::Hadronize(), genie::Pythia6Hadro2019::Hadronize(), genie::Pythia8Hadro2019::Hadronize(), and genie::AGCharmPythia8Hadro2023::HadronizeRemnant().

◆ IsDQuark()

◆ IsElectron()

◆ IsHadron()

bool genie::pdg::IsHadron ( int pdgc)

Definition at line 392 of file PDGUtils.cxx.

393{
394 return ((pdgc>=100 && pdgc<=9999) || (pdgc>=-9999 && pdgc<=-100));
395}

Referenced by genie::Pythia6Decayer2023::Decay(), genie::Pythia8Decayer2023::Decay(), genie::BaryonResonanceDecayer::DecayExclusive(), and genie::GHepRecord::EventGenerationMode().

◆ IsHNL()

bool genie::pdg::IsHNL ( int pdgc)

Definition at line 419 of file PDGUtils.cxx.

420{
421 return ( std::abs( pdgc ) == kPdgHNL );
422}
const int kPdgHNL
Definition PDGCodes.h:224

References genie::kPdgHNL.

Referenced by genie::GHepRecord::EventGenerationMode().

◆ IsIon()

◆ IsKaon()

bool genie::pdg::IsKaon ( int pdgc)

Definition at line 331 of file PDGUtils.cxx.

332{
333 return (pdgc == kPdgKP || pdgc == kPdgK0 || pdgc == kPdgKM);
334}
const int kPdgK0
Definition PDGCodes.h:174

References genie::kPdgK0, genie::kPdgKM, and genie::kPdgKP.

Referenced by genie::HAIntranuke2018::Inelastic(), genie::HAIntranuke2025::Inelastic(), and genie::HAIntranuke::Inelastic().

◆ IsLepton()

◆ IsMuon()

◆ IsNegChargedLepton()

bool genie::pdg::IsNegChargedLepton ( int pdgc)

◆ IsNeutralLepton()

◆ IsNeutrino()

bool genie::pdg::IsNeutrino ( int pdgc)

Definition at line 110 of file PDGUtils.cxx.

111{
112 bool is_nu = (pdgc == kPdgNuE) ||
113 (pdgc == kPdgNuMu) ||
114 (pdgc == kPdgNuTau);
115 return is_nu;
116}
const int kPdgNuE
Definition PDGCodes.h:28
const int kPdgNuTau
Definition PDGCodes.h:32
const int kPdgNuMu
Definition PDGCodes.h:30

References genie::kPdgNuE, genie::kPdgNuMu, and genie::kPdgNuTau.

Referenced by genie::flux::GAtmoFlux::AddFluxFile(), genie::AGKYLowW2019::ApplyRijk(), genie::PythiaBaseHadro2019::AssertValidity(), genie::AGKYLowW2019::AverageChMult(), genie::utils::BindHitNucleon(), genie::SPPXSecWithCache::CacheBranchName(), genie::SPPXSecWithCache::CacheResExcitationXSec(), genie::QPMDISStrucFuncBase::Calculate(), genie::Interaction::COHCC(), genie::Interaction::COHCC(), genie::NievesQELCCPXSec::CompareNievesTensors(), genie::LabFrameHadronTensorI::contraction(), genie::COHDNuInteractionListGenerator::CreateInteractionList(), genie::COHInteractionListGenerator::CreateInteractionList(), genie::DFRInteractionListGenerator::CreateInteractionList(), genie::IBDInteractionListGenerator::CreateInteractionList(), genie::MECInteractionListGenerator::CreateInteractionList(), genie::RESInteractionListGenerator::CreateInteractionList(), genie::RSPPInteractionListGenerator::CreateInteractionList(), genie::SKInteractionListGenerator::CreateInteractionList(), genie::QELInteractionListGenerator::CreateInteractionListCC(), genie::QELInteractionListGenerator::CreateInteractionListCharmCC(), genie::QELInteractionListGenerator::CreateInteractionListNC(), genie::QELInteractionListGenerator::CreateInteractionListStrangeCC(), genie::HEDISStrucFunc::CreateQrkSF(), genie::SmithMonizQELCCPXSec::d3sQES_dQ2dvdkF_SM(), DirNameToProbe(), genie::SmithMonizQELCCPXSec::dsQES_dQ2_SM(), FillQrkArray(), genie::SppChannel::FromInteraction(), genie::LwlynSmithQELCCPXSec::FullDifferentialXSec(), genie::AGCharmPythiaBaseHadro2023::GenerateCharmHadron(), GetCommandLineArgs(), genie::DISInteractionListGenerator::GetHitQuarks(), genie::HEDISInteractionListGenerator::GetHitQuarks(), genie::AGCharmPythiaBaseHadro2023::Hadronize(), genie::EmpiricalMECPXSec2015::Integral(), genie::SPPXSec::Integrate(), IsNeutralLepton(), genie::InitialState::IsNuN(), genie::InitialState::IsNuP(), genie::AGKYLowW2019::KNO(), genie::PythiaBaseHadro2019::MakeQuarkDiquarkAssignments(), genie::utils::ghep::NeutReactionCode(), genie::HEDISStrucFunc::NucSFCode(), genie::HEDISStrucFunc::NucSFName(), genie::SuSAv2MECPXSec::PairRatio(), ParseFluxHst(), genie::HEDISStrucFunc::QrkSFCode(), genie::HEDISStrucFunc::QrkSFName(), genie::Interaction::RecoilNucleonPdg(), genie::OutgoingDarkGenerator::SetPolarization(), genie::utils::SetPrimaryLeptonPolarization(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::AlvarezRusoCOHPiPXSec::ValidProcess(), genie::BergerSehgalCOHPiPXSec2015::ValidProcess(), genie::BergerSehgalFMCOHPiPXSec2015::ValidProcess(), genie::BertuzzoDNuCOHPXSec::ValidProcess(), genie::LwlynSmithQELCCPXSec::ValidProcess(), genie::NievesQELCCPXSec::ValidProcess(), genie::ReinSehgalCOHPiPXSec::ValidProcess(), genie::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::SmithMonizQELCCPXSec::ValidProcess(), genie::SuSAv2MECPXSec::ValidProcess(), genie::SuSAv2QELPXSec::ValidProcess(), genie::GLRESWdecPythia6::Wdecay(), genie::GLRESWdecPythia8::Wdecay(), genie::PhotonCOHWdecPythia6::Wdecay(), genie::PhotonCOHWdecPythia8::Wdecay(), genie::PhotonRESWdecPythia6::Wdecay(), genie::PhotonRESWdecPythia8::Wdecay(), genie::AivazisCharmPXSecLO::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::LwlynSmithQELCCPXSec::XSec(), genie::MKSPPPXSec2020::XSec(), genie::NievesQELCCPXSec::XSec(), genie::PaisQELLambdaPXSec::XSec(), genie::ReinSehgalRESPXSec::XSec(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::SuSAv2MECPXSec::XSec(), genie::SuSAv2QELPXSec::XSec(), and genie::SuSAv2QELPXSec::XSecScaling().

◆ IsNeutron()

bool genie::pdg::IsNeutron ( int pdgc)

Definition at line 341 of file PDGUtils.cxx.

342{
343 return (pdgc == kPdgNeutron);
344}

References genie::kPdgNeutron.

Referenced by genie::DMELEventGenerator::AddTargetNucleusRemnant(), genie::FermiMover::AddTargetNucleusRemnant(), genie::QELEventGenerator::AddTargetNucleusRemnant(), genie::QELEventGeneratorSM::AddTargetNucleusRemnant(), genie::QELEventGeneratorSuSA::AddTargetNucleusRemnant(), genie::AGKYLowW2019::ApplyRijk(), genie::PythiaBaseHadro2019::AssertValidity(), genie::AGKYLowW2019::AverageChMult(), genie::QPMDISStrucFuncBase::CalcPDFs(), genie::QPMDMDISStrucFuncBase::CalcPDFs(), genie::QPMDISStrucFuncBase::Calculate(), genie::QPMDMDISStrucFuncBase::Calculate(), CheckForNumFinStateNucleonsInconsistentWithTarget(), genie::FGMBodekRitchie::FermiMomentum(), genie::PauliBlocker::GetFermiMomentum(), genie::AGCharmPythiaBaseHadro2023::Hadronize(), genie::AGKYLowW2019::HadronShowerCharge(), genie::HadronicSystemGenerator::HadronShowerCharge(), genie::HAIntranuke2018::Inelastic(), genie::HAIntranuke2025::Inelastic(), genie::HAIntranuke::Inelastic(), genie::InitialState::IsDMBN(), genie::InitialState::IsDMN(), genie::InitialState::IsNuBarN(), genie::InitialState::IsNuN(), genie::AGKYLowW2019::KNO(), genie::LocalFGM::LocalFermiMomentum(), main(), genie::PythiaBaseHadro2019::MakeQuarkDiquarkAssignments(), genie::EffectiveSF::ProbDistro(), genie::FGMBodekRitchie::ProbDistro(), genie::LocalFGM::ProbDistro(), SaveGraphsToRootFile(), SwitchProtonNeutron(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::BostedChristyEMPXSec::ValidProcess(), genie::BSKLNBaseRESPXSec2014::ValidProcess(), genie::KovalenkoQELCharmPXSec::ValidProcess(), genie::LwlynSmithQELCCPXSec::ValidProcess(), genie::NievesQELCCPXSec::ValidProcess(), genie::PaisQELLambdaPXSec::ValidProcess(), genie::ReinSehgalRESPXSec::ValidProcess(), genie::RosenbluthPXSec::ValidProcess(), genie::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::SmithMonizQELCCPXSec::ValidProcess(), genie::SuSAv2QELPXSec::ValidProcess(), genie::AhrensDMELPXSec::XSec(), genie::AhrensNCELPXSec::XSec(), genie::AivazisCharmPXSecLO::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::ReinSehgalRESPXSec::XSec(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::SuSAv2QELPXSec::XSec(), genie::SuSAv2QELPXSec::XSecScaling(), and genie::KovalenkoQELCharmPXSec::ZR().

◆ IsNeutronOrProton()

◆ IsNucleon()

◆ IsNuE()

◆ IsNuMu()

◆ IsNuTau()

◆ IsParticle()

bool genie::pdg::IsParticle ( int pdgc)

not ion or pseudo-particle

Definition at line 47 of file PDGUtils.cxx.

48{
49 if( genie::pdg::IsPseudoParticle (pdgc) ) return false;
50 if( genie::pdg::IsIon (pdgc) ) return false;
51
52 return true;
53}
bool IsIon(int pdgc)
Definition PDGUtils.cxx:42
bool IsPseudoParticle(int pdgc)
Definition PDGUtils.cxx:27

References IsIon(), and IsPseudoParticle().

Referenced by ConvertToGXML().

◆ IsPion()

◆ IsPosChargedLepton()

bool genie::pdg::IsPosChargedLepton ( int pdgc)

◆ IsPositron()

bool genie::pdg::IsPositron ( int pdgc)

◆ IsProton()

bool genie::pdg::IsProton ( int pdgc)

Definition at line 336 of file PDGUtils.cxx.

337{
338 return (pdgc == kPdgProton);
339}

References genie::kPdgProton.

Referenced by genie::DMELEventGenerator::AddTargetNucleusRemnant(), genie::FermiMover::AddTargetNucleusRemnant(), genie::HadronicSystemGenerator::AddTargetNucleusRemnant(), genie::QELEventGenerator::AddTargetNucleusRemnant(), genie::QELEventGeneratorSM::AddTargetNucleusRemnant(), genie::QELEventGeneratorSuSA::AddTargetNucleusRemnant(), genie::AMNuGammaGenerator::AddTargetRemnant(), genie::AGKYLowW2019::ApplyRijk(), genie::PythiaBaseHadro2019::AssertValidity(), genie::AGKYLowW2019::AverageChMult(), genie::utils::BindHitNucleon(), genie::utils::BindHitNucleon(), genie::DISXSec::CacheFreeNucleonXSec(), genie::DMDISXSec::CacheFreeNucleonXSec(), genie::QPMDISStrucFuncBase::CalcPDFs(), genie::QPMDMDISStrucFuncBase::CalcPDFs(), genie::QPMDISStrucFuncBase::Calculate(), genie::QPMDMDISStrucFuncBase::Calculate(), CheckForNumFinStateNucleonsInconsistentWithTarget(), genie::HEDISStrucFunc::CreateQrkSF(), genie::SmithMonizQELCCPXSec::d2sQES_dQ2dv_SM(), genie::utils::gsl::wrap::KovQELCharmIntegrand::DoEval(), genie::SmithMonizQELCCPXSec::dsQES_dQ2_SM(), genie::BaryonResonanceDecayer::EvolveDeltaDecayWidth(), genie::FGMBodekRitchie::FermiMomentum(), genie::FermiMomentumTable::FindClosestKF(), genie::SppChannel::FromInteraction(), genie::LwlynSmithQELCCPXSec::FullDifferentialXSec(), genie::PauliBlocker::GetFermiMomentum(), genie::AGCharmPythiaBaseHadro2023::Hadronize(), genie::LeptoHadPythia6::Hadronize(), genie::LeptoHadPythia8::Hadronize(), genie::AGKYLowW2019::HadronShowerCharge(), genie::HadronicSystemGenerator::HadronShowerCharge(), genie::HAIntranuke2018::Inelastic(), genie::HAIntranuke2025::Inelastic(), genie::HAIntranuke::Inelastic(), genie::H3AMNuGammaPXSec::Integral(), genie::LwlynSmithQELCCPXSec::Integral(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::DISXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::HEDISXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), genie::ReinSehgalSPPXSec::Integrate(), genie::SPPXSec::Integrate(), genie::InitialState::IsDMBP(), genie::InitialState::IsDMP(), genie::InitialState::IsNuBarP(), genie::InitialState::IsNuP(), genie::FermiMover::KickHitNucleon(), genie::AGKYLowW2019::KNO(), genie::NievesQELCCPXSec::LmunuAnumu(), genie::LocalFGM::LocalFermiMomentum(), main(), genie::PythiaBaseHadro2019::MakeQuarkDiquarkAssignments(), genie::utils::nuclear::NuclQELXSecSuppression(), genie::HEDISStrucFunc::NucSFCode(), genie::HEDISStrucFunc::NucSFName(), genie::utils::intranuke2018::PionProduction(), genie::utils::intranuke2025::PionProduction(), genie::utils::intranuke::PionProduction(), genie::EffectiveSF::ProbDistro(), genie::FGMBodekRitchie::ProbDistro(), genie::LocalFGM::ProbDistro(), genie::DMELEventGenerator::ProcessEventRecord(), genie::NucBindEnergyAggregator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::HEDISStrucFunc::QrkSFCode(), genie::HEDISStrucFunc::QrkSFName(), SaveGraphsToRootFile(), genie::SmithMonizUtils::SetInteraction(), SwitchProtonNeutron(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::BostedChristyEMPXSec::ValidProcess(), genie::BSKLNBaseRESPXSec2014::ValidProcess(), genie::KovalenkoQELCharmPXSec::ValidProcess(), genie::LwlynSmithQELCCPXSec::ValidProcess(), genie::NievesQELCCPXSec::ValidProcess(), genie::PaisQELLambdaPXSec::ValidProcess(), genie::ReinSehgalRESPXSec::ValidProcess(), genie::RosenbluthPXSec::ValidProcess(), genie::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::SmithMonizQELCCPXSec::ValidProcess(), genie::SuSAv2QELPXSec::ValidProcess(), genie::AhrensDMELPXSec::XSec(), genie::AhrensNCELPXSec::XSec(), genie::AivazisCharmPXSecLO::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::HEDISPXSec::XSec(), genie::KovalenkoQELCharmPXSec::XSec(), genie::LwlynSmithQELCCPXSec::XSec(), genie::MKSPPPXSec2020::XSec(), genie::NievesQELCCPXSec::XSec(), genie::P33PaschosLalakulichPXSec::XSec(), genie::PaisQELLambdaPXSec::XSec(), genie::PhotonRESPXSec::XSec(), genie::QPMDISPXSec::XSec(), genie::QPMDMDISPXSec::XSec(), genie::ReinDFRPXSec::XSec(), genie::ReinSehgalRESPXSec::XSec(), genie::RosenbluthPXSec::XSec(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::SuSAv2QELPXSec::XSec(), genie::SuSAv2QELPXSec::XSecScaling(), and genie::KovalenkoQELCharmPXSec::ZR().

◆ IsPseudoParticle()

bool genie::pdg::IsPseudoParticle ( int pdgc)

Definition at line 27 of file PDGUtils.cxx.

28{
29// ROOT's rootino has PDG code=0
30// GENIE pseudoparticles are in the 2000000000-2000100000 range
31// Include PYTHIA's pseudoparticles
32
33 bool is_fake =
34 ( (pdgc == 0) ||
35 (pdgc > 2000000000 && pdgc < 2000100000) ||
36 (pdgc == kPdgCluster || pdgc == kPdgString || pdgc == kPdgIndep)
37 );
38
39 return is_fake;
40}
const int kPdgString
Definition PDGCodes.h:231
const int kPdgIndep
Definition PDGCodes.h:232
const int kPdgCluster
Definition PDGCodes.h:230

References genie::kPdgCluster, genie::kPdgIndep, and genie::kPdgString.

Referenced by AcceptEvent(), CheckForPseudoParticlesInFinState(), ConvertToGINuke(), ConvertToGST(), ConvertToGTracker(), ConvertToGXML(), genie::Intranuke2018::GenerateVertex(), genie::Intranuke2025::GenerateVertex(), genie::Intranuke::GenerateVertex(), IsParticle(), and genie::VertexGenerator::ProcessEventRecord().

◆ IsQuark()

◆ IsSQuark()

◆ IsTau()

◆ IsTQuark()

bool genie::pdg::IsTQuark ( int pdgc)

Definition at line 291 of file PDGUtils.cxx.

292{
293 return (pdgc == kPdgTQuark);
294}

References genie::kPdgTQuark.

Referenced by genie::LeptoHadPythia6::Hadronize(), genie::LeptoHadPythia8::Hadronize(), and SaveGraphsToRootFile().

◆ IsUQuark()

◆ ModifyNucleonCluster()

int genie::pdg::ModifyNucleonCluster ( int pdgc,
int dQ )

Definition at line 364 of file PDGUtils.cxx.

365{
366 assert(pdg::Is2NucleonCluster(pdgc));
367
368 if(pdgc == kPdgClusterNN) {
369 if (dQ == 0) { return kPdgClusterNN; }
370 else if (dQ == +1) { return kPdgClusterNP; }
371 else if (dQ == +2) { return kPdgClusterPP; }
372 else { return 0; }
373 }
374 else
375 if(pdgc == kPdgClusterNP) {
376 if (dQ == -1) { return kPdgClusterNN; }
377 else if (dQ == 0) { return kPdgClusterNP; }
378 else if (dQ == +1) { return kPdgClusterPP; }
379 else { return 0; }
380 }
381 else
382 if(pdgc == kPdgClusterPP) {
383 if (dQ == -2) { return kPdgClusterNN; }
384 else if (dQ == -1) { return kPdgClusterNP; }
385 else if (dQ == 0) { return kPdgClusterPP; }
386 else { return 0; }
387 }
388
389 return 0;
390}
bool Is2NucleonCluster(int pdgc)
Definition PDGUtils.cxx:402

References Is2NucleonCluster(), genie::kPdgClusterNN, genie::kPdgClusterNP, and genie::kPdgClusterPP.

Referenced by genie::Interaction::RecoilNucleonPdg().

◆ Neutrino2ChargedLepton()

int genie::pdg::Neutrino2ChargedLepton ( int pdgc)

Definition at line 218 of file PDGUtils.cxx.

219{
220 switch(pdgc) {
221 case (kPdgNuE) : return kPdgElectron; break;
222 case (kPdgAntiNuE) : return kPdgPositron; break;
223 case (kPdgNuMu) : return kPdgMuon; break;
224 case (kPdgAntiNuMu) : return kPdgAntiMuon; break;
225 case (kPdgNuTau) : return kPdgTau; break;
226 case (kPdgAntiNuTau): return kPdgAntiTau; break;
227 }
228 return -1;
229}

References genie::kPdgAntiMuon, genie::kPdgAntiNuE, genie::kPdgAntiNuMu, genie::kPdgAntiNuTau, genie::kPdgAntiTau, genie::kPdgElectron, genie::kPdgMuon, genie::kPdgNuE, genie::kPdgNuMu, genie::kPdgNuTau, genie::kPdgPositron, and genie::kPdgTau.

Referenced by genie::Interaction::FSPrimLeptonPdg().

◆ SwitchProtonNeutron()

int genie::pdg::SwitchProtonNeutron ( int pdgc)