SHiP Data Model
Event data model for the SHiP experiment: C++ data classes with ROOT dictionary support.
Loading...
Searching...
No Matches
Namespaces | Typedefs | Functions | Variables
Units.hpp File Reference
#include <mp-units/systems/hep.h>
#include <array>
Include dependency graph for Units.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  ship
 Canonical ShipSoft unit vocabulary.
 
namespace  ship::units
 

Typedefs

using ship::Length = mp_units::quantity< units::mm, double >
 Canonical quantity types: double representation, storage unit baked in.
 
using ship::Time = mp_units::quantity< units::ns, double >
 
using ship::Energy = mp_units::quantity< units::GeV, double >
 
using ship::Momentum = mp_units::quantity< units::GeV_per_c, double >
 
using ship::Mass = mp_units::quantity< units::GeV_per_c2, double >
 
using ship::Angle = mp_units::quantity< units::rad, double >
 
using ship::MagneticField = mp_units::quantity< units::tesla, double >
 
template<typename Q >
using ship::Vec3 = std::array< Q, 3 >
 

Functions

template<typename Q >
constexpr Q ship::quantityOf (double v)
 Wrap a raw scalar, interpreting it in Q's canonical unit (bitwise).
 
template<typename Q >
constexpr double ship::raw (Q q)
 Unwrap a scalar quantity to a raw double in Q's canonical unit (bitwise).
 
template<typename Q >
constexpr Vec3< Q > ship::vecOf (std::array< double, 3 > const &v)
 Wrap a raw 3-vector, interpreting it in Q's canonical unit (bitwise).
 
template<typename Q >
constexpr std::array< double, 3 > ship::raw (Vec3< Q > const &v)
 Unwrap a quantity 3-vector to raw doubles in Q's canonical unit (bitwise).
 

Variables

constexpr auto ship::units::mm = mp_units::si::milli<mp_units::si::metre>
 
constexpr auto ship::units::cm = mp_units::si::centi<mp_units::si::metre>
 
constexpr auto ship::units::m = mp_units::si::metre
 
constexpr auto ship::units::ns = mp_units::si::nano<mp_units::si::second>
 
constexpr auto ship::units::s = mp_units::si::second
 
constexpr auto ship::units::rad = mp_units::si::radian
 
constexpr auto ship::units::MeV = mp_units::hep::unit_symbols::MeV
 
constexpr auto ship::units::GeV = mp_units::hep::unit_symbols::GeV
 
constexpr auto ship::units::c = mp_units::hep::speed_of_light
 
constexpr auto ship::units::GeV_per_c = GeV / c
 
constexpr auto ship::units::GeV_per_c2 = GeV / mp_units::square(c)
 
constexpr auto ship::units::mm_per_c = mm / c
 
constexpr auto ship::units::tesla = mp_units::si::tesla