36#ifndef ATHENAKERNEL_UNITS_H
37#define ATHENAKERNEL_UNITS_H
40#include "GaudiKernel/SystemOfUnits.h"
41#include "GaudiKernel/PhysicalConstants.h"
58template <
int TAG>
class Unit {};
62 constexpr double recip = 1. /
static_cast<double>(u);
68 constexpr float recip = 1. /
static_cast<float>(u);
75template <> class Unit<__LINE__> \
78 constexpr operator double() const { return Gaudi::Units::NAME; } \
80constexpr static const Unit<__LINE__> NAME
Wrapper to avoid constant divisions when using units.
constexpr double operator/(double x, const Unit< TAG > u)
Some weak symbol referencing magic... These are declared in AthenaKernel/getMessageSvc....