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