BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
All Classes Namespaces Functions Variables Typedefs Friends Modules Pages
Units Namespace Reference

Constants and functions for physical unit conversions. More...

Variables

static constexpr double angstrom = 1.e-1 * nanometer
 
static constexpr double deg = (3.1415926535897932 / 180.0) * rad
 
static constexpr double gauss = 1e-4
 
static constexpr double micrometer = 1.e+3 * nanometer
 
static constexpr double millimeter = 1.e+6 * nanometer
 
static constexpr double nanometer = 1.
 Internal unit for lengths.
 
static constexpr double nm = nanometer
 
static constexpr double nm2 = nanometer * nanometer
 
static constexpr double rad = 1.
 Radian, internal unit for angles.
 
static constexpr double tesla = 1.
 Internal unit for magnetic fields.
 

Detailed Description

Constants and functions for physical unit conversions.

In user code, quantities that have a physical dimension should always be given in the form value * unit, e.g. 0.529 * angstrom for a length, or 45 * deg for an angle.

Internally, BornAgain has length, angle, magnetic field units of nanometer, radians, Tesla. Therefore, in principle, the multipliers nm, rad, tesla could be ommited from code. However, to make code more readable, and to prevent misunderstandings, we recommend that physical dimension be always made clear by multiplying values with an appropriate constant, even if this expands to 1.