Kinematics module

This module is a simple standalone helper module providing various relativistic conversion functions as well as range computations for protons in water (using the IEC60601 range in water conversion). Using Pint, no conversion is needed. To use the unit registry, simply import the module units:

import georges_core
from georges_core.units import ureg as _ureg

The module is capable of determining the type of the quantity that you pass to the class. The syntax is as follow:

georges_core.Kinematics(quantity, particle, kinetic)
  • Quantity
    • Total Energy

    • Kinetic Energy

    • Momentum

    • Relativist Beta

    • Relativist Gamma

    • Magnetic rigidity

    • Range: Only for protons

    • pv

  • Type of particles
    • Protons

    • Electrons

Note

The energy is the total energy by default. To have the kinetic energy instead, the argument kinetic = True must be passed to the constructor. If the energy is below the mass energy of the particles, the energy is the kinetic energy.

kin = georges_core.Kinematics(230 * _ureg.MeV, particle=georges_core.particles.Proton, kinetic=True)
kin

        Proton
        (.etot) Total energy: 1168.2720299999999 megaelectronvolt
        (.ekin) Kinetic energy: 230 megaelectronvolt
        (.momentum) Momentum: 696.0640299570144 megaelectronvolt_per_c
        (.brho): Magnetic rigidity: 2.321819896553311 meter * tesla
        (.range): Range in water (protons only): 32.9424672323197 centimeter
        (.pv): Relativistic pv: 414.71945005821954 megaelectronvolt
        (.beta): Relativistic beta: 0.5958064663732595
        (.gamma): Relativistic gamma: 1.2451314678963625
        
kin = georges_core.Kinematics(1230 * _ureg.MeV, particle=georges_core.particles.Proton, kinetic=False)
kin

        Proton
        (.etot) Total energy: 1230 megaelectronvolt
        (.ekin) Kinetic energy: 291.72797000000014 megaelectronvolt
        (.momentum) Momentum: 795.3273525534495 megaelectronvolt_per_c
        (.brho): Magnetic rigidity: 2.6529267308148445 meter * tesla
        (.range): Range in water (protons only): 49.282233038324144 centimeter
        (.pv): Relativistic pv: 514.264713593235 megaelectronvolt
        (.beta): Relativistic beta: 0.6466076037019916
        (.gamma): Relativistic gamma: 1.3109204587501133
        
kin = georges_core.Kinematics(15 * _ureg.MeV, particle=georges_core.particles.Electron, kinetic=True)
kin

        Electron
        (.etot) Total energy: 15.510998946099999 megaelectronvolt
        (.ekin) Kinetic energy: 15 megaelectronvolt
        (.momentum) Momentum: 15.502579410633572 megaelectronvolt_per_c
        (.brho): Magnetic rigidity: -0.05171103916949138 meter * tesla
        (.range): Range in water (protons only): nan
        (.pv): Relativistic pv: 15.494164445380692 megaelectronvolt
        (.beta): Relativistic beta: 0.9994571893470122
        (.gamma): Relativistic gamma: 30.354267977422744