Skip to main content

Units and constants in the HEP system of units

Project description

Scikit-HEP project package PyPI Build Status Coverage

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hepunits-2.0.1.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

hepunits-2.0.1-py2.py3-none-any.whl (9.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file hepunits-2.0.1.tar.gz.

File metadata

  • Download URL: hepunits-2.0.1.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for hepunits-2.0.1.tar.gz
Algorithm Hash digest
SHA256 840d6781325bc3a99c7f2e4ad65c13a9af8f5a98dc80045c83f1e479eb831399
MD5 7848ffc3334e2e2ee5351b24ae039d5a
BLAKE2b-256 758a754bc433e49540445a35dda2e23b5b2776133259f8a997e0a6077a0e0236

See more details on using hashes here.

File details

Details for the file hepunits-2.0.1-py2.py3-none-any.whl.

File metadata

  • Download URL: hepunits-2.0.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for hepunits-2.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 08d060abbb2f772beddabcf65cfb8d7f1bfb733422be72b235c83d98a399c976
MD5 71a261d4e4d76349d14056ebc83fb93c
BLAKE2b-256 42fb5e3b3a0809e9c4ad844a7dca0d10d3522401edb10d4f208ef83770380268

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page