FairShip
Loading...
Searching...
No Matches
hepunit.py
Go to the documentation of this file.
1# SPDX-License-Identifier: LGPL-3.0-or-later
2# SPDX-FileCopyrightText: Copyright CERN for the benefit of the SHiP Collaboration
3
4"""
5# ==================================================================
6# Python module
7#
8# This module defines physical units and constants used in HEP,
9# which are imported from CLHEP library.
10#
11# Q, 2005
12# ==================================================================
13"""
14# $Id: hepunit.py 66892 2013-01-17 10:57:59Z gunter $
15
16# ==================================================================
17# imported from "SystemOfUnits.h"
18# ==================================================================
19millimeter = 1.0
20millimeter2 = millimeter * millimeter
21millimeter3 = millimeter * millimeter * millimeter
22
23centimeter = 10.0 * millimeter
24centimeter2 = centimeter * centimeter
25centimeter3 = centimeter * centimeter * centimeter
26
27meter = 1000.0 * millimeter
28meter2 = meter * meter
29meter3 = meter * meter * meter
30
31kilometer = 1000.0 * meter
32kilometer2 = kilometer * kilometer
33kilometer3 = kilometer * kilometer * kilometer
34
35parsec = 3.0856775807e16 * meter
36
37micrometer = 1.0e-6 * meter
38nanometer = 1.0e-9 * meter
39angstrom = 1.0e-10 * meter
40fermi = 1.0e-15 * meter
41
42barn = 1.0e-28 * meter2
43millibarn = 1.0e-3 * barn
44microbarn = 1.0e-6 * barn
45nanobarn = 1.0e-9 * barn
46picobarn = 1.0e-12 * barn
47
48# symbols
49mm = millimeter
50mm2 = millimeter2
51mm3 = millimeter3
52
53cm = centimeter
54cm2 = centimeter2
55cm3 = centimeter3
56
57m = meter
58m2 = meter2
59m3 = meter3
60
61km = kilometer
62km2 = kilometer2
63km3 = kilometer3
64
65pc = parsec
66
67#
68# Angle
69#
70radian = 1.0
71milliradian = 1.0e-3 * radian
72degree = (3.14159265358979323846 / 180.0) * radian
73
74steradian = 1.0
75
76# symbols
77rad = radian
78mrad = milliradian
79sr = steradian
80deg = degree
81
82#
83# Time [T]
84#
85nanosecond = 1.0
86second = 1.0e9 * nanosecond
87millisecond = 1.0e-3 * second
88microsecond = 1.0e-6 * second
89picosecond = 1.0e-12 * second
90
91hertz = 1.0 / second
92kilohertz = 1.0e3 * hertz
93megahertz = 1.0e6 * hertz
94
95# symbols
96ns = nanosecond
97s = second
98ms = millisecond
99
100#
101# Electric charge [Q]
102#
103eplus = 1.0 # positron charge
104e_SI = 1.60217733e-19 # positron charge in coulomb
105coulomb = eplus / e_SI # coulomb = 6.24150 e+18 * eplus
106
107#
108# Energy [E]
109#
110megaelectronvolt = 1.0
111electronvolt = 1.0e-6 * megaelectronvolt
112kiloelectronvolt = 1.0e-3 * megaelectronvolt
113gigaelectronvolt = 1.0e3 * megaelectronvolt
114teraelectronvolt = 1.0e6 * megaelectronvolt
115petaelectronvolt = 1.0e9 * megaelectronvolt
116
117joule = electronvolt / e_SI # joule = 6.24150 e+12 * MeV
118
119# symbols
120MeV = megaelectronvolt
121eV = electronvolt
122keV = kiloelectronvolt
123GeV = gigaelectronvolt
124TeV = teraelectronvolt
125PeV = petaelectronvolt
126
127#
128# Mass [E][T^2][L^-2]
129#
130kilogram = joule * second * second / (meter * meter)
131gram = 1.0e-3 * kilogram
132milligram = 1.0e-3 * gram
133
134# symbols
135kg = kilogram
136g = gram
137mg = milligram
138
139#
140# Power [E][T^-1]
141#
142watt = joule / second # watt = 6.24150 e+3 * MeV/ns
143
144#
145# Force [E][L^-1]
146#
147newton = joule / meter # newton = 6.24150 e+9 * MeV/mm
148
149#
150# Pressure [E][L^-3]
151#
152pascal = newton / m2 # pascal = 6.24150 e+3 * MeV/mm3
153bar = 100000 * pascal # bar = 6.24150 e+8 * MeV/mm3
154atmosphere = 101325 * pascal # atm = 6.32420 e+8 * MeV/mm3
155
156#
157# Electric current [Q][T^-1]
158#
159ampere = coulomb / second # ampere = 6.24150 e+9 * eplus/ns
160milliampere = 1.0e-3 * ampere
161microampere = 1.0e-6 * ampere
162nanoampere = 1.0e-9 * ampere
163
164#
165# Electric potential [E][Q^-1]
166#
167megavolt = megaelectronvolt / eplus
168kilovolt = 1.0e-3 * megavolt
169volt = 1.0e-6 * megavolt
170
171#
172# Electric resistance [E][T][Q^-2]
173#
174ohm = volt / ampere # ohm = 1.60217e-16*(MeV/eplus)/(eplus/ns)
175
176#
177# Electric capacitance [Q^2][E^-1]
178#
179farad = coulomb / volt # farad = 6.24150e+24 * eplus/Megavolt
180millifarad = 1.0e-3 * farad
181microfarad = 1.0e-6 * farad
182nanofarad = 1.0e-9 * farad
183picofarad = 1.0e-12 * farad
184
185#
186# Magnetic Flux [T][E][Q^-1]
187#
188weber = volt * second # weber = 1000*megavolt*ns
189
190#
191# Magnetic Field [T][E][Q^-1][L^-2]
192#
193tesla = volt * second / meter2 # tesla =0.001*megavolt*ns/mm2
194
195gauss = 1.0e-4 * tesla
196kilogauss = 1.0e-1 * tesla
197
198#
199# Inductance [T^2][E][Q^-2]
200#
201henry = weber / ampere # henry = 1.60217e-7*MeV*(ns/eplus)**2
202
203#
204# Temperature
205#
206kelvin = 1.0
207
208#
209# Amount of substance
210#
211mole = 1.0
212
213#
214# Activity [T^-1]
215#
216becquerel = 1.0 / second
217curie = 3.7e10 * becquerel
218
219#
220# Absorbed dose [L^2][T^-2]
221#
222gray = joule / kilogram
223
224#
225# Luminous intensity [I]
226#
227candela = 1.0
228
229#
230# Luminous flux [I]
231#
232lumen = candela * steradian
233
234#
235# Illuminance [I][L^-2]
236#
237lux = lumen / meter2
238
239#
240# Miscellaneous
241#
242perCent = 0.01
243perThousand = 0.001
244perMillion = 0.000001
245
246
247# ==================================================================
248# imported from "PhysicalConstants.h"
249# ==================================================================
250pi = 3.14159265358979323846
251twopi = 2.0 * pi
252halfpi = pi / 2.0
253pi2 = pi * pi
254
255#
256Avogadro = 6.0221367e23 / mole
257
258# c = 299.792458 mm/ns
259# c^2 = 898.7404 (mm/ns)^2
260c_light = 2.99792458e8 * m / s
261c_squared = c_light * c_light
262
263# h = 4.13566e-12 MeV*ns
264# hbar = 6.58212e-13 MeV*ns
265# hbarc = 197.32705e-12 MeV*mm
266h_Planck = 6.6260755e-34 * joule * s
267hbar_Planck = h_Planck / twopi
268hbarc = hbar_Planck * c_light
269hbarc_squared = hbarc * hbarc
270
271#
272electron_charge = -eplus # see SystemOfUnits.h
273e_squared = eplus * eplus
274
275# amu_c2 - atomic equivalent mass unit
276# amu - atomic mass unit
277electron_mass_c2 = 0.51099906 * MeV
278proton_mass_c2 = 938.27231 * MeV
279neutron_mass_c2 = 939.56563 * MeV
280amu_c2 = 931.49432 * MeV
281amu = amu_c2 / c_squared
282
283# permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm
284# permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm)
285mu0 = 4 * pi * 1.0e-7 * henry / m
286epsilon0 = 1.0 / (c_squared * mu0)
287
288# electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2)
289elm_coupling = e_squared / (4 * pi * epsilon0)
290fine_structure_const = elm_coupling / hbarc
291classic_electr_radius = elm_coupling / electron_mass_c2
292electron_Compton_length = hbarc / electron_mass_c2
293Bohr_radius = electron_Compton_length / fine_structure_const
294
295alpha_rcl2 = fine_structure_const * classic_electr_radius * classic_electr_radius
296twopi_mc2_rcl2 = twopi * electron_mass_c2 * classic_electr_radius * classic_electr_radius
297
298#
299k_Boltzmann = 8.617385e-11 * MeV / kelvin
300
301#
302STP_Temperature = 273.15 * kelvin
303STP_Pressure = 1.0 * atmosphere
304kGasThreshold = 10.0 * mg / cm3
305
306#
307universe_mean_density = 1.0e-25 * g / cm3