9using CLHEP::electron_mass_c2;
10using CLHEP::proton_mass_c2;
11using CLHEP::neutron_mass_c2;
12using CLHEP::c_squared;
13using CLHEP::electron_charge;
19 : total(ftotal), projection(fprojection) {
20 mfunname(
"spin_def::spin_def(float ftotal, float fprojection)");
30particle_def
electron_def(
"electron",
"e-", electron_mass_c2 / c_squared,
31 electron_charge, 1, 0, 0.5, spin_def(0.0, 0.0));
34particle_def
muon_minus_def(
"muon_minus",
"mu-", 105.658367 * MeV / c_squared,
35 electron_charge, 1, 0, 0.5, spin_def(0.0, 0.0));
38particle_def
proton_def(
"proton",
"p+", proton_mass_c2 / c_squared, eplus, 0, 1,
39 0.5, spin_def(0.5, 0.5));
41particle_def
neutron_def(
"neutron",
"n", neutron_mass_c2 / c_squared, 0, 0, 1,
42 0.5, spin_def(0.5, -0.5));
45particle_def
P11_def(
"P11",
"P11", 1440.0 * MeV / c_squared, 1 * eplus, 0, 1,
46 0.5, spin_def(0.5, 0.5));
47particle_def
D13_def(
"D13",
"D13", 1520.0 * MeV / c_squared, 1 * eplus, 0, 1,
48 1.5, spin_def(0.5, 0.5));
49particle_def
S11_def(
"S11",
"S11", 1535.0 * MeV / c_squared, 1 * eplus, 0, 1,
50 0.5, spin_def(0.5, 0.5));
54 139.56755 * MeV / c_squared, eplus, 0, 0, 0.0,
57 139.56755 * MeV / c_squared, -eplus, 0, 0, 0.0,
59particle_def
pi_0_meson_def(
"pi_0_meson",
"pi0", 134.9734 * MeV / c_squared, 0,
60 0, 0, 0.0, spin_def(1.0, 0.0));
61particle_def
eta_meson_def(
"eta_meson_def",
"eta", 548.8 * MeV / c_squared, 0,
62 0, 0, 1.0, spin_def(0.0, 0.0));
64 493.677 * MeV / c_squared, 1, 0, 0, 0.0,
68particle_def
deuteron_def(
"deuteron",
"dtr", 1875.613 * MeV / c_squared, eplus,
69 0, 2, 0.0, spin_def(0.0, 0.0));
71 3727.417 * MeV / c_squared, 2 * eplus, 0, 4,
72 0.0, spin_def(0.0, 0.0));
75 139.56755 * MeV / c_squared, eplus, 0, 0, 0.0,
79 const std::string& fnotation,
double fmass,
80 double fcharge,
int flepton_n,
int fbaryon_n,
81 float fspin,
const spin_def& fisospin) {
100 if (!(fname ==
"" || fname ==
" "))
name = fname;
101 if (!(fnotation ==
"" || fnotation ==
" "))
notation = fnotation;
107 std::string aname =
"anti-" + p.
name;
108 std::string anot =
"anti-" + p.
notation;
113 static std::list<particle_def*> logbook;
123 if (!particle)
continue;
124 if (particle->notation == fnotation)
return particle;
134 if (l > 0) file << (*this);
137 Ifile <<
"particle_def::printall:\n";
139 if (particle) file << particle;
147 <<
" mass/(GeV/c_squared)=" << f.
mass / (GeV / c_squared)
148 <<
" charge=" << f.
charge <<
" charge/eplus=" << f.
charge / eplus
156 mfunname(
"particle_type::particle_type(const char* name, int s)");
158 if (name == particle->notation) {
164 if (name == particle->name) {
170 mcerr <<
"this type of particle is absent, name=" << name <<
'\n';
186 file <<
"type is not initialized";
#define check_econd11(a, signb, stream)
#define check_econd12(a, sign, b, stream)
static particle_def * get_particle_def(const std::string &fnotation)
void verify()
Check that there is no particle with the same name in the container.
static const std::list< particle_def * > & get_const_logbook()
void print(std::ostream &file, int l) const
void set_mass(const double m)
static std::list< particle_def * > & get_logbook()
particle_def anti_particle(const particle_def &p)
Function for making an anti-particle.
void set_charge(const double z)
static void printall(std::ostream &file)
std::string notation
Short name to make data summary files short.
void print_notation(std::ostream &file) const
Helper class for definition of spin.
particle_def pi_minus_meson_def("pi_minus_meson", "pi-", 139.56755 *MeV/c_squared, -eplus, 0, 0, 0.0, spin_def(1.0, -1.0))
particle_def pi_plus_meson_def("pi_plus_meson", "pi+", 139.56755 *MeV/c_squared, eplus, 0, 0, 0.0, spin_def(1.0, 1.0))
particle_def D13_def("D13", "D13", 1520.0 *MeV/c_squared, 1 *eplus, 0, 1, 1.5, spin_def(0.5, 0.5))
particle_def muon_minus_def("muon_minus", "mu-", 105.658367 *MeV/c_squared, electron_charge, 1, 0, 0.5, spin_def(0.0, 0.0))
particle_def alpha_particle_def("alpha_particle", "alpha", 3727.417 *MeV/c_squared, 2 *eplus, 0, 4, 0.0, spin_def(0.0, 0.0))
particle_def anti_proton_def("", "p-", proton_def)
std::ostream & operator<<(std::ostream &file, const BGMesh &bgm)
particle_def deuteron_def("deuteron", "dtr", 1875.613 *MeV/c_squared, eplus, 0, 2, 0.0, spin_def(0.0, 0.0))
particle_def proton_def("proton", "p+", proton_mass_c2/c_squared, eplus, 0, 1, 0.5, spin_def(0.5, 0.5))
particle_def pi_0_meson_def("pi_0_meson", "pi0", 134.9734 *MeV/c_squared, 0, 0, 0, 0.0, spin_def(1.0, 0.0))
particle_def neutron_def("neutron", "n", neutron_mass_c2/c_squared, 0, 0, 1, 0.5, spin_def(0.5, -0.5))
particle_def K_minus_meson_def("K_minus_meson_def", "K-", K_plus_meson_def)
particle_def eta_meson_def("eta_meson_def", "eta", 548.8 *MeV/c_squared, 0, 0, 0, 1.0, spin_def(0.0, 0.0))
particle_def K_plus_meson_def("K_plus_meson_def", "K+", 493.677 *MeV/c_squared, 1, 0, 0, 0.0, spin_def(0.5, -0.5))
particle_def P11_def("P11", "P11", 1440.0 *MeV/c_squared, 1 *eplus, 0, 1, 0.5, spin_def(0.5, 0.5))
particle_def user_particle_def("user_particle", "X", 139.56755 *MeV/c_squared, eplus, 0, 0, 0.0, spin_def(0.0, 0.0))
particle_def S11_def("S11", "S11", 1535.0 *MeV/c_squared, 1 *eplus, 0, 1, 0.5, spin_def(0.5, 0.5))
particle_def muon_plus_def("muon_plus", "mu+", muon_minus_def)
particle_def positron_def("positron", "e+", electron_def)
particle_def electron_def("electron", "e-", electron_mass_c2/c_squared, electron_charge, 1, 0, 0.5, spin_def(0.0, 0.0))
particle_def anti_neutron_def("", "", neutron_def)