GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Functions
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 More...
 
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 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:
May 06, 2004
License:
Copyright (c) 2003-2024, The GENIE Collaboration For the full text of the license visit http://copyright.genie-mc.org

Function Documentation

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

Definition at line 424 of file PDGUtils.cxx.

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::operator<<().

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 }
const int kPdgAntiD0
Definition: PDGCodes.h:184
const int kPdgDPs
Definition: PDGCodes.h:185
const int kPdgAntiXi0
Definition: PDGCodes.h:95
const int kPdgXi0
Definition: PDGCodes.h:93
const int kPdgLambda
Definition: PDGCodes.h:85
const int kPdgAntiSigma0
Definition: PDGCodes.h:91
const int kPdgWM
Definition: PDGCodes.h:192
const int kPdgAntiMuon
Definition: PDGCodes.h:38
const int kPdgSigma0
Definition: PDGCodes.h:88
const int kPdgElectron
Definition: PDGCodes.h:35
const int kPdgZ0
Definition: PDGCodes.h:190
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 kPdgKM
Definition: PDGCodes.h:173
const int kPdgGamma
Definition: PDGCodes.h:189
const int kPdgKP
Definition: PDGCodes.h:172
const int kPdgEta
Definition: PDGCodes.h:161
const int kPdgPiP
Definition: PDGCodes.h:158
const int kPdgPi0
Definition: PDGCodes.h:160
const int kPdgK0L
Definition: PDGCodes.h:176
const int kPdgOmegaM
Definition: PDGCodes.h:97
#define pWARN
Definition: Messenger.h:60
const int kPdgSigmaM
Definition: PDGCodes.h:89
const int kPdgDP
Definition: PDGCodes.h:181
const int kPdgAntiSigmaM
Definition: PDGCodes.h:92
const int kPdgXiM
Definition: PDGCodes.h:94
const int kPdgAntiNeutron
Definition: PDGCodes.h:84
const int kPdgDMs
Definition: PDGCodes.h:186
const int kPdgDM
Definition: PDGCodes.h:182
const int kPdgAntiProton
Definition: PDGCodes.h:82
const int kPdgPiM
Definition: PDGCodes.h:159
const int kPdgAntiTau
Definition: PDGCodes.h:40
const int kPdgSigmaP
Definition: PDGCodes.h:87
const int kPdgAntiXiP
Definition: PDGCodes.h:96
const int kPdgProton
Definition: PDGCodes.h:81
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 kPdgWP
Definition: PDGCodes.h:191
const int kPdgD0
Definition: PDGCodes.h:183
int genie::pdg::IonPdgCode ( int  A,
int  Z 
)

Definition at line 71 of file PDGUtils.cxx.

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

72 {
73 // Build ion PDG code from A,Z
74 
75  return IonPdgCode(A,Z,0,0);
76 }
static constexpr double A
Definition: Units.h:74
int IonPdgCode(int A, int Z)
Definition: PDGUtils.cxx:71
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 }
static constexpr double A
Definition: Units.h:74
int genie::pdg::IonPdgCodeToA ( int  pdgc)
int genie::pdg::IonPdgCodeToZ ( int  pdgc)
bool genie::pdg::Is2NucleonCluster ( int  pdgc)

Definition at line 402 of file PDGUtils.cxx.

References genie::kPdgClusterNN, genie::kPdgClusterNP, and genie::kPdgClusterPP.

Referenced by genie::Target::ForceHitNucValidity(), genie::Target::HitNucIsSet(), genie::GHepRecord::HitNucleonPosition(), ModifyNucleonCluster(), genie::Interaction::RecoilNucleonPdg(), and SaveGraphsToRootFile().

403 {
404  return (
405  pdgc == kPdgClusterNN ||
406  pdgc == kPdgClusterNP ||
407  pdgc == kPdgClusterPP
408  );
409 }
const int kPdgClusterNP
Definition: PDGCodes.h:215
const int kPdgClusterNN
Definition: PDGCodes.h:214
const int kPdgClusterPP
Definition: PDGCodes.h:216
bool genie::pdg::IsAntiBQuark ( int  pdgc)

Definition at line 316 of file PDGUtils.cxx.

References genie::kPdgAntiBQuark.

Referenced by SaveGraphsToRootFile().

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

Definition at line 311 of file PDGUtils.cxx.

References genie::kPdgAntiCQuark.

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

312 {
313  return (pdgc == kPdgAntiCQuark);
314 }
const int kPdgAntiCQuark
Definition: PDGCodes.h:49
bool genie::pdg::IsAntiDarkMatter ( int  pdgc)
bool genie::pdg::IsAntiDQuark ( int  pdgc)
bool genie::pdg::IsAntiMuon ( int  pdgc)

Definition at line 203 of file PDGUtils.cxx.

References genie::kPdgAntiMuon.

Referenced by genie::PhotonRESGenerator::ProcessEventRecord(), and genie::GLRESGenerator::ProcessEventRecord().

204 {
205  return (pdgc == kPdgAntiMuon);
206 }
const int kPdgAntiMuon
Definition: PDGCodes.h:38
bool genie::pdg::IsAntiNeutrino ( int  pdgc)

Definition at line 118 of file PDGUtils.cxx.

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::LabFrameHadronTensorI::contraction(), genie::MECInteractionListGenerator::CreateInteractionList(), genie::DFRInteractionListGenerator::CreateInteractionList(), genie::COHInteractionListGenerator::CreateInteractionList(), genie::RSPPInteractionListGenerator::CreateInteractionList(), genie::IBDInteractionListGenerator::CreateInteractionList(), genie::COHDNuInteractionListGenerator::CreateInteractionList(), genie::QELInteractionListGenerator::CreateInteractionListCC(), genie::QELInteractionListGenerator::CreateInteractionListNC(), DirNameToProbe(), FillQrkArray(), genie::SppChannel::FromInteraction(), genie::AGCharm2019::GenerateCharmHadron(), genie::DISInteractionListGenerator::GetHitQuarks(), genie::HEDISInteractionListGenerator::GetHitQuarks(), genie::AGCharm2019::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::PhotonRESGenerator::ProcessEventRecord(), genie::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::BergerSehgalFMCOHPiPXSec2015::ValidProcess(), genie::AlvarezRusoCOHPiPXSec::ValidProcess(), genie::BergerSehgalCOHPiPXSec2015::ValidProcess(), genie::LwlynSmithQELCCPXSec::ValidProcess(), genie::ReinSehgalCOHPiPXSec::ValidProcess(), genie::SuSAv2MECPXSec::ValidProcess(), genie::SuSAv2QELPXSec::ValidProcess(), genie::NievesQELCCPXSec::ValidProcess(), genie::SmithMonizQELCCPXSec::ValidProcess(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::AhrensNCELPXSec::XSec(), genie::QPMDISPXSec::XSec(), genie::AivazisCharmPXSecLO::XSec(), genie::SuSAv2QELPXSec::XSec(), genie::SuSAv2MECPXSec::XSec(), genie::ReinSehgalRESPXSec::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::MKSPPPXSec2020::XSec(), and genie::SuSAv2QELPXSec::XSecScaling().

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
bool genie::pdg::IsAntiNuE ( int  pdgc)
bool genie::pdg::IsAntiNuMu ( int  pdgc)
bool genie::pdg::IsAntiNuTau ( int  pdgc)
bool genie::pdg::IsAntiQuark ( int  pdgc)

Definition at line 258 of file PDGUtils.cxx.

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().

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 kPdgAntiDQuark
Definition: PDGCodes.h:45
const int kPdgAntiTQuark
Definition: PDGCodes.h:53
const int kPdgAntiSQuark
Definition: PDGCodes.h:47
const int kPdgAntiCQuark
Definition: PDGCodes.h:49
const int kPdgAntiBQuark
Definition: PDGCodes.h:51
bool genie::pdg::IsAntiSQuark ( int  pdgc)
bool genie::pdg::IsAntiTau ( int  pdgc)

Definition at line 213 of file PDGUtils.cxx.

References genie::kPdgAntiTau.

Referenced by genie::PhotonRESGenerator::ProcessEventRecord(), and genie::GLRESGenerator::ProcessEventRecord().

214 {
215  return (pdgc == kPdgAntiTau);
216 }
const int kPdgAntiTau
Definition: PDGCodes.h:40
bool genie::pdg::IsAntiTQuark ( int  pdgc)

Definition at line 321 of file PDGUtils.cxx.

References genie::kPdgAntiTQuark.

Referenced by SaveGraphsToRootFile().

322 {
323  return (pdgc == kPdgAntiTQuark);
324 }
const int kPdgAntiTQuark
Definition: PDGCodes.h:53
bool genie::pdg::IsAntiUQuark ( int  pdgc)
bool genie::pdg::IsBaryonResonance ( int  pdgc)

Definition at line 397 of file PDGUtils.cxx.

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

398 {
399  return utils::res::IsBaryonResonance(pdgc);
400 }
bool IsBaryonResonance(int pdgc)
is input a baryon resonance?
bool genie::pdg::IsBQuark ( int  pdgc)

Definition at line 286 of file PDGUtils.cxx.

References genie::kPdgBQuark.

Referenced by SaveGraphsToRootFile().

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

Definition at line 281 of file PDGUtils.cxx.

References genie::kPdgCQuark.

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

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

Definition at line 411 of file PDGUtils.cxx.

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

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
bool genie::pdg::IsDiQuark ( int  pdgc)

Definition at line 231 of file PDGUtils.cxx.

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::Pythia6Hadro2019::Hadronize(), genie::Pythia8Hadro2019::Hadronize(), and genie::LeptoHadronization::Hadronize().

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 kPdgBUDiquarkS0
Definition: PDGCodes.h:73
const int kPdgUUDiquarkS1
Definition: PDGCodes.h:58
const int kPdgSDDiquarkS1
Definition: PDGCodes.h:60
const int kPdgBCDiquarkS0
Definition: PDGCodes.h:77
const int kPdgBCDiquarkS1
Definition: PDGCodes.h:78
const int kPdgBUDiquarkS1
Definition: PDGCodes.h:74
const int kPdgSUDiquarkS1
Definition: PDGCodes.h:62
const int kPdgSUDiquarkS0
Definition: PDGCodes.h:61
const int kPdgSSDiquarkS1
Definition: PDGCodes.h:63
const int kPdgCSDiquarkS1
Definition: PDGCodes.h:69
const int kPdgCDDiquarkS1
Definition: PDGCodes.h:65
const int kPdgCSDiquarkS0
Definition: PDGCodes.h:68
const int kPdgSDDiquarkS0
Definition: PDGCodes.h:59
const int kPdgBBDiquarkS1
Definition: PDGCodes.h:79
const int kPdgCDDiquarkS0
Definition: PDGCodes.h:64
const int kPdgBDDiquarkS0
Definition: PDGCodes.h:71
const int kPdgUDDiquarkS1
Definition: PDGCodes.h:57
const int kPdgBSDiquarkS0
Definition: PDGCodes.h:75
const int kPdgBSDiquarkS1
Definition: PDGCodes.h:76
const int kPdgUDDiquarkS0
Definition: PDGCodes.h:56
const int kPdgCUDiquarkS1
Definition: PDGCodes.h:67
const int kPdgCCDiquarkS1
Definition: PDGCodes.h:70
const int kPdgBDDiquarkS1
Definition: PDGCodes.h:72
const int kPdgCUDiquarkS0
Definition: PDGCodes.h:66
const int kPdgDDDiquarkS1
Definition: PDGCodes.h:55
bool genie::pdg::IsDQuark ( int  pdgc)
bool genie::pdg::IsElectron ( int  pdgc)
bool genie::pdg::IsHadron ( int  pdgc)

Definition at line 392 of file PDGUtils.cxx.

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

393 {
394  return ((pdgc>=100 && pdgc<=9999) || (pdgc>=-9999 && pdgc<=-100));
395 }
bool genie::pdg::IsHNL ( int  pdgc)

Definition at line 419 of file PDGUtils.cxx.

References genie::kPdgHNL.

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

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

Definition at line 331 of file PDGUtils.cxx.

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

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

332 {
333  return (pdgc == kPdgKP || pdgc == kPdgK0 || pdgc == kPdgKM);
334 }
const int kPdgK0
Definition: PDGCodes.h:174
const int kPdgKM
Definition: PDGCodes.h:173
const int kPdgKP
Definition: PDGCodes.h:172
bool genie::pdg::IsLepton ( int  pdgc)
bool genie::pdg::IsMuon ( int  pdgc)
bool genie::pdg::IsNegChargedLepton ( int  pdgc)

Definition at line 139 of file PDGUtils.cxx.

References genie::kPdgElectron, genie::kPdgMuon, and genie::kPdgTau.

Referenced by genie::AGKYLowW2019::ApplyRijk(), genie::PythiaBaseHadro2019::AssertValidity(), genie::AGKYLowW2019::AverageChMult(), IsChargedLepton(), genie::AGKYLowW2019::KNO(), genie::ReinSehgalRESPXSec::XSec(), and genie::BSKLNBaseRESPXSec2014::XSec().

140 {
141  bool is_neg_lepton = (pdgc == kPdgElectron) ||
142  (pdgc == kPdgMuon) ||
143  (pdgc == kPdgTau);
144 
145  return is_neg_lepton;
146 }
const int kPdgElectron
Definition: PDGCodes.h:35
const int kPdgTau
Definition: PDGCodes.h:39
const int kPdgMuon
Definition: PDGCodes.h:37
bool genie::pdg::IsNeutralLepton ( int  pdgc)
bool genie::pdg::IsNeutrino ( int  pdgc)

Definition at line 110 of file PDGUtils.cxx.

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::NievesQELCCPXSec::CompareNievesTensors(), genie::LabFrameHadronTensorI::contraction(), genie::MECInteractionListGenerator::CreateInteractionList(), genie::DFRInteractionListGenerator::CreateInteractionList(), genie::COHInteractionListGenerator::CreateInteractionList(), genie::RESInteractionListGenerator::CreateInteractionList(), genie::SKInteractionListGenerator::CreateInteractionList(), genie::IBDInteractionListGenerator::CreateInteractionList(), genie::RSPPInteractionListGenerator::CreateInteractionList(), genie::COHDNuInteractionListGenerator::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::AGCharm2019::GenerateCharmHadron(), genie::DISInteractionListGenerator::GetHitQuarks(), genie::HEDISInteractionListGenerator::GetHitQuarks(), genie::AGCharm2019::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::PhotonCOHGenerator::ProcessEventRecord(), genie::PhotonRESGenerator::ProcessEventRecord(), genie::GLRESGenerator::ProcessEventRecord(), genie::HEDISStrucFunc::QrkSFCode(), genie::HEDISStrucFunc::QrkSFName(), genie::Interaction::RecoilNucleonPdg(), genie::OutgoingDarkGenerator::SetPolarization(), genie::utils::SetPrimaryLeptonPolarization(), genie::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::BergerSehgalFMCOHPiPXSec2015::ValidProcess(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::AlvarezRusoCOHPiPXSec::ValidProcess(), genie::BertuzzoDNuCOHPXSec::ValidProcess(), genie::BergerSehgalCOHPiPXSec2015::ValidProcess(), genie::LwlynSmithQELCCPXSec::ValidProcess(), genie::ReinSehgalCOHPiPXSec::ValidProcess(), genie::SuSAv2QELPXSec::ValidProcess(), genie::SuSAv2MECPXSec::ValidProcess(), genie::NievesQELCCPXSec::ValidProcess(), genie::SmithMonizQELCCPXSec::ValidProcess(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::AivazisCharmPXSecLO::XSec(), genie::LwlynSmithQELCCPXSec::XSec(), genie::PaisQELLambdaPXSec::XSec(), genie::SuSAv2MECPXSec::XSec(), genie::SuSAv2QELPXSec::XSec(), genie::ReinSehgalRESPXSec::XSec(), genie::NievesQELCCPXSec::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::MKSPPPXSec2020::XSec(), and genie::SuSAv2QELPXSec::XSecScaling().

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 kPdgNuMu
Definition: PDGCodes.h:30
const int kPdgNuTau
Definition: PDGCodes.h:32
bool genie::pdg::IsNeutron ( int  pdgc)

Definition at line 341 of file PDGUtils.cxx.

References genie::kPdgNeutron.

Referenced by genie::QELEventGeneratorSuSA::AddTargetNucleusRemnant(), genie::QELEventGenerator::AddTargetNucleusRemnant(), genie::FermiMover::AddTargetNucleusRemnant(), genie::DMELEventGenerator::AddTargetNucleusRemnant(), genie::QELEventGeneratorSM::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::AGCharm2019::Hadronize(), genie::HadronicSystemGenerator::HadronShowerCharge(), genie::AGKYLowW2019::HadronShowerCharge(), genie::HAIntranuke::Inelastic(), genie::HAIntranuke2018::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::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::RosenbluthPXSec::ValidProcess(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::LwlynSmithQELCCPXSec::ValidProcess(), genie::PaisQELLambdaPXSec::ValidProcess(), genie::BostedChristyEMPXSec::ValidProcess(), genie::SuSAv2QELPXSec::ValidProcess(), genie::ReinSehgalRESPXSec::ValidProcess(), genie::NievesQELCCPXSec::ValidProcess(), genie::KovalenkoQELCharmPXSec::ValidProcess(), genie::SmithMonizQELCCPXSec::ValidProcess(), genie::BSKLNBaseRESPXSec2014::ValidProcess(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::AhrensNCELPXSec::XSec(), genie::AivazisCharmPXSecLO::XSec(), genie::AhrensDMELPXSec::XSec(), genie::SuSAv2QELPXSec::XSec(), genie::ReinSehgalRESPXSec::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::SuSAv2QELPXSec::XSecScaling(), and genie::KovalenkoQELCharmPXSec::ZR().

342 {
343  return (pdgc == kPdgNeutron);
344 }
const int kPdgNeutron
Definition: PDGCodes.h:83
bool genie::pdg::IsNeutronOrProton ( int  pdgc)
bool genie::pdg::IsNucleon ( int  pdgc)
bool genie::pdg::IsNuE ( int  pdgc)
bool genie::pdg::IsNuMu ( int  pdgc)
bool genie::pdg::IsNuTau ( int  pdgc)
bool genie::pdg::IsParticle ( int  pdgc)

not ion or pseudo-particle

Definition at line 47 of file PDGUtils.cxx.

References IsIon(), and IsPseudoParticle().

Referenced by ConvertToGXML().

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
bool genie::pdg::IsPion ( int  pdgc)
bool genie::pdg::IsPosChargedLepton ( int  pdgc)

Definition at line 148 of file PDGUtils.cxx.

References genie::kPdgAntiMuon, genie::kPdgAntiTau, and genie::kPdgPositron.

Referenced by genie::AGKYLowW2019::ApplyRijk(), genie::PythiaBaseHadro2019::AssertValidity(), genie::AGKYLowW2019::AverageChMult(), IsChargedLepton(), genie::AGKYLowW2019::KNO(), genie::ReinSehgalRESPXSec::XSec(), and genie::BSKLNBaseRESPXSec2014::XSec().

149 {
150  bool is_pos_lepton = (pdgc == kPdgPositron) ||
151  (pdgc == kPdgAntiMuon) ||
152  (pdgc == kPdgAntiTau);
153 
154  return is_pos_lepton;
155 }
const int kPdgAntiMuon
Definition: PDGCodes.h:38
const int kPdgAntiTau
Definition: PDGCodes.h:40
const int kPdgPositron
Definition: PDGCodes.h:36
bool genie::pdg::IsPositron ( int  pdgc)

Definition at line 193 of file PDGUtils.cxx.

References genie::kPdgPositron.

Referenced by genie::PhotonRESGenerator::ProcessEventRecord(), and genie::GLRESGenerator::ProcessEventRecord().

194 {
195  return (pdgc == kPdgPositron);
196 }
const int kPdgPositron
Definition: PDGCodes.h:36
bool genie::pdg::IsProton ( int  pdgc)

Definition at line 336 of file PDGUtils.cxx.

References genie::kPdgProton.

Referenced by genie::HadronicSystemGenerator::AddTargetNucleusRemnant(), genie::QELEventGeneratorSuSA::AddTargetNucleusRemnant(), genie::QELEventGenerator::AddTargetNucleusRemnant(), genie::FermiMover::AddTargetNucleusRemnant(), genie::DMELEventGenerator::AddTargetNucleusRemnant(), genie::QELEventGeneratorSM::AddTargetNucleusRemnant(), genie::AMNuGammaGenerator::AddTargetRemnant(), genie::AGKYLowW2019::ApplyRijk(), genie::PythiaBaseHadro2019::AssertValidity(), genie::AGKYLowW2019::AverageChMult(), 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::LeptoHadronization::Hadronize(), genie::AGCharm2019::Hadronize(), genie::HadronicSystemGenerator::HadronShowerCharge(), genie::AGKYLowW2019::HadronShowerCharge(), genie::HAIntranuke::Inelastic(), genie::HAIntranuke2018::Inelastic(), genie::H3AMNuGammaPXSec::Integral(), genie::LwlynSmithQELCCPXSec::Integral(), genie::DISXSec::Integrate(), genie::HEDISXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::SPPXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalSPPXSec::Integrate(), genie::ReinSehgalRESXSecFast::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::intranuke::PionProduction(), genie::utils::intranuke2018::PionProduction(), genie::EffectiveSF::ProbDistro(), genie::FGMBodekRitchie::ProbDistro(), genie::LocalFGM::ProbDistro(), genie::QELEventGenerator::ProcessEventRecord(), genie::NucBindEnergyAggregator::ProcessEventRecord(), genie::DMELEventGenerator::ProcessEventRecord(), genie::HEDISStrucFunc::QrkSFCode(), genie::HEDISStrucFunc::QrkSFName(), SaveGraphsToRootFile(), genie::SmithMonizUtils::SetInteraction(), SwitchProtonNeutron(), genie::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::RosenbluthPXSec::ValidProcess(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::LwlynSmithQELCCPXSec::ValidProcess(), genie::PaisQELLambdaPXSec::ValidProcess(), genie::SuSAv2QELPXSec::ValidProcess(), genie::BostedChristyEMPXSec::ValidProcess(), genie::ReinSehgalRESPXSec::ValidProcess(), genie::NievesQELCCPXSec::ValidProcess(), genie::KovalenkoQELCharmPXSec::ValidProcess(), genie::SmithMonizQELCCPXSec::ValidProcess(), genie::BSKLNBaseRESPXSec2014::ValidProcess(), genie::HEDISPXSec::XSec(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::PhotonRESPXSec::XSec(), genie::AhrensNCELPXSec::XSec(), genie::ReinDFRPXSec::XSec(), genie::RosenbluthPXSec::XSec(), genie::AivazisCharmPXSecLO::XSec(), genie::QPMDISPXSec::XSec(), genie::AhrensDMELPXSec::XSec(), genie::P33PaschosLalakulichPXSec::XSec(), genie::QPMDMDISPXSec::XSec(), genie::LwlynSmithQELCCPXSec::XSec(), genie::PaisQELLambdaPXSec::XSec(), genie::SuSAv2QELPXSec::XSec(), genie::ReinSehgalRESPXSec::XSec(), genie::KovalenkoQELCharmPXSec::XSec(), genie::NievesQELCCPXSec::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::MKSPPPXSec2020::XSec(), genie::SuSAv2QELPXSec::XSecScaling(), and genie::KovalenkoQELCharmPXSec::ZR().

337 {
338  return (pdgc == kPdgProton);
339 }
const int kPdgProton
Definition: PDGCodes.h:81
bool genie::pdg::IsPseudoParticle ( int  pdgc)

Definition at line 27 of file PDGUtils.cxx.

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

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

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 kPdgIndep
Definition: PDGCodes.h:232
const int kPdgString
Definition: PDGCodes.h:231
const int kPdgCluster
Definition: PDGCodes.h:230
bool genie::pdg::IsQuark ( int  pdgc)

Definition at line 250 of file PDGUtils.cxx.

References genie::kPdgBQuark, genie::kPdgCQuark, genie::kPdgDQuark, genie::kPdgSQuark, genie::kPdgTQuark, and genie::kPdgUQuark.

Referenced by genie::Pythia6Hadro2019::Hadronize(), genie::Pythia8Hadro2019::Hadronize(), genie::LeptoHadronization::Hadronize(), genie::Target::HitQrkIsSet(), genie::InitialState::Print(), and genie::Target::SetHitQrkPdg().

251 {
252  return ( pdgc == kPdgDQuark || pdgc == kPdgUQuark ||
253  pdgc == kPdgSQuark || pdgc == kPdgCQuark ||
254  pdgc == kPdgBQuark || pdgc == kPdgTQuark
255  );
256 }
const int kPdgBQuark
Definition: PDGCodes.h:50
const int kPdgUQuark
Definition: PDGCodes.h:42
const int kPdgSQuark
Definition: PDGCodes.h:46
const int kPdgCQuark
Definition: PDGCodes.h:48
const int kPdgDQuark
Definition: PDGCodes.h:44
const int kPdgTQuark
Definition: PDGCodes.h:52
bool genie::pdg::IsSQuark ( int  pdgc)
bool genie::pdg::IsTau ( int  pdgc)
bool genie::pdg::IsTQuark ( int  pdgc)

Definition at line 291 of file PDGUtils.cxx.

References genie::kPdgTQuark.

Referenced by genie::LeptoHadronization::Hadronize(), and SaveGraphsToRootFile().

292 {
293  return (pdgc == kPdgTQuark);
294 }
const int kPdgTQuark
Definition: PDGCodes.h:52
bool genie::pdg::IsUQuark ( int  pdgc)
int genie::pdg::ModifyNucleonCluster ( int  pdgc,
int  dQ 
)

Definition at line 364 of file PDGUtils.cxx.

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

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

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 }
const int kPdgClusterNP
Definition: PDGCodes.h:215
const int kPdgClusterNN
Definition: PDGCodes.h:214
bool Is2NucleonCluster(int pdgc)
Definition: PDGUtils.cxx:402
const int kPdgClusterPP
Definition: PDGCodes.h:216
int genie::pdg::Neutrino2ChargedLepton ( int  pdgc)

Definition at line 218 of file PDGUtils.cxx.

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().

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 }
const int kPdgNuE
Definition: PDGCodes.h:28
const int kPdgAntiNuE
Definition: PDGCodes.h:29
const int kPdgNuMu
Definition: PDGCodes.h:30
const int kPdgAntiMuon
Definition: PDGCodes.h:38
const int kPdgElectron
Definition: PDGCodes.h:35
const int kPdgTau
Definition: PDGCodes.h:39
const int kPdgAntiNuTau
Definition: PDGCodes.h:33
const int kPdgAntiNuMu
Definition: PDGCodes.h:31
const int kPdgNuTau
Definition: PDGCodes.h:32
const int kPdgAntiTau
Definition: PDGCodes.h:40
const int kPdgMuon
Definition: PDGCodes.h:37
const int kPdgPositron
Definition: PDGCodes.h:36
int genie::pdg::SwitchProtonNeutron ( int  pdgc)

Definition at line 356 of file PDGUtils.cxx.

References IsNeutron(), IsProton(), genie::kPdgNeutron, and genie::kPdgProton.

Referenced by genie::SmithMonizQELCCPXSec::d3sQES_dQ2dvdkF_SM(), genie::utils::nuclear::NuclQELXSecSuppression(), genie::Interaction::RecoilNucleonPdg(), genie::SmithMonizUtils::SetInteraction(), and genie::KPhaseSpace::Threshold().

357 {
358  assert(IsProton(pdgc) || IsNeutron(pdgc));
359 
360  if (IsProton(pdgc)) return kPdgNeutron;
361  else return kPdgProton;
362 }
bool IsNeutron(int pdgc)
Definition: PDGUtils.cxx:341
bool IsProton(int pdgc)
Definition: PDGUtils.cxx:336
const int kPdgProton
Definition: PDGCodes.h:81
const int kPdgNeutron
Definition: PDGCodes.h:83