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::quantity_of (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::vec_of (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