10 #ifndef SRC_INCLUDE_QUANTUMNUMBERS_H_ 11 #define SRC_INCLUDE_QUANTUMNUMBERS_H_ 76 const int c,
const int b,
const int B)
105 for (
const auto&
p : part) {
194 const double m0_invariant = std::sqrt(std::fabs(
momentum_.
sqr()));
196 const double m1_invariant = std::sqrt(std::fabs(rhs.
momentum_.
sqr()));
198 const double avg_m_inv = 0.5 * (m0_invariant + m1_invariant);
210 (std::fabs(momentum_diff.
x0()) < precision_high * avg_m_inv &&
211 std::fabs(momentum_diff.
x1()) < precision_high * avg_m_inv &&
212 std::fabs(momentum_diff.
x2()) < precision_high * avg_m_inv &&
213 std::fabs(momentum_diff.
x3()) < precision_high * avg_m_inv);
214 return (momentum_conserved &&
321 #endif // SRC_INCLUDE_QUANTUMNUMBERS_H_ int charge() const
The charge of the particle.
PdgCode pdgcode() const
Get the pdgcode of the particle.
int charmness_
Total charm.
int bottomness_
Total bottom.
int baryon_number() const
int strangeness_
Total strangeness.
int baryon_number() const
QuantumNumbers(const Particles &particles)
Construct QuantumNumbers collection from the conserved quantities found in a set of particles...
int isospin3_
Total isospin-3.
QuantumNumbers()
Construct QuantumNumbers collection with all fields 0.
void add_values(const ParticleData &p)
Add the quantum numbers of a single particle to the collection.
QuantumNumbers(const ParticleList &part)
Construct QuantumNumbers collection from a particle list.
std::string report_deviations(const Particles &particles) const
Checks if the current particle list has still the same values and reports about differences.
bool operator!=(const QuantumNumbers &rhs) const
Logical complement of QuantumNumbers::operator==.
A container for storing conserved values.
QuantumNumbers(const FourVector &m, const int q, const int i3, const int s, const int c, const int b, const int B)
double sqr() const
calculate the square of the vector (which is a scalar)
FourVector momentum_
Total momentum four-vector [GeV].
FourVector momentum() const
constexpr double small_number
Physical error tolerance.
QuantumNumbers operator-(const QuantumNumbers &rhs) const
The Particles class abstracts the storage and manipulation of particles.
int baryon_number_
Total baryon number.
bool operator==(const QuantumNumbers &rhs) const
The FourVector class holds relevant values in Minkowski spacetime with (+, −, −, −) metric signature.
ParticleData contains the dynamic information of a certain particle.
const FourVector & momentum() const
Get the particle's 4-momentum.