forked from celeritas-project/celeritas
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Quantities.hh
45 lines (41 loc) · 1.68 KB
/
Quantities.hh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//----------------------------------*-C++-*----------------------------------//
// Copyright 2020-2024 UT-Battelle, LLC, and other Celeritas developers.
// See the top-level COPYRIGHT file for details.
// SPDX-License-Identifier: (Apache-2.0 OR MIT)
//---------------------------------------------------------------------------//
//! \file celeritas/Quantities.hh
//! \brief Derivative unit classes and annotated Quantity values
//---------------------------------------------------------------------------//
#pragma once
#include "corecel/Macros.hh"
#include "corecel/math/Quantity.hh" // IWYU pragma: export
#include "UnitTypes.hh" // IWYU pragma: export
namespace celeritas
{
namespace units
{
//---------------------------------------------------------------------------//
//!@{
//! \name Units for particle quantities
using ElementaryCharge = Quantity<EElectron>;
using MevEnergy = Quantity<Mev>;
using LogMevEnergy = Quantity<LogMev>;
using MevMass = Quantity<MevPerCsq>;
using MevMomentum = Quantity<MevPerC>;
using MevMomentumSq = Quantity<UnitProduct<MevPerC, MevPerC>>;
using LightSpeed = Quantity<CLight>;
using AmuMass = Quantity<Amu>;
//!@}
//---------------------------------------------------------------------------//
//!@{
//! \name Units for manual input and/or test harnesses
using CmLength = Quantity<Centimeter>;
using InvCmXs = Quantity<UnitInverse<Centimeter>>;
using InvCcDensity = Quantity<InvCentimeterCubed>;
using MolCcDensity = Quantity<MolPerCentimeterCubed>;
using GramCcDensity = Quantity<GramPerCentimeterCubed>;
using FieldTesla = Quantity<Tesla>;
//!@}
//---------------------------------------------------------------------------//
} // namespace units
} // namespace celeritas