-
Notifications
You must be signed in to change notification settings - Fork 0
/
particle_content.h
97 lines (75 loc) · 1.88 KB
/
particle_content.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#include <map>
#include <iostream>
//Particles definition
struct particle
{
float mass; //Particle mass
float charge; //Electric charge
float spin; //Spin
float energy; //Energy
};
//Masses in GeV, electric charges in e- units
//Charged leptons
particle ep{5e-4, +1, 0.5, 0};
particle em{5e-4, -1, 0.5, 0};
particle mup{0.105, +1, 0.5, 0};
particle mum{0.105, -1, 0.5, 0};
particle taup{1.777, +1, 0.5, 0};
particle taum{1.777, -1, 0.5, 0};
//Higgs
particle h{125, 0, 0, 0};
//Quarks
particle u{3e-2, 2/3., 0.5, 0};
particle ub{3e-2, -2/3., 0.5, 0};
particle d{7e-2, -1/3., 0.5, 0};
particle db{7e-2, 1/3., 0.5, 0};
particle s{0.12, -1/3., 0.5, 0};
particle sb{0.12, 1/3., 0.5, 0};
particle c{1.2, 2/3., 0.5, 0};
particle cb{1.2, -2/3., 0.5, 0};
particle t{174, 2/3., 0.5, 0};
particle tb{174, -2/3., 0.5, 0};
particle b{4.3, -1/3., 0.5, 0};
particle bb{4.3, 1/3., 0.5, 0};
//Neutrinos
particle ve{0, 0, 0.5, 0};
particle vu{0, 0, 0.5, 0};
particle vt{0, 0, 0.5, 0};
//Vectorial bosons
particle a{0, 0, 1, 0}; //Photon
particle g{0, 0, 1, 0}; //Gluon
particle wp{0.0804, +1, 1, 0}; //W+
particle wm{0.0804, -1, 1, 0}; //W-
particle z{0.0919, 0, 1, 0}; //Z
//Function to map a string name into a variable name
particle map(std::string p_name){
std::map<std::string,particle> p_map;
p_map["e+"] = ep;
p_map["e-"] = em;
p_map["mu+"] = mup;
p_map["mu-"] = mum;
p_map["tau+"] = taup;
p_map["tau-"] = taum;
p_map["h"] = h;
p_map["u"] = u;
p_map["u~"] = ub;
p_map["d"] = d;
p_map["d~"] = db;
p_map["c"] = c;
p_map["c~"] = cb;
p_map["s"] = s;
p_map["s~"] = sb;
p_map["t"] = t;
p_map["t~"] = tb;
p_map["b"] = b;
p_map["b~"] = bb;
p_map["a"] = a;
p_map["g"] = g;
p_map["w-"] = wm;
p_map["w+"] = wp;
p_map["z"] = z;
p_map["ve"] = ve;
p_map["vu"] = vu;
p_map["vt"] = vt;
return p_map[p_name];
}