Jpp  18.6.0-rc.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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
static const double MASS_NEUTRAL_OMEGA_C
Omega_c_0 mass [GeV].
static const double MASS_CHARGED_KAON
K^+/- mass [GeV].
static const double MASS_CHARGED_OMEGA_B
Omega_b^+/- mass [GeV].
static const double MASS_NEUTRAL_LAMBDA_B
Lambda_b^0 mass [GeV].
static const double R_EARTH_KM
Geophysics constants.
static const double COS_THETA_C_WATER
Average cosine corresponding to the group velocity.
static const double MASS_CHARGED_B
B^+/- mass [GeV].
static const double MASS_ELECTRON_NEUTRINO
electron neutrino mass [GeV]
static const double MASS_TAU_NEUTRINO
tau neutrino mass [GeV]
double getKappaC()
Get average R-dependence of arrival time of Cherenkov light (a.k.a.
static const double EULER
Euler number.
double getIndexOfRefraction()
Get average index of refraction of water corresponding to group velocity.
static const double MASS_NEUTRAL_KAON
K_0 mass [GeV].
static const double MASS_CHARGED_XI
Xi^+/- mass [GeV].
static const double SALINITY_SEA_WATER
Salinity of sea water.
static const double MASS_MUON
muon mass [GeV]
static const double INDEX_OF_REFRACTION_WATER
Average index of refraction of water corresponding to the group velocity.
static const double H
Planck constant [eV s].
static const double AVOGADRO
Avogadro&#39;s number.
static const double DENSITY_SEA_WATER
Fixed environment values.
static const double MASS_NEUTRAL_XI_C
Xi_c_0 mass [GeV].
static const double TAN_THETA_C_WATER
Derived quantities of optical medium.
static const double MASS_NEUTRON
neutron mass [GeV]
static const double HBARC
Planck constant [eV m].
double getCosThetaC()
Get average cosine of Cherenkov angle of water corresponding to group velocity.
static const double C
Physics constants.
static const double MASS_CHARGED_D_S
D_s^+/- mass [GeV].
static const double MASS_CHARGED_SIGMA
Sigma^+/- mass [GeV].
static const double HBAR
Planck constant [eV s].
static const double MASS_CHARGED_LAMBDA_C
Lambda_c^+/- mass [GeV].
static const double MASS_CHARGED_RHO
rho^+/- mass [GeV]
static const double MASS_NEUTRAL_B_S
B_s^0 mass [GeV].
Mathematical constants.
static const double MASS_TAU
tau mass [GeV]
static const double MASS_LAMBDA
Lambda mass [GeV].
static const double MASS_NEUTRAL_SIGMA_C
Sigma_c_0 mass [GeV].
static const double KAPPA_WATER
Average R-dependence of arrival time of Cherenkov light.
static const double MASS_CHARGED_PION
pi^+/- mass [GeV]
static const double MASS_CHARGED_B_C
B_c^+/- mass [GeV].
static const double PI
Mathematical constants.
static const double THETA_MCS
Multiple Coulomb scattering constant [GeV].
static const double MASS_MUON_NEUTRINO
muon neutrino mass [GeV]
static const double MASS_ELECTRON
electron mass [GeV]
static const double MASS_NEUTRAL_D
D_0 mass [GeV].
double getIndexOfRefractionPhase()
Get average index of refraction of water corresponding to phase velocity.
static const double MASS_NEUTRAL_XI
Xi_0 mass [GeV].
static const double MASS_NEUTRAL_SIGMA
Sigma_0 mass [GeV].
static const double MASS_CHARGED_SIGMA_C
Sigma_c^+/- mass [GeV].
static const double MASS_NEUTRAL_RHO
rho_0 mass [GeV]
static const double MASS_NEUTRAL_PION
pi_0 mass [GeV]
static const double MASS_CHARGED_XI_C
Xi_c^+/- mass [GeV].
const double getSpeedOfLight()
Get speed of light.
static const double MASS_CHARGED_OMEGA
Omega^+/- mass [GeV].
static const double MASS_DELTA_1232
Delta (1232) mass [GeV].
static const double NUCLEON_MOLAR_MASS
nucleon molar mass [g/mol]
static const double MASS_NEUTRAL_XI_B
Xi_b^0 mass [GeV].
static const double MASS_CHARGED_XI_B
Xi_b^+/- mass [GeV].
const double getInverseSpeedOfLight()
Get inverse speed of light.
static const double MASS_PROTON
proton mass [GeV]
static const double ALPHA_ELECTRO_MAGNETIC
Electro-Magnetic coupling constant.
static const double X0_WATER_M
Radiation length pure water [m].
static const double C_INVERSE
Inverse speed of light in vacuum [ns/m].
double getTanThetaC()
Get average tangent of Cherenkov angle of water corresponding to group velocity.
static const double MASS_PHOTON
Particle masses.
static const double SIN_THETA_C_WATER
Average sine corresponding to the group velocity.
static const double DENSITY_ROCK
Density of rock [g/cm^3].
static const double MASS_NEUTRAL_B
B_0 mass [GeV].
static const double MASS_DOUBLYCHARGED_SIGMA_C
Sigma_c^++/– mass [GeV].
double getSinThetaC()
Get average sine of Cherenkov angle of water corresponding to group velocity.
static const double DENSITY_EARTH
Average density of the Earth [gr/cm³].
static const double MASS_CHARGED_D
D^+/- mass [GeV].