67 bool isBaryon()
const;
69 bool isDiQuark()
const;
71 bool isHadron()
const;
73 bool isLepton()
const;
75 bool isNucleus()
const;
80 bool hasQuarks()
const;
82 bool hasQuark(
const Quark& q )
const;
101 int threeCharge()
const;
120 int fundamentalID()
const;
123 int extraBits()
const;
126 constexpr std::uint32_t pows[10] = { 1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000 };
127 return (
abspid() / pows[loc - 1] ) % 10;
137 return std::tie( i1,
m_pid ) < std::tie( i2, o.
m_pid );
141 std::ostream& fillStream( std::ostream& s )
const;
143 std::string toString()
const;
145 static std::ostream& printLocation(
const long l, std::ostream& s );
147 static std::string printLocation(
const long l );
149 static std::ostream& printQuark(
const long q, std::ostream& s );
151 static std::string printQuark(
const long q );
Holds PDG + LHCb extension particle code, following the PDG particle numbering scheme (pdg....
bool hasTop() const
Return if the PID is a particle with a top quark.
bool hasTopPrime() const
Return if the PID is a particle with a top' quark.
Location
PDG ID digits (base 10) are: n nr nl nq1 ne2 nq3 nj.
bool hasBottom() const
Return if the PID is a particle with a bottom quark.
static std::ostream & printLocation(const long l, std::ostream &s)
Fill a stream with the PID digit enumeration.
bool hasUp() const
Return if the PID is a particle with an up quark.
bool hasStrange() const
Return if the PID is a particle with a down quark.
static std::ostream & printQuark(const long q, std::ostream &s)
Fill a stream with the PID quark enumeration.
bool operator<(const ParticleID &o) const
Comparison operator.
constexpr unsigned int abspid() const
Absolute value of the PDG ID.
bool operator!=(const ParticleID &o) const
Non-equality operator.
ParticleID(const int pid=0)
Constructor with PDG code.
void setPid(const int pid)
Update the PDG ID.
bool hasQuark(const Quark &q) const
Return if the PID is a particle containing a specified quark flavor.
int pid() const
Retrieve the PDG ID.
bool operator==(const ParticleID &o) const
Equality operator.
bool hasBottomPrime() const
Return if the PID is a particle with a bottom' quark.
constexpr unsigned short digit(const Location &loc) const
Return the digit for a given PDG ID digit location.
bool hasCharm() const
Return if the PID is a particle with a charm quark.
bool hasDown() const
Return if the PID is a particle with a down quark.
std::ostream & fillStream(std::ostream &s) const
Fill a stream with the PID.
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
std::ostream & operator<<(std::ostream &o, const Gaudi::StringKey &key)
printout of the object reply on the native printout for the string
Gaudi::ParticleID abs(const Gaudi::ParticleID &p)
Return the absolute value for a PID.
size_t operator()(const Gaudi::ParticleID &s) const
size_t operator()(const Gaudi::ParticleID &s) const
size_t operator()(const Gaudi::ParticleID &s) const
size_t operator()(const Gaudi::ParticleID &s) const