Jpp  master_rocky-43-ge265d140c
the software that should make you happy
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  */
14 namespace JPHYSICS {}
15 namespace JPP { using namespace JPHYSICS; }
16 
17 namespace 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  */
145  inline double getIndexOfRefractionPhase()
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_MUON
muon mass [GeV]
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 MASS_NEUTRON
neutron 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 MASS_PROTON
proton mass [GeV]
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).