1 #ifndef __JAANET__JPDB__
2 #define __JAANET__JPDB__
23 namespace JPP {
using namespace JAANET; }
77 return out << setw(32) << left << particle.
name <<
" "
78 << setw( 6) << right << particle.
pdg <<
" "
79 << setw( 6) << right << particle.
geant <<
" "
98 #define MAKE_PARTICLE(PDG, GEANT, MASS) JParticle(#PDG, PDG, GEANT, MASS)
229 if (p != this->end())
259 if (p != this->end())
277 out << setw(32) << left <<
"particle" <<
" "
278 << setw( 6) << right <<
"PDG" <<
" "
279 << setw( 6) << right <<
"GEANT" <<
" "
280 << setw(12) << right <<
"Mass [GeV]" << endl;
282 for (JPDB::const_iterator i = pdb.begin(); i != pdb.end(); ++i) {
static const double MASS_NEUTRAL_OMEGA_C
Omega_c_0 mass [GeV].
static const double MASS_CHARGED_KAON
K^+/- mass [GeV].
std::string name
name of particle
static const double MASS_CHARGED_OMEGA_B
Omega_b^+/- mass [GeV].
static const double MASS_NEUTRAL_LAMBDA_B
Lambda_b^0 mass [GeV].
JPredicate< JResult_t T::*, JComparison::eq > make_predicate(JResult_t T::*member, const JResult_t value)
Helper method to create predicate for data member.
static const double MASS_CHARGED_B
B^+/- mass [GeV].
static const double MASS_ELECTRON_NEUTRINO
electron neutrino mass [GeV]
static const double MASS_TAU_NEUTRINO
tau neutrino mass [GeV]
static const double MASS_NEUTRAL_KAON
K_0 mass [GeV].
static const double MASS_CHARGED_XI
Xi^+/- mass [GeV].
const JParticle & getGEANT(const int geant) const
Get particle corresponding to given GEANT code.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
static const double MASS_MUON
muon mass [GeV]
const JParticle & getPDG(const int pdg) const
Get particle corresponding to given PDG code.
JParticle()
Default constructor.
Auxiliary data structure for floating point format specification.
static const double MASS_NEUTRAL_XI_C
Xi_c_0 mass [GeV].
JPDB()
Default constructor.
static const JPDB & getInstance()
Get particle data book.
static const double MASS_NEUTRON
neutron mass [GeV]
static const double MASS_CHARGED_D_S
D_s^+/- mass [GeV].
static const double MASS_CHARGED_SIGMA
Sigma^+/- mass [GeV].
static const double MASS_CHARGED_LAMBDA_C
Lambda_c^+/- mass [GeV].
static const double MASS_NEUTRAL_B_S
B_s^0 mass [GeV].
bool hasGEANT(const int geant) const
Check if PDB has particle corresponding to given GEANT code.
friend std::ostream & operator<<(std::ostream &out, const JPDB &pdb)
Print particle data book.
static const double MASS_TAU
tau mass [GeV]
static const double MASS_LAMBDA
Lambda mass [GeV].
static const double MASS_CHARGED_PION
pi^+/- mass [GeV]
static const double MASS_CHARGED_B_C
B_c^+/- mass [GeV].
static const double MASS_MUON_NEUTRINO
muon neutrino mass [GeV]
static const double MASS_ELECTRON
electron mass [GeV]
static const double MASS_NEUTRAL_D
D_0 mass [GeV].
Auxiliary class to handle particle name, codes and mass.
static const double MASS_NEUTRAL_XI
Xi_0 mass [GeV].
bool hasPDG(const int pdg) const
Check if PDB has particle corresponding to given PDG code.
static const double MASS_NEUTRAL_SIGMA
Sigma_0 mass [GeV].
double mass
mass of particle [GeV]
static const double MASS_NEUTRAL_PION
pi_0 mass [GeV]
static const double MASS_CHARGED_XI_C
Xi_c^+/- mass [GeV].
static const double MASS_CHARGED_OMEGA
Omega^+/- mass [GeV].
friend std::ostream & operator<<(std::ostream &out, const JParticle &particle)
Print particle.
int geant
GEANT code of particle.
static const double MASS_NEUTRAL_XI_B
Xi_b^0 mass [GeV].
static const double MASS_CHARGED_XI_B
Xi_b^+/- mass [GeV].
static const double MASS_PROTON
proton mass [GeV]
Definition of particle types.
static const double MASS_PHOTON
Particle masses.
int pdg
PDG code of particle.
static const double MASS_NEUTRAL_B
B_0 mass [GeV].
#define MAKE_PARTICLE(PDG, GEANT, MASS)
Auxiliary macro for particle creation.
JParticle(const std::string &name, const int pdg, const int geant, const double mass)
Constructor.
static const double MASS_CHARGED_D
D^+/- mass [GeV].