Constants.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \namespace genie::constants
5 
6 \brief Basic constants
7 
8 \author Costas Andreopoulos <constantinos.andreopoulos \at cern.ch>
9  University of Liverpool & STFC Rutherford Appleton Laboratory
10 
11 \created May 03, 2004
12 
13 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
14  For the full text of the license visit http://copyright.genie-mc.org
15 */
16 //____________________________________________________________________________
17 
18 #ifndef _CONSTANTS_H_
19 #define _CONSTANTS_H_
20 
21 #include <TMath.h>
22 
24 
25 namespace genie {
26 namespace constants {
27 
28 //
29 // Fundamental constants
30 //
31 static const double kLightSpeed = 1.;
32 static const double kPlankConstant = 1.;
33 
34 //
35 // pi, e,...
36 //
37 static const double kPi = TMath::Pi();
38 static const double kPi2 = TMath::Power(kPi,2);
39 static const double kPi3 = TMath::Power(kPi,3);
40 static const double kPi4 = TMath::Power(kPi,4);
41 static const double kSqrtPi= TMath::Sqrt(kPi);
42 
43 static const double kNapierConst = TMath::E();
44 static const double kSqrtNapierConst = TMath::Sqrt(kNapierConst);
45 
46 //
47 // Avogadro number, compton wavelength and such...
48 //
49 static const double kNA = 6.02214179E+23;
50 static const double kLe = 3.8616E-11 *units::cm;
51 static const double kLe2 = TMath::Power(kLe,2);
52 
53 //
54 // Coupling constants
55 //
56 static const double kAem = 1./137.03599976; // EM coupling const, dimensionless
57 static const double kAem2 = TMath::Power(kAem,2);
58 static const double kGF = 1.16639E-5; // Fermi const from b-decay, in GeV^-2
59 static const double kGF2 = TMath::Power(kGF,2);
60 
61 //
62 // Masses
63 //
64 // For simplicity, the most commonly used particle masses defined here.
65 // In general, however, particle masses in GENIE classes should be obtained
66 // through the genie::PDGLibrary as shown below:
67 // double mass = PDGLibrary::Instance()->Find(pdg_code)->Mass();
68 // For consistency, the values below must match whatever is used in PDGLibrary.
69 //
70 static const double kElectronMass = 5.109989461e-04; // GeV
71 static const double kMuonMass = 1.056583745e-01; // GeV
72 static const double kTauMass = 1.77686e+00; // GeV
73 static const double kPionMass = 1.3957018e-01; // GeV
74 static const double kPi0Mass = 1.349766e-01; // GeV
75 static const double kProtonMass = 9.38272081e-01; // GeV
76 static const double kNeutronMass = 9.39565413e-01; // GeV
77 static const double kNucleonMass = (kProtonMass+kNeutronMass)/2.; //GeV
78 static const double kLightestChmHad = 1.870; // GeV ~lightest charm hadron+
79 static const double kPhotontest = 1E-6; // GeV
80 
81 
82 
83 static const double kElectronMass2 = TMath::Power(kElectronMass,2); // GeV^2
84 static const double kMuonMass2 = TMath::Power(kMuonMass,2); // GeV^2
85 static const double kTauMass2 = TMath::Power(kTauMass,2); // GeV^2
86 static const double kPionMass2 = TMath::Power(kPionMass,2); // GeV^2
87 static const double kProtonMass2 = TMath::Power(kProtonMass,2); // GeV^2
88 static const double kNeutronMass2 = TMath::Power(kNeutronMass,2); // GeV^2
89 static const double kNucleonMass2 = TMath::Power(kNucleonMass,2); // GeV^2
90 
91 static const double kMw = 8.0385e+01; // GeV - W boson mass
92 static const double kMz = 9.11876e+01; // GeV - Z boson mass
93 static const double kMw2 = TMath::Power(kMw,2); // GeV^2
94 static const double kMz2 = TMath::Power(kMz,2); // GeV^2
95 
96 //
97 // Misc constants for empirical formulas
98 //
99 static const double kNucRo = 1.2E-15 * units::m; // Ro in nuclear radius formula R=Ro*A^(1/3), in GeV^-1
100 static const double kNucDensity = 2.3E+17 * units::kg/units::m3; // Nuclear density (in nuclear core), in GeV^4
101 
102 
103 //FMTOGEV
104 static const double FMTOGEV= 5.0761421;
105 
106 
107 //
108 // Earth consts
109 //
110 static const double kREarth = 6371 * units::km;
111 
112 //
113 // Sqrts frequently encountered in helicity amplitude calculations
114 //
115 static const double kSqrt2 = 1.4142136;
116 static const double kSqrt3 = 1.7320508;
117 static const double kSqrt4 = 2.0;
118 static const double kSqrt5 = 2.236068;
119 static const double kSqrt6 = 2.4494897;
120 static const double kSqrt7 = 2.6457513;
121 static const double kSqrt8 = 2.8284271;
122 static const double kSqrt9 = 3.0;
123 static const double kSqrt10 = 3.1622777;
124 static const double kSqrt12 = 3.4641016;
125 static const double kSqrt15 = 3.8729833;
126 static const double kSqrt18 = 4.2426407;
127 static const double kSqrt20 = 4.472136;
128 static const double kSqrt24 = 4.8989795;
129 static const double kSqrt27 = 5.1961524;
130 static const double kSqrt30 = 5.4772256;
131 static const double kSqrt35 = 5.9160798;
132 static const double kSqrt40 = 6.3245553;
133 static const double kSqrt60 = 7.7459667;
134 static const double kSqrt120 = 10.954451;
135 static const double k1_Sqrt2 = 0.70710678;
136 static const double k1_Sqrt3 = 0.57735027;
137 static const double k1_Sqrt5 = 0.44721360;
138 static const double k1_Sqrt6 = 0.40824829;
139 static const double k1_Sqrt7 = 0.37796447;
140 static const double k1_Sqrt10 = 0.31622777;
141 static const double k1_Sqrt15 = 0.25819889;
142 static const double k1_Sqrt24 = 0.20412415;
143 static const double k1_Sqrt30 = 0.18257419;
144 static const double k1_Sqrt35 = 0.16903085;
145 static const double k1_Sqrt60 = 0.12909944;
146 static const double k1_Sqrt120 = 0.091287093;
147 static const double k2_Sqrt3 = 1.1547005;
148 static const double k2_Sqrt5 = 0.89442719;
149 static const double k2_Sqrt15 = 0.51639778;
150 static const double k2_Sqrt35 = 0.3380617;
151 static const double k3_Sqrt2 = 2.1213203;
152 static const double k3_Sqrt5 = 1.3416408;
153 static const double k3_Sqrt10 = 0.9486833;
154 static const double k3_Sqrt20 = 0.67082039;
155 static const double k3_Sqrt40 = 0.47434165;
156 static const double kSqrt2_3 = 0.81649658;
157 static const double kSqrt2_5 = 0.63245553;
158 static const double kSqrt2_6 = 0.57735027;
159 static const double kSqrt2_7 = 0.53452248;
160 static const double kSqrt2_15 = 0.36514837;
161 static const double kSqrt3_2 = 1.2247449;
162 static const double kSqrt3_4 = 0.8660254;
163 static const double kSqrt3_5 = 0.77459667;
164 static const double kSqrt3_8 = 0.61237244;
165 static const double kSqrt3_10 = 0.54772256;
166 static const double kSqrt3_18 = 0.40824829;
167 static const double kSqrt3_20 = 0.38729833;
168 static const double kSqrt3_35 = 0.29277002;
169 static const double kSqrt3_40 = 0.27386128;
170 static const double kSqrt4_15 = 0.51639778;
171 static const double kSqrt5_2 = 1.5811388;
172 static const double kSqrt5_3 = 1.2909944;
173 static const double kSqrt5_8 = 0.79056942;
174 static const double kSqrt5_12 = 0.64549722;
175 static const double kSqrt6_5 = 1.0954451;
176 static const double kSqrt6_35 = 0.41403934;
177 static const double kSqrt9_10 = 0.9486833;
178 static const double kSqrt9_40 = 0.47434165;
179 static const double kSqrt18_5 = 1.8973666;
180 static const double kSqrt18_20 = 0.9486833;
181 static const double kSqrt18_35 = 0.71713717;
182 static const double kSqrt24_35 = 0.82807867;
183 static const double kSqrt27_10 = 1.6431677;
184 static const double kSqrt27_40 = 0.82158384;
185 
186 } // namespace constants
187 } // namespace genie
188 
189 #endif // _CONSTANTS_H_
static constexpr double cm
Definition: Units.h:68
static const double k3_Sqrt10
Definition: Constants.h:153
static const double kSqrt3_40
Definition: Constants.h:169
static const double kSqrt35
Definition: Constants.h:131
static const double kSqrt3
Definition: Constants.h:116
static const double kSqrt60
Definition: Constants.h:133
static const double kSqrt5_3
Definition: Constants.h:172
static const double kNapierConst
Definition: Constants.h:43
static const double kSqrt10
Definition: Constants.h:123
static const double kSqrt7
Definition: Constants.h:120
static const double kSqrt2
Definition: Constants.h:115
static const double kSqrt15
Definition: Constants.h:125
static const double kMw2
Definition: Constants.h:93
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
static const double kSqrt18
Definition: Constants.h:126
static const double kLe2
Definition: Constants.h:51
static const double kNucleonMass
Definition: Constants.h:77
static const double kSqrtNapierConst
Definition: Constants.h:44
static const double kLe
Definition: Constants.h:50
static const double kPi0Mass
Definition: Constants.h:74
static const double kSqrt2_15
Definition: Constants.h:160
static const double kMz2
Definition: Constants.h:94
static const double kSqrt6
Definition: Constants.h:119
static const double kSqrtPi
Definition: Constants.h:41
static const double k1_Sqrt5
Definition: Constants.h:137
static const double kPhotontest
Definition: Constants.h:79
static const double kSqrt3_4
Definition: Constants.h:162
static constexpr double kg
Definition: Units.h:143
static const double k1_Sqrt10
Definition: Constants.h:140
static const double kLightestChmHad
Definition: Constants.h:78
static const double kSqrt40
Definition: Constants.h:132
static const double kSqrt9_40
Definition: Constants.h:178
static const double k1_Sqrt3
Definition: Constants.h:136
static const double k1_Sqrt6
Definition: Constants.h:138
static constexpr double km
Definition: Units.h:64
static const double k2_Sqrt5
Definition: Constants.h:148
static const double FMTOGEV
Definition: Constants.h:104
static const double kElectronMass
Definition: Constants.h:70
static const double kSqrt27_40
Definition: Constants.h:184
static const double kSqrt9_10
Definition: Constants.h:177
static const double kSqrt5_12
Definition: Constants.h:174
static const double kTauMass
Definition: Constants.h:72
static const double k3_Sqrt2
Definition: Constants.h:151
static const double kAem
Definition: Constants.h:56
static const double kSqrt12
Definition: Constants.h:124
static const double kPi3
Definition: Constants.h:39
static const double kMz
Definition: Constants.h:92
static const double kSqrt9
Definition: Constants.h:122
static const double kSqrt4
Definition: Constants.h:117
static const double kElectronMass2
Definition: Constants.h:83
static const double k1_Sqrt120
Definition: Constants.h:146
static const double kSqrt24_35
Definition: Constants.h:182
static const double kAem2
Definition: Constants.h:57
static const double kSqrt30
Definition: Constants.h:130
static const double kTauMass2
Definition: Constants.h:85
static const double kSqrt18_20
Definition: Constants.h:180
static const double kSqrt5
Definition: Constants.h:118
static const double kMuonMass2
Definition: Constants.h:84
static const double kSqrt2_7
Definition: Constants.h:159
static const double kSqrt3_35
Definition: Constants.h:168
static const double kNeutronMass
Definition: Constants.h:76
static const double k3_Sqrt40
Definition: Constants.h:155
static const double k1_Sqrt35
Definition: Constants.h:144
static const double kSqrt120
Definition: Constants.h:134
static const double kNA
Definition: Constants.h:49
static const double kSqrt20
Definition: Constants.h:127
static const double kSqrt3_10
Definition: Constants.h:165
static const double kGF
Definition: Constants.h:58
static const double kSqrt27
Definition: Constants.h:129
static const double kSqrt3_5
Definition: Constants.h:163
static const double k1_Sqrt24
Definition: Constants.h:142
static const double kNucleonMass2
Definition: Constants.h:89
static const double kSqrt3_8
Definition: Constants.h:164
static const double kSqrt3_2
Definition: Constants.h:161
static const double kNucDensity
Definition: Constants.h:100
static constexpr double m3
Definition: Units.h:73
static const double k2_Sqrt3
Definition: Constants.h:147
static const double kLightSpeed
Definition: Constants.h:31
static const double kSqrt4_15
Definition: Constants.h:170
static const double kMw
Definition: Constants.h:91
static const double kSqrt8
Definition: Constants.h:121
static const double k1_Sqrt15
Definition: Constants.h:141
static const double kSqrt5_2
Definition: Constants.h:171
static const double kSqrt24
Definition: Constants.h:128
static const double kNucRo
Definition: Constants.h:99
static const double kMuonMass
Definition: Constants.h:71
static const double kREarth
Definition: Constants.h:110
static const double kPionMass
Definition: Constants.h:73
static const double kSqrt5_8
Definition: Constants.h:173
static const double k3_Sqrt5
Definition: Constants.h:152
static const double kSqrt2_5
Definition: Constants.h:157
E
Definition: 018_def.c:13
static const double kSqrt18_5
Definition: Constants.h:179
static const double kSqrt27_10
Definition: Constants.h:183
static const double kSqrt2_3
Definition: Constants.h:156
static const double k3_Sqrt20
Definition: Constants.h:154
static const double k1_Sqrt60
Definition: Constants.h:145
static const double kPi4
Definition: Constants.h:40
static const double k2_Sqrt15
Definition: Constants.h:149
static const double kProtonMass2
Definition: Constants.h:87
static const double k2_Sqrt35
Definition: Constants.h:150
static const double kSqrt6_5
Definition: Constants.h:175
static const double kGF2
Definition: Constants.h:59
static const double k1_Sqrt2
Definition: Constants.h:135
static const double kNeutronMass2
Definition: Constants.h:88
static const double kPlankConstant
Definition: Constants.h:32
static const double kPi
Definition: Constants.h:37
static constexpr double m
Definition: Units.h:71
static const double k1_Sqrt30
Definition: Constants.h:143
static const double kProtonMass
Definition: Constants.h:75
static const double kSqrt3_20
Definition: Constants.h:167
static const double kPi2
Definition: Constants.h:38
static const double kSqrt3_18
Definition: Constants.h:166
static const double k1_Sqrt7
Definition: Constants.h:139
static const double kSqrt6_35
Definition: Constants.h:176
static const double kSqrt2_6
Definition: Constants.h:158
static const double kSqrt18_35
Definition: Constants.h:181
static const double kPionMass2
Definition: Constants.h:86