Jpp 19.3.0-rc.3
the software that should make you happy
Loading...
Searching...
No Matches
JPhysics/JConstants.hh
Go to the documentation of this file.
1#ifndef __JPHYSICS__JCONSTANTS__
2#define __JPHYSICS__JCONSTANTS__
3
4#include <math.h>
5
6#include "JMath/JConstants.hh"
7
8
9/**
10 * \file
11 * Physics constants.
12 * \author mdejong
13 */
14namespace JPHYSICS {}
15namespace JPP { using namespace JPHYSICS; }
16
17namespace JPHYSICS {
18
19 using JMATH::PI;
20 using JMATH::EULER;
21
22 /**
23 * Physics constants.
24 */
25 static const double C = 0.299792458; //!< Speed of light in vacuum [m/ns]
26 static const double C_INVERSE = 1.0/C; //!< Inverse speed of light in vacuum [ns/m]
27 static const double AVOGADRO = 6.0221415e23; //!< Avogadro's number
28 static const double NUCLEON_MOLAR_MASS = 1.0; //!< nucleon molar mass [g/mol]
29 static const double H = 4.13566733e-15; //!< Planck constant [eV s]
30 static const double HBAR = H/(2*PI); //!< Planck constant [eV s]
31 static const double HBARC = HBAR*C*1.0e9; //!< Planck constant [eV m]
32 static const double ALPHA_ELECTRO_MAGNETIC = 1.0/137.036; //!< Electro-Magnetic coupling constant
33 static const double THETA_MCS = 13.6e-3; //!< Multiple Coulomb scattering constant [GeV]
34
35 /**
36 * Geophysics constants.
37 */
38 static const double R_EARTH_KM = 6371; //!< Radius of the Earth [m]
39 static const double DENSITY_EARTH = 5.51; //!< Average density of the Earth [gr/cm³]
40
41 /**
42 * Fixed environment values.
43 */
44 static const double DENSITY_SEA_WATER = 1.038; //!< Density of sea water [g/cm^3]
45 static const double DENSITY_ROCK = 2.65; //!< Density of rock [g/cm^3]
46 static const double SALINITY_SEA_WATER = 0.035; //!< Salinity of sea water
47 static const double INDEX_OF_REFRACTION_WATER = 1.3800851282; //!< Average index of refraction of water corresponding to the group velocity
48 static const double X0_WATER_M = 0.36; //!< Radiation length pure water [m]
49
50 /**
51 * Derived quantities of optical medium.
52 */
53 static const double TAN_THETA_C_WATER = sqrt((INDEX_OF_REFRACTION_WATER - 1.0) * (INDEX_OF_REFRACTION_WATER + 1.0)); //!< Average tangent corresponding to the group velocity
54 static const double COS_THETA_C_WATER = 1.0 / INDEX_OF_REFRACTION_WATER; //!< Average cosine corresponding to the group velocity
55 static const double SIN_THETA_C_WATER = TAN_THETA_C_WATER * COS_THETA_C_WATER; //!< Average sine corresponding to the group velocity
56 static const double KAPPA_WATER = 0.96; //!< Average R-dependence of arrival time of Cherenkov light
57
58 /**
59 * Particle masses.
60 * Note that the neutrino masses are set to zero.
61 */
62 static const double MASS_PHOTON = 0.0; //!< photon mass [GeV]
63
64 static const double MASS_ELECTRON_NEUTRINO = 0.0; //!< electron neutrino mass [GeV]
65 static const double MASS_MUON_NEUTRINO = 0.0; //!< muon neutrino mass [GeV]
66 static const double MASS_TAU_NEUTRINO = 0.0; //!< tau neutrino mass [GeV]
67
68 static const double MASS_ELECTRON = 0.510998946e-3; //!< electron mass [GeV]
69 static const double MASS_MUON = 0.1056583745; //!< muon mass [GeV]
70 static const double MASS_TAU = 1.77682; //!< tau mass [GeV]
71
72 static const double MASS_NEUTRAL_PION = 0.1349766; //!< pi_0 mass [GeV]
73 static const double MASS_CHARGED_PION = 0.13957018; //!< pi^+/- mass [GeV]
74 static const double MASS_NEUTRAL_KAON = 0.497614; //!< K_0 mass [GeV]
75 static const double MASS_CHARGED_KAON = 0.493677; //!< K^+/- mass [GeV]
76 static const double MASS_NEUTRAL_RHO = 0.77526; //!< rho_0 mass [GeV]
77 static const double MASS_CHARGED_RHO = 0.77511; //!< rho^+/- mass [GeV]
78 static const double MASS_NEUTRAL_D = 1.86483; //!< D_0 mass [GeV]
79 static const double MASS_CHARGED_D = 1.86965; //!< D^+/- mass [GeV]
80 static const double MASS_CHARGED_D_S = 1.96834; //!< D_s^+/- mass [GeV]
81
82 static const double MASS_PROTON = 0.9382720813; //!< proton mass [GeV]
83 static const double MASS_NEUTRON = 0.9395654133; //!< neutron mass [GeV]
84 static const double MASS_DELTA_1232 = 1.232; //!< Delta (1232) mass [GeV]
85 static const double MASS_LAMBDA = 1.115683; //!< Lambda mass [GeV]
86 static const double MASS_NEUTRAL_SIGMA = 1.192642; //!< Sigma_0 mass [GeV]
87 static const double MASS_CHARGED_SIGMA = 1.18937; //!< Sigma^+/- mass [GeV]
88 static const double MASS_NEUTRAL_XI = 1.31486; //!< Xi_0 mass [GeV]
89 static const double MASS_CHARGED_XI = 1.32171; //!< Xi^+/- mass [GeV]
90 static const double MASS_CHARGED_OMEGA = 1.67245; //!< Omega^+/- mass [GeV]
91 static const double MASS_CHARGED_LAMBDA_C = 2.28646; //!< Lambda_c^+/- mass [GeV]
92 static const double MASS_DOUBLYCHARGED_SIGMA_C = 2.45397; //!< Sigma_c^++/-- mass [GeV]
93 static const double MASS_CHARGED_SIGMA_C = 2.4529; //!< Sigma_c^+/- mass [GeV]
94 static const double MASS_NEUTRAL_SIGMA_C = 2.45375; //!< Sigma_c_0 mass [GeV]
95 static const double MASS_CHARGED_XI_C = 2.46793; //!< Xi_c^+/- mass [GeV]
96 static const double MASS_NEUTRAL_XI_C = 2.47091; //!< Xi_c_0 mass [GeV]
97 static const double MASS_NEUTRAL_OMEGA_C = 2.6952; //!< Omega_c_0 mass [GeV]
98 static const double MASS_NEUTRAL_B = 5.27958; //!< B_0 mass [GeV]
99 static const double MASS_CHARGED_B = 5.27926; //!< B^+/- mass [GeV]
100 static const double MASS_NEUTRAL_B_S = 5.36677; //!< B_s^0 mass [GeV]
101 static const double MASS_NEUTRAL_LAMBDA_B = 5.6194; //!< Lambda_b^0 mass [GeV]
102 static const double MASS_NEUTRAL_XI_B = 5.7878; //!< Xi_b^0 mass [GeV]
103 static const double MASS_CHARGED_XI_B = 5.7911; //!< Xi_b^+/- mass [GeV]
104 static const double MASS_CHARGED_OMEGA_B = 6.071; //!< Omega_b^+/- mass [GeV]
105 static const double MASS_CHARGED_B_C = 6.2756; //!< B_c^+/- mass [GeV]
106
107 /**
108 * Get speed of light.
109 *
110 * \return speed of light [m/ns]
111 */
112 inline const double getSpeedOfLight()
113 {
114 return C;
115 }
116
117
118 /**
119 * Get inverse speed of light.
120 *
121 * \return inverse speed of light [ns/m]
122 */
123 inline const double getInverseSpeedOfLight()
124 {
125 return C_INVERSE;
126 }
127
128
129 /**
130 * Get average index of refraction of water corresponding to group velocity.
131 *
132 * \return index of refraction
133 */
134 inline double getIndexOfRefraction()
135 {
137 }
138
139
140 /**
141 * Get average index of refraction of water corresponding to phase velocity.
142 *
143 * \return index of refraction
144 */
146 {
147 return 1.35;
148 }
149
150
151 /**
152 * Get average tangent of Cherenkov angle of water corresponding to group velocity.
153 *
154 * \return tan(theta_C)
155 */
156 inline double getTanThetaC()
157 {
158 return TAN_THETA_C_WATER;
159 }
160
161
162 /**
163 * Get average cosine of Cherenkov angle of water corresponding to group velocity.
164 *
165 * \return cos(theta_C)
166 */
167 inline double getCosThetaC()
168 {
169 return COS_THETA_C_WATER;
170 }
171
172
173 /**
174 * Get average sine of Cherenkov angle of water corresponding to group velocity.
175 *
176 * \return sin(theta_C)
177 */
178 inline double getSinThetaC()
179 {
180 return SIN_THETA_C_WATER;
181 }
182
183
184 /**
185 * Get average R-dependence of arrival time of Cherenkov light (a.k.a. kappa).
186 *
187 * \return kappa
188 */
189 inline double getKappaC()
190 {
191 return KAPPA_WATER;
192 }
193}
194
195#endif
Mathematical constants.
static const double EULER
Euler number.
static const double PI
Mathematical constants.
Auxiliary methods for light properties of deep-sea water.
static const double SALINITY_SEA_WATER
Salinity of sea water.
static const double R_EARTH_KM
Geophysics constants.
static const double MASS_PHOTON
Particle masses.
static const double ALPHA_ELECTRO_MAGNETIC
Electro-Magnetic coupling constant.
static const double MASS_CHARGED_XI_B
Xi_b^+/- mass [GeV].
static const double MASS_CHARGED_B_C
B_c^+/- mass [GeV].
double getKappaC()
Get average R-dependence of arrival time of Cherenkov light (a.k.a.
static const double MASS_NEUTRAL_SIGMA_C
Sigma_c_0 mass [GeV].
static const double DENSITY_SEA_WATER
Fixed environment values.
static const double MASS_CHARGED_OMEGA
Omega^+/- mass [GeV].
static const double MASS_CHARGED_OMEGA_B
Omega_b^+/- mass [GeV].
static const double TAN_THETA_C_WATER
Derived quantities of optical medium.
static const double DENSITY_ROCK
Density of rock [g/cm^3].
static const double MASS_CHARGED_LAMBDA_C
Lambda_c^+/- mass [GeV].
static const double MASS_ELECTRON
electron mass [GeV]
static const double DENSITY_EARTH
Average density of the Earth [gr/cm³].
static const double MASS_LAMBDA
Lambda mass [GeV].
static const double MASS_TAU_NEUTRINO
tau neutrino mass [GeV]
static const double MASS_DELTA_1232
Delta (1232) mass [GeV].
static const double INDEX_OF_REFRACTION_WATER
Average index of refraction of water corresponding to the group velocity.
static const double HBAR
Planck constant [eV s].
static const double MASS_NEUTRAL_D
D_0 mass [GeV].
static const double MASS_CHARGED_XI
Xi^+/- mass [GeV].
double getIndexOfRefraction()
Get average index of refraction of water corresponding to group velocity.
static const double MASS_CHARGED_XI_C
Xi_c^+/- mass [GeV].
static const double H
Planck constant [eV s].
double getCosThetaC()
Get average cosine of Cherenkov angle of water corresponding to group velocity.
static const double MASS_CHARGED_KAON
K^+/- mass [GeV].
static const double MASS_ELECTRON_NEUTRINO
electron neutrino mass [GeV]
static const double MASS_CHARGED_SIGMA
Sigma^+/- mass [GeV].
static const double MASS_MUON_NEUTRINO
muon neutrino mass [GeV]
static const double MASS_CHARGED_D
D^+/- mass [GeV].
static const double MASS_NEUTRAL_B
B_0 mass [GeV].
static const double MASS_NEUTRAL_LAMBDA_B
Lambda_b^0 mass [GeV].
static const double MASS_TAU
tau mass [GeV]
static const double SIN_THETA_C_WATER
Average sine corresponding to the group velocity.
static const double HBARC
Planck constant [eV m].
static const double MASS_NEUTRAL_RHO
rho_0 mass [GeV]
const double getInverseSpeedOfLight()
Get inverse speed of light.
static const double MASS_CHARGED_SIGMA_C
Sigma_c^+/- mass [GeV].
static const double MASS_CHARGED_RHO
rho^+/- mass [GeV]
double getTanThetaC()
Get average tangent of Cherenkov angle of water corresponding to group velocity.
static const double MASS_NEUTRAL_B_S
B_s^0 mass [GeV].
static const double X0_WATER_M
Radiation length pure water [m].
static const double MASS_DOUBLYCHARGED_SIGMA_C
Sigma_c^++/– mass [GeV]
static const double MASS_CHARGED_B
B^+/- mass [GeV].
static const double AVOGADRO
Avogadro's number.
static const double MASS_NEUTRAL_PION
pi_0 mass [GeV]
static const double MASS_NEUTRAL_XI_B
Xi_b^0 mass [GeV].
double getSinThetaC()
Get average sine of Cherenkov angle of water corresponding to group velocity.
static const double MASS_NEUTRAL_XI_C
Xi_c_0 mass [GeV].
static const double MASS_CHARGED_D_S
D_s^+/- mass [GeV].
static const double MASS_CHARGED_PION
pi^+/- mass [GeV]
const double getSpeedOfLight()
Get speed of light.
static const double MASS_NEUTRAL_KAON
K_0 mass [GeV].
static const double MASS_NEUTRAL_XI
Xi_0 mass [GeV].
static const double NUCLEON_MOLAR_MASS
nucleon molar mass [g/mol]
double getIndexOfRefractionPhase()
Get average index of refraction of water corresponding to phase velocity.
static const double THETA_MCS
Multiple Coulomb scattering constant [GeV].
static const double C_INVERSE
Inverse speed of light in vacuum [ns/m].
static const double MASS_NEUTRAL_SIGMA
Sigma_0 mass [GeV].
static const double MASS_NEUTRAL_OMEGA_C
Omega_c_0 mass [GeV].
static const double COS_THETA_C_WATER
Average cosine corresponding to the group velocity.
static const double C
Physics constants.
static const double KAPPA_WATER
Average R-dependence of arrival time of Cherenkov light.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).