Units and constants in the HEP system of units
Project description
hepunits collects the most commonly used units and constants in the HEP System of Units, as derived from the basic units originally defined by the CLHEP project, which are not the same as the SI system of units:
Quantity
Name
Unit
Length
millimeter
mm
Time
nanosecond
ns
Energy
Mega electron Volt
MeV
Positron charge
eplus
Temperature
kelvin
K
Amount of substance
mole
mol
Luminous intensity
candela
cd
Plane angle
radian
rad
Solid angle
steradian
sr
It is largely based on the international system of units (SI)
Quantity
Name
Unit
Length
meter
m
Time
second
s
Mass
kilogram
kg
Electric current
ampere
A
Temperature
kelvin
K
Amount of substance
mole
mol
Luminous intensity
candela
cd
but augments it with handy definitions, changing the basic length and time units.
Note that many units are now exact, such as the speed of light in vacuum. The package is in agreement with the values in the 2020 Particle Data Group review.
Installation
Install hepunits like any other Python package:
pip install hepunits
or similar (use e.g. virtualenv if you wish).
Getting started
The package contains 2 modules - constants and units, whose names are self-explanatory. It may be more readable to import quantities explicitly from each of the modules though everything is available from the top-level as from hepunits import ....
The module hepunits.constants contains 2 sorts of constants: physical constants and commonly used constants.
The typical usage is the following:
>>> from hepunits.constants import c_light
>>> from hepunits.units import picosecond, micrometer
>>> tau_Bs = 1.5 * picosecond # a particle lifetime, say the Bs meson's
>>> ctau_Bs = c_light * tau_Bs # ctau of the particle, ~450 microns
>>> print ctau_Bs # result in HEP units, so mm
0.449688687
>>> print ctau_Bs / micrometer # result in micrometers
449.688687
Typical usage of the hepunits.units module:
>>> # add two quantities with length units and get the result in meters
>>> from hepunits import units as u
>>> (1 * u.meter + 5 * u.cm) / u.meter
1.05
>>> # the default result is, of course, in HEP units, so mm
>>> 1 * u.meter + 5 * u.cm
1050.0
>>> from hepunits.units import MeV, GeV
>>> massWindow = 100 * MeV # define a 100 MeV mass window
>>> def energy_resolution():
... # returns the energy resolution of 100 MeV
... return 100 * MeV
...
>>> energy_resolution() / GeV # get the energy resolution in GeV
0.1
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file hepunits-2.1.0.tar.gz
.
File metadata
- Download URL: hepunits-2.1.0.tar.gz
- Upload date:
- Size: 13.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e8da814c242579ad1fde6ccff0514195c70ab6d232eab8ff0ad675239686ef6 |
|
MD5 | f510e7bb9e80fa87cc2b68ba5a413281 |
|
BLAKE2b-256 | 48a9f81f6b6f76e76b162d33e9839b2ff31876830c86bd5ca52fb6b2db1bcd55 |
File details
Details for the file hepunits-2.1.0-py2.py3-none-any.whl
.
File metadata
- Download URL: hepunits-2.1.0-py2.py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e85da92394feee9477ef951855f7ce521dc82c7b8907ad51728cc9060bf4d851 |
|
MD5 | 8a7e5201ccb75a9238ad9ecba276f945 |
|
BLAKE2b-256 | 359296cb7336fcc0529c1abff3b80ebe00ce7a8f4a8a85d6d092202ede0b3c2f |