Iguana
0.0.0
Implementation Guardian of Analysis Algorithms
Loading...
Searching...
No Matches
iguana_src
src
iguana
algorithms
TypeDefs.h
Go to the documentation of this file.
1
3
#pragma once
4
5
#include <string>
6
#include <unordered_map>
7
8
namespace
iguana
{
9
11
using
vector_element_t
= double;
12
14
struct
Momentum3
{
16
vector_element_t
px
;
18
vector_element_t
py
;
20
vector_element_t
pz
;
21
};
22
24
struct
Momentum4
{
26
vector_element_t
px
;
28
vector_element_t
py
;
30
vector_element_t
pz
;
32
vector_element_t
E
;
33
};
34
36
namespace
particle {
37
// clang-format off
38
40
enum
PDG
{
41
electron = 11,
42
photon = 22,
43
proton = 2212,
44
antiproton = -2212,
45
neutron = 2112,
46
antineutron = -2112,
47
pi_plus = 211,
48
pi_minus = -211,
49
kaon_plus = 321,
50
kaon_minus = -321
51
};
52
54
const
std::unordered_map<PDG, std::string>
name
{
55
{ electron,
"electron"
},
56
{ photon,
"photon"
},
57
{ proton,
"proton"
},
58
{ antiproton,
"antiproton"
},
59
{ neutron,
"neutron"
},
60
{ antineutron,
"antineutron"
},
61
{ pi_plus,
"pi_plus"
},
62
{ pi_minus,
"pi_minus"
},
63
{ kaon_plus,
"kaon_plus"
},
64
{ kaon_minus,
"kaon_minus"
}
65
};
66
68
const
std::unordered_map<PDG, std::string>
title
{
69
{ electron,
"e^{-}"
},
70
{ photon,
"#gamma"
},
71
{ proton,
"p"
},
72
{ antiproton,
"#bar{p}"
},
73
{ neutron,
"n"
},
74
{ antineutron,
"#bar{n}"
},
75
{ pi_plus,
"#pi^{+}"
},
76
{ pi_minus,
"#pi^{-}"
},
77
{ kaon_plus,
"K^{+}"
},
78
{ kaon_minus,
"K^{-}"
}
79
};
80
82
const
std::unordered_map<PDG, double>
mass
{
83
{ electron, 0.000511 },
84
{ photon, 0.0 },
85
{ proton, 0.938272 },
86
{ antiproton, 0.938272 },
87
{ neutron, 0.939565 },
88
{ antineutron, 0.939565 },
89
{ pi_plus, 0.139570 },
90
{ pi_minus, 0.139570 },
91
{ kaon_plus, 0.493677 },
92
{ kaon_minus, 0.493677 }
93
};
94
95
// clang-format on
96
}
97
98
}
iguana::particle::name
const std::unordered_map< PDG, std::string > name
Particle names.
Definition
TypeDefs.h:54
iguana::particle::mass
const std::unordered_map< PDG, double > mass
Particle mass in GeV.
Definition
TypeDefs.h:82
iguana::particle::PDG
PDG
PDG codes.
Definition
TypeDefs.h:40
iguana::particle::title
const std::unordered_map< PDG, std::string > title
Particle titles.
Definition
TypeDefs.h:68
iguana
General, top-level namespace for algorithms and infrastructure. For algorithms and bindings,...
Definition
Algorithm.h:14
iguana::vector_element_t
double vector_element_t
Vector element type.
Definition
TypeDefs.h:11
iguana::Momentum3
3-momentum type
Definition
TypeDefs.h:14
iguana::Momentum3::pz
vector_element_t pz
-component
Definition
TypeDefs.h:20
iguana::Momentum3::py
vector_element_t py
-component
Definition
TypeDefs.h:18
iguana::Momentum3::px
vector_element_t px
-component
Definition
TypeDefs.h:16
iguana::Momentum4
4-momentum type
Definition
TypeDefs.h:24
iguana::Momentum4::px
vector_element_t px
-component
Definition
TypeDefs.h:26
iguana::Momentum4::E
vector_element_t E
-component
Definition
TypeDefs.h:32
iguana::Momentum4::py
vector_element_t py
-component
Definition
TypeDefs.h:28
iguana::Momentum4::pz
vector_element_t pz
-component
Definition
TypeDefs.h:30
Generated by
1.12.0