Jpp - 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 [gr^-1]
28  static const double H = 4.13566733e-15; //!< Planck constant [eV s]
29  static const double HBAR = H/(2*PI); //!< Planck constant [eV s]
30  static const double HBARC = HBAR*C*1.0e9; //!< Planck constant [eV m]
31  static const double ALPHA_ELECTRO_MAGNETIC = 1.0/137.036; //!< Electro-Magnetic coupling constant
32  static const double THETA_MCS = 13.6e-3; //!< Multiple Coulomb scattering constant [GeV]
33 
34  /**
35  * Fixed environment values.
36  */
37  static const double DENSITY_SEA_WATER = 1.038; //!< Density of sea water [g/cm^3]
38  static const double DENSITY_ROCK = 2.65; //!< Density of rock [g/cm^3]
39  static const double SALINITY_SEA_WATER = 0.035; //!< Salinity of sea water
40  static const double INDEX_OF_REFRACTION_WATER = 1.3800851282; //!< Average index of refraction of water corresponding to the group velocity
41  static const double X0_WATER_M = 0.36; //!< Radiation length pure water [m]
42 
43  /**
44  * Derived quantities of optical medium.
45  */
46  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
47  static const double COS_THETA_C_WATER = 1.0 / INDEX_OF_REFRACTION_WATER; //!< Average cosine corresponding to the group velocity
48  static const double SIN_THETA_C_WATER = TAN_THETA_C_WATER * COS_THETA_C_WATER; //!< Average sine corresponding to the group velocity
49  static const double KAPPA_WATER = 0.96; //!< Average R-dependence of arrival time of Cherenkov light
50 
51  /**
52  * Particle masses.
53  * Note that the neutrino masses are set to zero.
54  */
55  static const double MASS_PHOTON = 0.0; //!< photon mass [GeV]
56 
57  static const double MASS_ELECTRON_NEUTRINO = 0.0; //!< electron neutrino mass [GeV]
58  static const double MASS_MUON_NEUTRINO = 0.0; //!< muon neutrino mass [GeV]
59  static const double MASS_TAU_NEUTRINO = 0.0; //!< tau neutrino mass [GeV]
60 
61  static const double MASS_ELECTRON = 0.510998946e-3; //!< electron mass [GeV]
62  static const double MASS_MUON = 0.1056583745; //!< muon mass [GeV]
63  static const double MASS_TAU = 1.77682; //!< tau mass [GeV]
64 
65  static const double MASS_NEUTRAL_PION = 0.1349766; //!< pi_0 mass [GeV]
66  static const double MASS_CHARGED_PION = 0.13957018; //!< pi^+/- mass [GeV]
67  static const double MASS_NEUTRAL_KAON = 0.497614; //!< K_0 mass [GeV]
68  static const double MASS_CHARGED_KAON = 0.493677; //!< K^+/- mass [GeV]
69  static const double MASS_NEUTRAL_RHO = 0.77526; //!< rho_0 mass [GeV]
70  static const double MASS_CHARGED_RHO = 0.77511; //!< rho^+/- mass [GeV]
71  static const double MASS_NEUTRAL_D = 1.86483; //!< D_0 mass [GeV]
72  static const double MASS_CHARGED_D = 1.86965; //!< D^+/- mass [GeV]
73  static const double MASS_CHARGED_D_S = 1.96834; //!< D_s^+/- mass [GeV]
74 
75  static const double MASS_PROTON = 0.9382720813; //!< proton mass [GeV]
76  static const double MASS_NEUTRON = 0.9395654133; //!< neutron mass [GeV]
77  static const double MASS_DELTA_1232 = 1.232; //!< Delta (1232) mass [GeV]
78  static const double MASS_LAMBDA = 1.115683; //!< Lambda mass [GeV]
79  static const double MASS_NEUTRAL_SIGMA = 1.192642; //!< Sigma_0 mass [GeV]
80  static const double MASS_CHARGED_SIGMA = 1.18937; //!< Sigma^+/- mass [GeV]
81  static const double MASS_NEUTRAL_XI = 1.31486; //!< Xi_0 mass [GeV]
82  static const double MASS_CHARGED_XI = 1.32171; //!< Xi^+/- mass [GeV]
83  static const double MASS_CHARGED_OMEGA = 1.67245; //!< Omega^+/- mass [GeV]
84  static const double MASS_CHARGED_LAMBDA_C = 2.28646; //!< Lambda_c^+/- mass [GeV]
85  static const double MASS_DOUBLYCHARGED_SIGMA_C = 2.45397; //!< Sigma_c^++/-- mass [GeV]
86  static const double MASS_CHARGED_SIGMA_C = 2.4529; //!< Sigma_c^+/- mass [GeV]
87  static const double MASS_NEUTRAL_SIGMA_C = 2.45375; //!< Sigma_c_0 mass [GeV]
88  static const double MASS_CHARGED_XI_C = 2.46793; //!< Xi_c^+/- mass [GeV]
89  static const double MASS_NEUTRAL_XI_C = 2.47091; //!< Xi_c_0 mass [GeV]
90  static const double MASS_NEUTRAL_OMEGA_C = 2.6952; //!< Omega_c_0 mass [GeV]
91  static const double MASS_NEUTRAL_B = 5.27958; //!< B_0 mass [GeV]
92  static const double MASS_CHARGED_B = 5.27926; //!< B^+/- mass [GeV]
93  static const double MASS_NEUTRAL_B_S = 5.36677; //!< B_s^0 mass [GeV]
94  static const double MASS_NEUTRAL_LAMBDA_B = 5.6194; //!< Lambda_b^0 mass [GeV]
95  static const double MASS_NEUTRAL_XI_B = 5.7878; //!< Xi_b^0 mass [GeV]
96  static const double MASS_CHARGED_XI_B = 5.7911; //!< Xi_b^+/- mass [GeV]
97  static const double MASS_CHARGED_OMEGA_B = 6.071; //!< Omega_b^+/- mass [GeV]
98  static const double MASS_CHARGED_B_C = 6.2756; //!< B_c^+/- mass [GeV]
99 
100  /**
101  * Get speed of light.
102  *
103  * return speed of light [m/ns]
104  */
105  inline const double getSpeedOfLight()
106  {
107  return C;
108  }
109 
110 
111  /**
112  * Get inverse speed of light.
113  *
114  * return inverse speed of light [ns/m]
115  */
116  inline const double getInverseSpeedOfLight()
117  {
118  return C_INVERSE;
119  }
120 
121 
122  /**
123  * Get average index of refraction of water corresponding to group velocity.
124  *
125  * \return index of refraction
126  */
127  inline double getIndexOfRefraction()
128  {
130  }
131 
132 
133  /**
134  * Get average index of refraction of water corresponding to phase velocity.
135  *
136  * \return index of refraction
137  */
138  inline double getIndexOfRefractionPhase()
139  {
140  return 1.35;
141  }
142 
143 
144  /**
145  * Get average tangent of Cherenkov angle of water corresponding to group velocity.
146  *
147  * \return tan(theta_C)
148  */
149  inline double getTanThetaC()
150  {
151  return TAN_THETA_C_WATER;
152  }
153 
154 
155  /**
156  * Get average cosine of Cherenkov angle of water corresponding to group velocity.
157  *
158  * \return cos(theta_C)
159  */
160  inline double getCosThetaC()
161  {
162  return COS_THETA_C_WATER;
163  }
164 
165 
166  /**
167  * Get average sine of Cherenkov angle of water corresponding to group velocity.
168  *
169  * \return sin(theta_C)
170  */
171  inline double getSinThetaC()
172  {
173  return SIN_THETA_C_WATER;
174  }
175 
176 
177  /**
178  * Get average R-dependence of arrival time of Cherenkov light (a.k.a. kappa).
179  *
180  * \return kappa
181  */
182  inline double getKappaC()
183  {
184  return KAPPA_WATER;
185  }
186 }
187 
188 #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 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 [gr^-1].
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 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 MASS_CHARGED_D
D^+/- mass [GeV].