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