diff --git a/Core/Simulation/StandardSimulations.cpp b/Core/Simulation/StandardSimulations.cpp
index 39aadc5f64ac94efcfc49034ad90a8f4e5153fab..e516720542e768f85f8a0df37504b07c5e9ecc9d 100644
--- a/Core/Simulation/StandardSimulations.cpp
+++ b/Core/Simulation/StandardSimulations.cpp
@@ -49,9 +49,9 @@ const double rdet_width(20.0), rdet_height(18.0), rdet_distance(1000.0);
 GISASSimulation* StandardSimulations::BasicGISAS()
 {
     GISASSimulation* result = new GISASSimulation();
-    result->setDetectorParameters(100, 0.0 * Units::degree, 2.0 * Units::degree, 100,
-                                  0.0 * Units::degree, 2.0 * Units::degree);
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setDetectorParameters(100, 0.0 * Units::deg, 2.0 * Units::deg, 100, 0.0 * Units::deg,
+                                  2.0 * Units::deg);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
     return result;
 }
 
@@ -82,9 +82,9 @@ GISASSimulation* StandardSimulations::BasicPolarizedGISAS()
 GISASSimulation* StandardSimulations::MiniGISAS()
 {
     GISASSimulation* result = new GISASSimulation();
-    result->setDetectorParameters(25, -2.0 * Units::degree, 2.0 * Units::degree, 25,
-                                  0.0 * Units::degree, 2.0 * Units::degree);
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setDetectorParameters(25, -2.0 * Units::deg, 2.0 * Units::deg, 25, 0.0 * Units::deg,
+                                  2.0 * Units::deg);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
     return result;
 }
 
@@ -93,9 +93,9 @@ GISASSimulation* StandardSimulations::MiniGISAS()
 GISASSimulation* StandardSimulations::MiniGISAS_v2()
 {
     GISASSimulation* result = new GISASSimulation();
-    result->setDetectorParameters(25, -1.0 * Units::degree, 1.0 * Units::degree, 25,
-                                  0.0 * Units::degree, 1.0 * Units::degree);
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setDetectorParameters(25, -1.0 * Units::deg, 1.0 * Units::deg, 25, 0.0 * Units::deg,
+                                  1.0 * Units::deg);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
     return result;
 }
 
@@ -106,8 +106,8 @@ GISASSimulation* StandardSimulations::MiniGISASBeamDivergence()
     GISASSimulation* result = MiniGISAS();
 
     DistributionLogNormal wavelength_distr(1.0 * Units::angstrom, 0.1);
-    DistributionGaussian alpha_distr(0.2 * Units::degree, 0.02 * Units::degree);
-    DistributionGate phi_distr(-0.1 * Units::degree, 0.02 * Units::degree);
+    DistributionGaussian alpha_distr(0.2 * Units::deg, 0.02 * Units::deg);
+    DistributionGate phi_distr(-0.1 * Units::deg, 0.02 * Units::deg);
 
     ParameterPattern pattern1;
     pattern1.beginsWith("*").add("Beam").add("Wavelength");
@@ -127,14 +127,14 @@ GISASSimulation* StandardSimulations::MiniGISASBeamDivergence()
 GISASSimulation* StandardSimulations::GISASWithMasks()
 {
     GISASSimulation* result = new GISASSimulation();
-    result->setDetectorParameters(50, -1.0 * Units::degree, 1.0 * Units::degree, 50,
-                                  0.0 * Units::degree, 2.0 * Units::degree);
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setDetectorParameters(50, -1.0 * Units::deg, 1.0 * Units::deg, 50, 0.0 * Units::deg,
+                                  2.0 * Units::deg);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
     result->setBeamIntensity(1e+7);
 
     result->maskAll();
     // pacman
-    const double deg = Units::degree;
+    const double deg = Units::deg;
     result->addMask(Ellipse(0.0 * deg, 1.0 * deg, 0.5 * deg, 0.5 * deg), false);
     result->addMask(Ellipse(0.11 * deg, 1.25 * deg, 0.05 * deg, 0.05 * deg), true);
 
@@ -219,9 +219,9 @@ GISASSimulation* StandardSimulations::MiniGISASPolarizationMM()
 GISASSimulation* StandardSimulations::MiniGISASSpecularPeak()
 {
     GISASSimulation* result = new GISASSimulation();
-    result->setDetectorParameters(25, -2.0 * Units::degree, 2.0 * Units::degree, 25,
-                                  0.0 * Units::degree, 2.0 * Units::degree);
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setDetectorParameters(25, -2.0 * Units::deg, 2.0 * Units::deg, 25, 0.0 * Units::deg,
+                                  2.0 * Units::deg);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
     result->getOptions().setIncludeSpecular(true);
     return result;
 }
@@ -231,9 +231,9 @@ GISASSimulation* StandardSimulations::MiniGISASSpecularPeak()
 GISASSimulation* StandardSimulations::MaxiGISAS()
 {
     GISASSimulation* result = new GISASSimulation();
-    result->setDetectorParameters(256, -2.0 * Units::degree, 2.0 * Units::degree, 256,
-                                  0.0 * Units::degree, 2.0 * Units::degree);
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setDetectorParameters(256, -2.0 * Units::deg, 2.0 * Units::deg, 256, 0.0 * Units::deg,
+                                  2.0 * Units::deg);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
     return result;
 }
 
@@ -254,10 +254,10 @@ GISASSimulation* StandardSimulations::IsGISAXSSimulation1()
 {
     GISASSimulation* result = new GISASSimulation();
     IsGISAXSDetector detector;
-    detector.setDetectorParameters(100, -1.0 * Units::degree, 1.0 * Units::degree, 100,
-                                   0.0 * Units::degree, 2.0 * Units::degree);
+    detector.setDetectorParameters(100, -1.0 * Units::deg, 1.0 * Units::deg, 100, 0.0 * Units::deg,
+                                   2.0 * Units::deg);
     result->setDetector(detector);
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
     return result;
 }
 
@@ -267,10 +267,10 @@ GISASSimulation* StandardSimulations::IsGISAXSSimulation2()
 {
     GISASSimulation* result = new GISASSimulation();
     IsGISAXSDetector detector;
-    detector.setDetectorParameters(100, 0.0 * Units::degree, 2.0 * Units::degree, 100,
-                                   0.0 * Units::degree, 2.0 * Units::degree);
+    detector.setDetectorParameters(100, 0.0 * Units::deg, 2.0 * Units::deg, 100, 0.0 * Units::deg,
+                                   2.0 * Units::deg);
     result->setDetector(detector);
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
     return result;
 }
 
@@ -279,7 +279,7 @@ GISASSimulation* StandardSimulations::IsGISAXSSimulation2()
 GISASSimulation* StandardSimulations::RectDetectorGeneric()
 {
     GISASSimulation* result = new GISASSimulation();
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
 
     RectangularDetector detector(rdet_nbinsx, rdet_width, rdet_nbinsy, rdet_height);
     detector.setPosition(kvector_t(rdet_distance, 10.0, 5.0), rdet_width / 2., 1.0,
@@ -294,7 +294,7 @@ GISASSimulation* StandardSimulations::RectDetectorGeneric()
 GISASSimulation* StandardSimulations::RectDetectorPerpToSample()
 {
     GISASSimulation* result = new GISASSimulation();
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
 
     RectangularDetector detector(rdet_nbinsx, rdet_width, rdet_nbinsy, rdet_height);
     detector.setPerpendicularToSampleX(rdet_distance, rdet_width / 2., 1.0);
@@ -308,7 +308,7 @@ GISASSimulation* StandardSimulations::RectDetectorPerpToSample()
 GISASSimulation* StandardSimulations::RectDetectorPerpToDirectBeam()
 {
     GISASSimulation* result = new GISASSimulation();
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
 
     RectangularDetector detector(rdet_nbinsx, rdet_width, rdet_nbinsy, rdet_height);
     detector.setPerpendicularToDirectBeam(rdet_distance, rdet_width / 2., 1.0);
@@ -322,7 +322,7 @@ GISASSimulation* StandardSimulations::RectDetectorPerpToDirectBeam()
 GISASSimulation* StandardSimulations::RectDetectorPerpToReflectedBeam()
 {
     GISASSimulation* result = new GISASSimulation();
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
 
     RectangularDetector detector(rdet_nbinsx, rdet_width, rdet_nbinsy, rdet_height);
     detector.setPerpendicularToReflectedBeam(rdet_distance, rdet_width / 2., 1.0);
@@ -337,7 +337,7 @@ GISASSimulation* StandardSimulations::RectDetectorPerpToReflectedBeam()
 GISASSimulation* StandardSimulations::RectDetectorPerpToReflectedBeamDpos()
 {
     GISASSimulation* result = new GISASSimulation();
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
 
     RectangularDetector detector(rdet_nbinsx, rdet_width, rdet_nbinsy, rdet_height);
     detector.setPerpendicularToReflectedBeam(rdet_distance);
@@ -361,13 +361,13 @@ GISASSimulation* StandardSimulations::MiniGISASMonteCarlo()
 GISASSimulation* StandardSimulations::SphericalDetWithRoi()
 {
     GISASSimulation* result = new GISASSimulation();
-    result->setDetectorParameters(40, -2.0 * Units::degree, 2.0 * Units::degree, 30,
-                                  0.0 * Units::degree, 3.0 * Units::degree);
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
-    result->addMask(Rectangle(-0.5 * Units::degree, 0.3 * Units::degree, -0.2 * Units::degree,
-                              0.6 * Units::degree));
-    result->setRegionOfInterest(-1.5 * Units::degree, 0.25 * Units::degree, 1.5 * Units::degree,
-                                1.75 * Units::degree);
+    result->setDetectorParameters(40, -2.0 * Units::deg, 2.0 * Units::deg, 30, 0.0 * Units::deg,
+                                  3.0 * Units::deg);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
+    result->addMask(
+        Rectangle(-0.5 * Units::deg, 0.3 * Units::deg, -0.2 * Units::deg, 0.6 * Units::deg));
+    result->setRegionOfInterest(-1.5 * Units::deg, 0.25 * Units::deg, 1.5 * Units::deg,
+                                1.75 * Units::deg);
     return result;
 }
 
@@ -478,7 +478,7 @@ SpecularSimulation* StandardSimulations::SpecularDivergentBeam()
     const double min_angle = 0 * Units::deg;
     const double max_angle = 5 * Units::deg;
     const double wl_stddev = 0.1 * Units::angstrom;
-    const double ang_stddev = 0.1 * Units::degree;
+    const double ang_stddev = 0.1 * Units::deg;
     AngularSpecScan scan(wavelength, FixedBinAxis("axis", number_of_bins, min_angle, max_angle));
 
     RangedDistributionGaussian wl_distr(n_integration_points, /*sigma_factor = */ 2.0);
@@ -644,9 +644,9 @@ DepthProbeSimulation* StandardSimulations::BasicDepthProbe()
 GISASSimulation* StandardSimulations::MiniGISASFit()
 {
     auto* result = new GISASSimulation;
-    result->setDetectorParameters(25, -2.0 * Units::degree, 2.0 * Units::degree, 25,
-                                  0.0 * Units::degree, 2.0 * Units::degree);
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setDetectorParameters(25, -2.0 * Units::deg, 2.0 * Units::deg, 25, 0.0 * Units::deg,
+                                  2.0 * Units::deg);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
     result->setBeamIntensity(1e6);
     return result;
 }
diff --git a/Examples/cpp/CylindersAndPrisms/CylindersAndPrisms.cpp b/Examples/cpp/CylindersAndPrisms/CylindersAndPrisms.cpp
index 3eddfff5367f2efc0cace41ebc17c24792530df5..dfaa81373c26f3d83a6a558ff14c9c1ce3d6f229 100644
--- a/Examples/cpp/CylindersAndPrisms/CylindersAndPrisms.cpp
+++ b/Examples/cpp/CylindersAndPrisms/CylindersAndPrisms.cpp
@@ -37,12 +37,10 @@ int main()
     ParticleLayout particle_layout;
     Material particle_material = HomogeneousMaterial("Particle", 6e-4, 2e-8);
 
-    Particle cylinder(particle_material,
-                      FormFactorCylinder(5 * Units::nanometer, 5 * Units::nanometer));
+    Particle cylinder(particle_material, FormFactorCylinder(5 * Units::nm, 5 * Units::nm));
     particle_layout.addParticle(cylinder, 0.5);
 
-    Particle prism(particle_material,
-                   FormFactorPrism3(10 * Units::nanometer, 5 * Units::nanometer));
+    Particle prism(particle_material, FormFactorPrism3(10 * Units::nm, 5 * Units::nm));
     particle_layout.addParticle(prism, 0.5);
 
     vacuum_layer.addLayout(particle_layout);
@@ -53,9 +51,9 @@ int main()
 
     // Define the simulation
     GISASSimulation simulation;
-    simulation.setDetectorParameters(400, -1.0 * Units::degree, 1.0 * Units::degree, 400,
-                                     0.0 * Units::degree, 2.0 * Units::degree);
-    simulation.setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    simulation.setDetectorParameters(400, -1.0 * Units::deg, 1.0 * Units::deg, 400,
+                                     0.0 * Units::deg, 2.0 * Units::deg);
+    simulation.setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
     simulation.setSample(sample);
 
     // Run the simulation, and store the result
diff --git a/GUI/coregui/Models/BeamAngleItems.cpp b/GUI/coregui/Models/BeamAngleItems.cpp
index 8363dc378928b967b371ef279ef9a4a96b4beb45..ea37c5a988db8cc11d2c42790e86cd698c3855fd 100644
--- a/GUI/coregui/Models/BeamAngleItems.cpp
+++ b/GUI/coregui/Models/BeamAngleItems.cpp
@@ -37,7 +37,7 @@ double BeamAzimuthalAngleItem::azimuthalAngle() const
 
 double BeamAzimuthalAngleItem::scaleFactor() const
 {
-    return Units::degree;
+    return Units::deg;
 }
 
 // ------------------------------------------------------------------------------------------------
@@ -64,5 +64,5 @@ double BeamInclinationAngleItem::inclinationAngle() const
 
 double BeamInclinationAngleItem::scaleFactor() const
 {
-    return Units::degree;
+    return Units::deg;
 }
diff --git a/GUI/coregui/Models/DepthProbeInstrumentItem.cpp b/GUI/coregui/Models/DepthProbeInstrumentItem.cpp
index f496ea63a10d0fb48e13dd632cf6ba54effa1527..643af11980dd45f8c95ea865408ae83625c375ba 100644
--- a/GUI/coregui/Models/DepthProbeInstrumentItem.cpp
+++ b/GUI/coregui/Models/DepthProbeInstrumentItem.cpp
@@ -72,7 +72,7 @@ std::unique_ptr<DepthProbeSimulation> DepthProbeInstrumentItem::createSimulation
 
     const auto axis_item = beamItem()->currentInclinationAxisItem();
 
-    auto axis = axis_item->createAxis(Units::degree);
+    auto axis = axis_item->createAxis(Units::deg);
 
     simulation->setBeamParameters(beamItem()->getWavelength(), static_cast<int>(axis->size()),
                                   axis->lowerBound(), axis->upperBound());
diff --git a/GUI/coregui/Models/DomainObjectBuilder.cpp b/GUI/coregui/Models/DomainObjectBuilder.cpp
index f6c283fb7bf850a5ba68039baa7e7ae2d563f418..a5ea1b1ddd96ebab0e0403f8df116e98cd17128e 100644
--- a/GUI/coregui/Models/DomainObjectBuilder.cpp
+++ b/GUI/coregui/Models/DomainObjectBuilder.cpp
@@ -149,7 +149,7 @@ DomainObjectBuilder::createUnitConverter(const InstrumentItem* instrumentItem)
             instrumentItem->getItem(OffSpecInstrumentItem::P_ALPHA_AXIS));
         const auto detector2d = dynamic_cast<const IDetector2D*>(instrument->getDetector());
         return std::make_unique<OffSpecularConverter>(*detector2d, instrument->beam(),
-                                                      *axis_item->createAxis(Units::degree));
+                                                      *axis_item->createAxis(Units::deg));
     }
 
     throw GUIHelpers::Error(
diff --git a/GUI/coregui/Models/DomainSimulationBuilder.cpp b/GUI/coregui/Models/DomainSimulationBuilder.cpp
index 8cb0b55e80cafba8f25a241ad1a095d532018f7d..236b2ff9fc950445a5d6a89fc45916d1a06a7494 100644
--- a/GUI/coregui/Models/DomainSimulationBuilder.cpp
+++ b/GUI/coregui/Models/DomainSimulationBuilder.cpp
@@ -124,7 +124,7 @@ std::unique_ptr<OffSpecSimulation> createOffSpecSimulation(std::unique_ptr<Multi
     auto beamItem = instrument->beamItem();
     auto axisItem =
         dynamic_cast<BasicAxisItem*>(instrument->getItem(OffSpecInstrumentItem::P_ALPHA_AXIS));
-    ret->setBeamParameters(beamItem->getWavelength(), *axisItem->createAxis(Units::degree),
+    ret->setBeamParameters(beamItem->getWavelength(), *axisItem->createAxis(Units::deg),
                            beamItem->getAzimuthalAngle());
 
     // TODO Take care about distributions
@@ -152,7 +152,7 @@ createSpecularSimulation(std::unique_ptr<MultiLayer> P_multilayer,
     const auto axis_item = beam_item->currentInclinationAxisItem();
     const auto footprint = beam_item->currentFootprintItem();
 
-    AngularSpecScan scan(beam_item->getWavelength(), *axis_item->createAxis(Units::degree));
+    AngularSpecScan scan(beam_item->getWavelength(), *axis_item->createAxis(Units::deg));
     scan.setFootprintFactor(footprint->createFootprint().get());
 
     TransformToDomain::addBeamDivergencesToScan(*beam_item, scan);
diff --git a/GUI/coregui/Models/FormFactorItems.cpp b/GUI/coregui/Models/FormFactorItems.cpp
index 946d00a210b8e1b812861b11c8d8be9433f669cb..e3ddafe56dc21b69dd2474113020482286e294ee 100644
--- a/GUI/coregui/Models/FormFactorItems.cpp
+++ b/GUI/coregui/Models/FormFactorItems.cpp
@@ -37,7 +37,7 @@ std::unique_ptr<IFormFactor> AnisoPyramidItem::createFormFactor() const
 {
     return std::make_unique<FormFactorAnisoPyramid>(
         getItemValue(P_LENGTH).toDouble(), getItemValue(P_WIDTH).toDouble(),
-        getItemValue(P_HEIGHT).toDouble(), getItemValue(P_ALPHA).toDouble() * Units::degree);
+        getItemValue(P_HEIGHT).toDouble(), getItemValue(P_ALPHA).toDouble() * Units::deg);
 }
 
 /* ------------------------------------------------ */
@@ -122,7 +122,7 @@ std::unique_ptr<IFormFactor> ConeItem::createFormFactor() const
 {
     return std::make_unique<FormFactorCone>(getItemValue(P_RADIUS).toDouble(),
                                             getItemValue(P_HEIGHT).toDouble(),
-                                            getItemValue(P_ALPHA).toDouble() * Units::degree);
+                                            getItemValue(P_ALPHA).toDouble() * Units::deg);
 }
 
 /* ------------------------------------------------ */
@@ -143,7 +143,7 @@ std::unique_ptr<IFormFactor> Cone6Item::createFormFactor() const
 {
     return std::make_unique<FormFactorCone6>(getItemValue(P_BASEEDGE).toDouble(),
                                              getItemValue(P_HEIGHT).toDouble(),
-                                             getItemValue(P_ALPHA).toDouble() * Units::degree);
+                                             getItemValue(P_ALPHA).toDouble() * Units::deg);
 }
 
 /* ------------------------------------------------ */
@@ -169,7 +169,7 @@ std::unique_ptr<IFormFactor> CuboctahedronItem::createFormFactor() const
 {
     return std::make_unique<FormFactorCuboctahedron>(
         getItemValue(P_LENGTH).toDouble(), getItemValue(P_HEIGHT).toDouble(),
-        getItemValue(P_HEIGHT_RATIO).toDouble(), getItemValue(P_ALPHA).toDouble() * Units::degree);
+        getItemValue(P_HEIGHT_RATIO).toDouble(), getItemValue(P_ALPHA).toDouble() * Units::deg);
 }
 
 /* ------------------------------------------------ */
@@ -369,7 +369,7 @@ std::unique_ptr<IFormFactor> PyramidItem::createFormFactor() const
 {
     return std::make_unique<FormFactorPyramid>(getItemValue(P_BASEEDGE).toDouble(),
                                                getItemValue(P_HEIGHT).toDouble(),
-                                               getItemValue(P_ALPHA).toDouble() * Units::degree);
+                                               getItemValue(P_ALPHA).toDouble() * Units::deg);
 }
 
 /* ------------------------------------------------ */
@@ -524,9 +524,9 @@ TetrahedronItem::TetrahedronItem() : FormFactorItem("Tetrahedron")
 
 std::unique_ptr<IFormFactor> TetrahedronItem::createFormFactor() const
 {
-    return std::make_unique<FormFactorTetrahedron>(
-        getItemValue(P_BASEEDGE).toDouble(), getItemValue(P_HEIGHT).toDouble(),
-        getItemValue(P_ALPHA).toDouble() * Units::degree);
+    return std::make_unique<FormFactorTetrahedron>(getItemValue(P_BASEEDGE).toDouble(),
+                                                   getItemValue(P_HEIGHT).toDouble(),
+                                                   getItemValue(P_ALPHA).toDouble() * Units::deg);
 }
 
 /* ------------------------------------------------ */
diff --git a/GUI/coregui/Models/InterferenceFunctionItems.cpp b/GUI/coregui/Models/InterferenceFunctionItems.cpp
index 987c37d34b4d8572ba184998a81c89d422b2ef36..c98855a803e5b4b99bf77eb751813a689b357d47 100644
--- a/GUI/coregui/Models/InterferenceFunctionItems.cpp
+++ b/GUI/coregui/Models/InterferenceFunctionItems.cpp
@@ -57,7 +57,7 @@ InterferenceFunction1DLatticeItem::InterferenceFunction1DLatticeItem()
     : InterferenceFunctionItem("Interference1DLattice")
 {
     setToolTip("Interference function of a 1D lattice");
-    addProperty(P_LENGTH, 20.0 * Units::nanometer)->setToolTip("Lattice length in nanometers");
+    addProperty(P_LENGTH, 20.0 * Units::nm)->setToolTip("Lattice length in nanometers");
     addProperty(P_ROTATION_ANGLE, 0.0)
         ->setToolTip("Rotation of lattice with respect to x-axis of reference \n"
                      "frame (beam direction) in degrees ");
@@ -306,7 +306,7 @@ InterferenceFunctionHardDiskItem::InterferenceFunctionHardDiskItem()
     : InterferenceFunctionItem("InterferenceHardDisk")
 {
     setToolTip("Interference function for hard disk Percus-Yevick");
-    addProperty(P_RADIUS, 5.0 * Units::nanometer)->setToolTip("Hard disk radius in nanometers");
+    addProperty(P_RADIUS, 5.0 * Units::nm)->setToolTip("Hard disk radius in nanometers");
     addProperty(P_DENSITY, 0.002)->setToolTip("Particle density in particles per square nanometer");
 }
 
@@ -335,9 +335,9 @@ InterferenceFunctionRadialParaCrystalItem::InterferenceFunctionRadialParaCrystal
     : InterferenceFunctionItem("InterferenceRadialParaCrystal")
 {
     setToolTip("Interference function of a radial paracrystal");
-    addProperty(P_PEAK_DISTANCE, 20.0 * Units::nanometer)
+    addProperty(P_PEAK_DISTANCE, 20.0 * Units::nm)
         ->setToolTip("Average distance to the next neighbor in nanometers");
-    addProperty(P_DAMPING_LENGTH, 1000.0 * Units::nanometer)
+    addProperty(P_DAMPING_LENGTH, 1000.0 * Units::nm)
         ->setToolTip("The damping (coherence) length of the paracrystal "
                      "in nanometers");
     addProperty(P_DOMAIN_SIZE, 0.0)
diff --git a/GUI/coregui/Models/ParticleDistributionItem.cpp b/GUI/coregui/Models/ParticleDistributionItem.cpp
index f6ba211decec3fb972bb28f2f1ff3339c1b158ad..d1a477122a9da3d197dc99cc35809fa3f1e1702c 100644
--- a/GUI/coregui/Models/ParticleDistributionItem.cpp
+++ b/GUI/coregui/Models/ParticleDistributionItem.cpp
@@ -90,7 +90,7 @@ std::unique_ptr<ParticleDistribution> ParticleDistributionItem::createParticleDi
 
     std::string domain_par = domainMainParameter();
 
-    double scale = ParameterUtils::isAngleRelated(domain_par) ? Units::degree : 1.0;
+    double scale = ParameterUtils::isAngleRelated(domain_par) ? Units::deg : 1.0;
     auto P_distribution = distr_item.createDistribution(scale);
 
     RealLimits limits = RealLimits::limitless();
diff --git a/GUI/coregui/Models/SpecularBeamInclinationItem.cpp b/GUI/coregui/Models/SpecularBeamInclinationItem.cpp
index a1ad3dacf70845a6cbff55288b45bd42a942c600..a10df3f19074f720b6138d180e532ef02804e791 100644
--- a/GUI/coregui/Models/SpecularBeamInclinationItem.cpp
+++ b/GUI/coregui/Models/SpecularBeamInclinationItem.cpp
@@ -39,7 +39,7 @@ SpecularBeamInclinationItem::~SpecularBeamInclinationItem() = default;
 
 double SpecularBeamInclinationItem::scaleFactor() const
 {
-    return Units::degree;
+    return Units::deg;
 }
 
 void SpecularBeamInclinationItem::updateFileName(const QString& filename)
diff --git a/GUI/coregui/Models/SphericalDetectorItem.cpp b/GUI/coregui/Models/SphericalDetectorItem.cpp
index 3cae51adedaa9b096c0b2006df7ead5285bda12d..3b2b71c352749ccc95fe8f1375f59450ef955daa 100644
--- a/GUI/coregui/Models/SphericalDetectorItem.cpp
+++ b/GUI/coregui/Models/SphericalDetectorItem.cpp
@@ -88,5 +88,5 @@ void SphericalDetectorItem::setYSize(int ny)
 
 double SphericalDetectorItem::axesToDomainUnitsFactor() const
 {
-    return Units::degree;
+    return Units::deg;
 }
diff --git a/GUI/coregui/Models/TransformFromDomain.cpp b/GUI/coregui/Models/TransformFromDomain.cpp
index 91d4ffb934dada9b680dc503ba9115fbbdc3f1e4..d75c35f6c09b0bb0b522f7757d8787abbc663ec9 100644
--- a/GUI/coregui/Models/TransformFromDomain.cpp
+++ b/GUI/coregui/Models/TransformFromDomain.cpp
@@ -220,7 +220,7 @@ void TransformFromDomain::setParticleDistributionItem(SessionItem* item,
 
     double unit_factor(1.0);
     if (sample.mainUnits() == "rad")
-        unit_factor = 1. / Units::degree;
+        unit_factor = 1. / Units::deg;
 
     QString group_name = ParticleDistributionItem::P_DISTRIBUTION;
     setDistribution(distItem, par_distr, group_name, unit_factor);
@@ -355,7 +355,7 @@ void TransformFromDomain::setDetectorResolution(DetectorItem* detector_item,
                                                                 "ResolutionFunction2DGaussian");
             double scale(1.0);
             if (detector_item->modelType() == "SphericalDetector")
-                scale = 1. / Units::degree;
+                scale = 1. / Units::deg;
             item->setItemValue(ResolutionFunction2DGaussianItem::P_SIGMA_X,
                                scale * resfunc->getSigmaX());
             item->setItemValue(ResolutionFunction2DGaussianItem::P_SIGMA_Y,
@@ -481,7 +481,7 @@ void TransformFromDomain::setDetectorMasks(DetectorItem* detector_item,
 
         double scale(1.0);
         if (detector_item->modelType() == "SphericalDetector")
-            scale = 1. / Units::degree;
+            scale = 1. / Units::deg;
 
         setMaskContainer(detector_item->maskContainerItem(), *detector, scale);
     }
diff --git a/Sample/StandardSamples/BoxCompositionBuilder.cpp b/Sample/StandardSamples/BoxCompositionBuilder.cpp
index 11ee1968dddf72133af04a8cb68bd1f9e5440aff..60114f6cd24fd603325bdfc47e51977e2f5b5b4d 100644
--- a/Sample/StandardSamples/BoxCompositionBuilder.cpp
+++ b/Sample/StandardSamples/BoxCompositionBuilder.cpp
@@ -26,10 +26,10 @@ namespace
 {
 
 const Material particleMaterial = HomogeneousMaterial("Ag", 1.245e-5, 5.419e-7);
-const double layer_thickness = 100.0 * Units::nanometer;
-const double length = 50.0 * Units::nanometer;
-const double width = 20.0 * Units::nanometer;
-const double height = 10.0 * Units::nanometer;
+const double layer_thickness = 100.0 * Units::nm;
+const double length = 50.0 * Units::nm;
+const double width = 20.0 * Units::nm;
+const double height = 10.0 * Units::nm;
 
 MultiLayer* finalizeMultiLayer(const ParticleComposition& composition)
 {
@@ -58,7 +58,7 @@ MultiLayer* BoxCompositionRotateXBuilder::buildSample() const
     ParticleComposition composition;
     composition.addParticle(box, kvector_t(0.0, 0.0, 0.0));
     composition.addParticle(box, kvector_t(length / 2.0, 0.0, 0.0));
-    composition.setRotation(RotationX(90.0 * Units::degree));
+    composition.setRotation(RotationX(90.0 * Units::deg));
     composition.setPosition(kvector_t(0.0, 0.0, -layer_thickness / 2.0));
     return finalizeMultiLayer(composition);
 }
@@ -71,7 +71,7 @@ MultiLayer* BoxCompositionRotateYBuilder::buildSample() const
     ParticleComposition composition;
     composition.addParticle(box, kvector_t(0.0, 0.0, 0.0));
     composition.addParticle(box, kvector_t(length / 2.0, 0.0, 0.0));
-    composition.setRotation(RotationY(90.0 * Units::degree));
+    composition.setRotation(RotationY(90.0 * Units::deg));
     composition.setPosition(kvector_t(0.0, 0.0, -layer_thickness / 2.0 + length / 4.0));
     return finalizeMultiLayer(composition);
 }
@@ -84,7 +84,7 @@ MultiLayer* BoxCompositionRotateZBuilder::buildSample() const
     ParticleComposition composition;
     composition.addParticle(box, kvector_t(0.0, 0.0, 0.0));
     composition.addParticle(box, kvector_t(length / 2.0, 0.0, 0.0));
-    composition.setRotation(RotationZ(90.0 * Units::degree));
+    composition.setRotation(RotationZ(90.0 * Units::deg));
     composition.setPosition(kvector_t(0.0, 0.0, -layer_thickness / 2.0 - height / 2.0));
     return finalizeMultiLayer(composition);
 }
@@ -97,8 +97,8 @@ MultiLayer* BoxCompositionRotateZandYBuilder::buildSample() const
     ParticleComposition composition;
     composition.addParticle(box, kvector_t(0.0, 0.0, 0.0));
     composition.addParticle(box, kvector_t(length / 2.0, 0.0, 0.0));
-    composition.setRotation(RotationZ(90.0 * Units::degree));
-    composition.rotate(RotationY(90.0 * Units::degree));
+    composition.setRotation(RotationZ(90.0 * Units::deg));
+    composition.rotate(RotationY(90.0 * Units::deg));
     composition.setPosition(kvector_t(0.0, 0.0, -layer_thickness / 2.0));
     return finalizeMultiLayer(composition);
 }
@@ -115,19 +115,19 @@ MultiLayer* BoxStackCompositionBuilder::buildSample() const
     const double box1_width = 50;
     const double box1_height = 5;
     Particle box1(particleMaterial, FormFactorBox(box1_length, box1_width, box1_height));
-    box1.setRotation(RotationZ(90. * Units::degree));
+    box1.setRotation(RotationZ(90. * Units::deg));
 
     // box2 (5,20,50), rotatedY
     const double box2_length = 5.0;
     const double box2_width = 20.0;
     const double box2_height = 50.0;
     Particle box2(particleMaterial, FormFactorBox(box2_length, box2_width, box2_height));
-    box2.setRotation(RotationY(90. * Units::degree));
+    box2.setRotation(RotationY(90. * Units::deg));
     box2.setPosition(kvector_t(-box2_height / 2.0, 0.0, box2_length / 2.0));
 
     composition.addParticle(box1, kvector_t(0.0, 0.0, 0.0));
     composition.addParticle(box2, kvector_t(0.0, 0.0, box1_height));
-    composition.setRotation(RotationY(90.0 * Units::degree));
+    composition.setRotation(RotationY(90.0 * Units::deg));
     composition.setPosition(kvector_t(0.0, 0.0, -layer_thickness / 2.));
 
     return finalizeMultiLayer(composition);
diff --git a/Sample/StandardSamples/BoxesSquareLatticeBuilder.cpp b/Sample/StandardSamples/BoxesSquareLatticeBuilder.cpp
index f40c5417c3260725e3b796e492653a01cdb668db..10331c867b06ef015a4824ca2679f0f95f10c6cf 100644
--- a/Sample/StandardSamples/BoxesSquareLatticeBuilder.cpp
+++ b/Sample/StandardSamples/BoxesSquareLatticeBuilder.cpp
@@ -24,15 +24,15 @@
 
 MultiLayer* BoxesSquareLatticeBuilder::buildSample() const
 {
-    const double length = 5 * Units::nanometer;
-    const double height = 10 * Units::nanometer;
+    const double length = 5 * Units::nm;
+    const double height = 10 * Units::nm;
 
     Layer vacuum_layer(refMat::Vacuum);
     Layer substrate_layer(refMat::Substrate);
 
-    InterferenceFunction2DLattice iff(SquareLattice(8 * Units::nanometer, 0));
+    InterferenceFunction2DLattice iff(SquareLattice(8 * Units::nm, 0));
 
-    FTDecayFunction2DCauchy pdf(100.0 * Units::nanometer, 100.0 * Units::nanometer, 0);
+    FTDecayFunction2DCauchy pdf(100.0 * Units::nm, 100.0 * Units::nm, 0);
     iff.setDecayFunction(pdf);
 
     // particles
diff --git a/Sample/StandardSamples/CoreShellParticleBuilder.cpp b/Sample/StandardSamples/CoreShellParticleBuilder.cpp
index 14c19efc13c05c2ab5eec68f1fa9abb49fb8f688..caf4a6e744d152a87ed977067c3f0d8b195c0165 100644
--- a/Sample/StandardSamples/CoreShellParticleBuilder.cpp
+++ b/Sample/StandardSamples/CoreShellParticleBuilder.cpp
@@ -34,10 +34,10 @@ MultiLayer* CoreShellParticleBuilder::buildSample() const
 
     Layer vacuum_layer(refMat::Vacuum);
 
-    FormFactorBox ff_box1(16 * Units::nanometer, 16 * Units::nanometer, 8 * Units::nanometer);
+    FormFactorBox ff_box1(16 * Units::nm, 16 * Units::nm, 8 * Units::nm);
     Particle shell_particle(shell_material, ff_box1);
 
-    FormFactorBox ff_box2(12 * Units::nanometer, 12 * Units::nanometer, 7 * Units::nanometer);
+    FormFactorBox ff_box2(12 * Units::nm, 12 * Units::nm, 7 * Units::nm);
     Particle core_particle(core_material, ff_box2);
 
     kvector_t core_position(0.0, 0.0, 0.0);
@@ -55,12 +55,12 @@ MultiLayer* CoreShellParticleBuilder::buildSample() const
 
 MultiLayer* CoreShellBoxRotateZandYBuilder::buildSample() const
 {
-    const double layer_thickness(100.0 * Units::nanometer);
+    const double layer_thickness(100.0 * Units::nm);
 
     // core shell particle
-    const double shell_length(50.0 * Units::nanometer);
-    const double shell_width(20.0 * Units::nanometer);
-    const double shell_height(10.0 * Units::nanometer);
+    const double shell_length(50.0 * Units::nm);
+    const double shell_width(20.0 * Units::nm);
+    const double shell_height(10.0 * Units::nm);
     double core_length = shell_length / 2.0;
     double core_width = shell_width / 2.0;
     double core_height = shell_height / 2.0;
@@ -69,8 +69,8 @@ MultiLayer* CoreShellBoxRotateZandYBuilder::buildSample() const
     Particle shell(refMat::AgO2, FormFactorBox(shell_length, shell_width, shell_height));
     ParticleCoreShell coreshell(shell, core,
                                 kvector_t(0.0, 0.0, (shell_height - core_height) / 2.0));
-    coreshell.setRotation(RotationZ(90.0 * Units::degree));
-    coreshell.rotate(RotationY(90.0 * Units::degree));
+    coreshell.setRotation(RotationZ(90.0 * Units::deg));
+    coreshell.rotate(RotationY(90.0 * Units::deg));
     coreshell.setPosition(kvector_t(0.0, 0.0, -layer_thickness / 2.0));
 
     ParticleLayout layout;
diff --git a/Sample/StandardSamples/CustomMorphologyBuilder.cpp b/Sample/StandardSamples/CustomMorphologyBuilder.cpp
index 87a9a09eb9d400db41f1c3b4afca9799117ab352..155f1365fc0ae2bbd2c4b9ca59a4277a33f0b505 100644
--- a/Sample/StandardSamples/CustomMorphologyBuilder.cpp
+++ b/Sample/StandardSamples/CustomMorphologyBuilder.cpp
@@ -28,71 +28,71 @@ MultiLayer* CustomMorphologyBuilder::buildSample() const
     ParticleLayout particle_layout;
 
     // add particle number 1:
-    FormFactorBox ff1(2.0 * Units::nanometer, 2.0 * Units::nanometer, 1.0 * Units::nanometer);
-    kvector_t pos1(0.0 * Units::nanometer, 0.0 * Units::nanometer, 0.0);
+    FormFactorBox ff1(2.0 * Units::nm, 2.0 * Units::nm, 1.0 * Units::nm);
+    kvector_t pos1(0.0 * Units::nm, 0.0 * Units::nm, 0.0);
     Particle p1(refMat::Particle, ff1);
     p1.setPosition(pos1);
     particle_layout.addParticle(p1, 0.5);
     // add particle number 2:
-    FormFactorBox ff2(2.0 * Units::nanometer, 4.0 * Units::nanometer, 1.0 * Units::nanometer);
-    kvector_t pos2(5.0 * Units::nanometer, 5.0 * Units::nanometer, 0.0);
-    RotationZ m2(10 * Units::degree);
+    FormFactorBox ff2(2.0 * Units::nm, 4.0 * Units::nm, 1.0 * Units::nm);
+    kvector_t pos2(5.0 * Units::nm, 5.0 * Units::nm, 0.0);
+    RotationZ m2(10 * Units::deg);
     Particle p2(refMat::Particle, ff2, m2);
     p2.setPosition(pos2);
     particle_layout.addParticle(p2, 0.5);
     // add particle number 3:
-    FormFactorBox ff3(2.0 * Units::nanometer, 6.0 * Units::nanometer, 1.0 * Units::nanometer);
-    kvector_t pos3(-5.0 * Units::nanometer, -5.0 * Units::nanometer, 0.0);
-    RotationZ m3(20 * Units::degree);
+    FormFactorBox ff3(2.0 * Units::nm, 6.0 * Units::nm, 1.0 * Units::nm);
+    kvector_t pos3(-5.0 * Units::nm, -5.0 * Units::nm, 0.0);
+    RotationZ m3(20 * Units::deg);
     Particle p3(refMat::Particle, ff3, m3);
     p3.setPosition(pos3);
     particle_layout.addParticle(p3, 0.5);
     // add particle number 4:
-    FormFactorBox ff4(2.0 * Units::nanometer, 8.0 * Units::nanometer, 1.0 * Units::nanometer);
-    kvector_t pos4(5.0 * Units::nanometer, -5.0 * Units::nanometer, 0.0);
-    RotationZ m4(30 * Units::degree);
+    FormFactorBox ff4(2.0 * Units::nm, 8.0 * Units::nm, 1.0 * Units::nm);
+    kvector_t pos4(5.0 * Units::nm, -5.0 * Units::nm, 0.0);
+    RotationZ m4(30 * Units::deg);
     Particle p4(refMat::Particle, ff4, m4);
     p4.setPosition(pos4);
     particle_layout.addParticle(p4, 0.5);
     // add particle number 5:
-    FormFactorBox ff5(2.0 * Units::nanometer, 10.0 * Units::nanometer, 1.0 * Units::nanometer);
-    kvector_t pos5(-5.0 * Units::nanometer, 5.0 * Units::nanometer, 0.0);
-    RotationZ m5(40 * Units::degree);
+    FormFactorBox ff5(2.0 * Units::nm, 10.0 * Units::nm, 1.0 * Units::nm);
+    kvector_t pos5(-5.0 * Units::nm, 5.0 * Units::nm, 0.0);
+    RotationZ m5(40 * Units::deg);
     Particle p5(refMat::Particle, ff5, m5);
     p5.setPosition(pos5);
     particle_layout.addParticle(p5, 0.5);
     // add particle number 6:
-    FormFactorBox ff6(2.0 * Units::nanometer, 2.0 * Units::nanometer, 1.0 * Units::nanometer);
-    kvector_t pos6(0.0 * Units::nanometer, 0.0 * Units::nanometer, 0.0);
-    RotationZ m6(50 * Units::degree);
+    FormFactorBox ff6(2.0 * Units::nm, 2.0 * Units::nm, 1.0 * Units::nm);
+    kvector_t pos6(0.0 * Units::nm, 0.0 * Units::nm, 0.0);
+    RotationZ m6(50 * Units::deg);
     Particle p6(refMat::Particle, ff6, m6);
     p6.setPosition(pos6);
     particle_layout.addParticle(p6, 0.5);
     // add particle number 7:
-    FormFactorBox ff7(2.0 * Units::nanometer, 4.0 * Units::nanometer, 1.0 * Units::nanometer);
-    kvector_t pos7(5.0 * Units::nanometer, 5.0 * Units::nanometer, 0.0);
-    RotationZ m7(60 * Units::degree);
+    FormFactorBox ff7(2.0 * Units::nm, 4.0 * Units::nm, 1.0 * Units::nm);
+    kvector_t pos7(5.0 * Units::nm, 5.0 * Units::nm, 0.0);
+    RotationZ m7(60 * Units::deg);
     Particle p7(refMat::Particle, ff7, m7);
     p7.setPosition(pos7);
     particle_layout.addParticle(p7, 0.5);
     // add particle number 8:
-    FormFactorBox ff8(2.0 * Units::nanometer, 6.0 * Units::nanometer, 1.0 * Units::nanometer);
-    kvector_t pos8(-5.0 * Units::nanometer, -5.0 * Units::nanometer, 0.0);
-    RotationZ m8(70 * Units::degree);
+    FormFactorBox ff8(2.0 * Units::nm, 6.0 * Units::nm, 1.0 * Units::nm);
+    kvector_t pos8(-5.0 * Units::nm, -5.0 * Units::nm, 0.0);
+    RotationZ m8(70 * Units::deg);
     Particle p8(refMat::Particle, ff8, m8);
     p8.setPosition(pos8);
     particle_layout.addParticle(p8, 0.5);
     // add particle number 9:
-    FormFactorBox ff9(2.0 * Units::nanometer, 8.0 * Units::nanometer, 1.0 * Units::nanometer);
-    kvector_t pos9(5.0 * Units::nanometer, -5.0 * Units::nanometer, 0.0);
-    RotationZ m9(80 * Units::degree);
+    FormFactorBox ff9(2.0 * Units::nm, 8.0 * Units::nm, 1.0 * Units::nm);
+    kvector_t pos9(5.0 * Units::nm, -5.0 * Units::nm, 0.0);
+    RotationZ m9(80 * Units::deg);
     Particle p9(refMat::Particle, ff9, m9);
     p9.setPosition(pos9);
     particle_layout.addParticle(p9, 0.5);
     // add particle number 10:
-    FormFactorBox ff10(2.0 * Units::nanometer, 10.0 * Units::nanometer, 1.0 * Units::nanometer);
-    kvector_t pos10(-5.0 * Units::nanometer, 5.0 * Units::nanometer, 0.0);
-    RotationZ m10(90 * Units::degree);
+    FormFactorBox ff10(2.0 * Units::nm, 10.0 * Units::nm, 1.0 * Units::nm);
+    kvector_t pos10(-5.0 * Units::nm, 5.0 * Units::nm, 0.0);
+    RotationZ m10(90 * Units::deg);
     Particle p10(refMat::Particle, ff10, m10);
     p10.setPosition(pos10);
     particle_layout.addParticle(p10, 0.5);
diff --git a/Sample/StandardSamples/CylindersBuilder.cpp b/Sample/StandardSamples/CylindersBuilder.cpp
index 034d965458885668e83027e09bcbb6093f1a0abd..505a776f7eabe142bb163f15f71afd2137f57844 100644
--- a/Sample/StandardSamples/CylindersBuilder.cpp
+++ b/Sample/StandardSamples/CylindersBuilder.cpp
@@ -25,8 +25,7 @@
 // -----------------------------------------------------------------------------
 // Cylinders in DWBA
 // -----------------------------------------------------------------------------
-CylindersInDWBABuilder::CylindersInDWBABuilder()
-    : m_height(5 * Units::nanometer), m_radius(5 * Units::nanometer)
+CylindersInDWBABuilder::CylindersInDWBABuilder() : m_height(5 * Units::nm), m_radius(5 * Units::nm)
 {
 }
 
@@ -51,8 +50,7 @@ MultiLayer* CylindersInDWBABuilder::buildSample() const
 // -----------------------------------------------------------------------------
 // Cylinders in BA
 // -----------------------------------------------------------------------------
-CylindersInBABuilder::CylindersInBABuilder()
-    : m_height(5 * Units::nanometer), m_radius(5 * Units::nanometer)
+CylindersInBABuilder::CylindersInBABuilder() : m_height(5 * Units::nm), m_radius(5 * Units::nm)
 {
     registerParameter("height", &m_height);
     registerParameter("radius", &m_radius);
@@ -78,7 +76,7 @@ MultiLayer* CylindersInBABuilder::buildSample() const
 // Large cylinders in DWBA
 // -----------------------------------------------------------------------------
 LargeCylindersInDWBABuilder::LargeCylindersInDWBABuilder()
-    : m_height(1000 * Units::nanometer), m_radius(500 * Units::nanometer)
+    : m_height(1000 * Units::nm), m_radius(500 * Units::nm)
 {
 }
 
@@ -104,7 +102,7 @@ MultiLayer* LargeCylindersInDWBABuilder::buildSample() const
 // Rotated cylinders in DWBA
 // -----------------------------------------------------------------------------
 RotatedCylindersBuilder::RotatedCylindersBuilder()
-    : m_height(5 * Units::nanometer), m_radius(5 * Units::nanometer)
+    : m_height(5 * Units::nm), m_radius(5 * Units::nm)
 {
 }
 
diff --git a/Sample/StandardSamples/FeNiBilayerBuilder.cpp b/Sample/StandardSamples/FeNiBilayerBuilder.cpp
index 753d99dd1ad97e00d5fc5d174a2145f76c018f9e..474f116196e41ada42114808ccf2ce0984138723 100644
--- a/Sample/StandardSamples/FeNiBilayerBuilder.cpp
+++ b/Sample/StandardSamples/FeNiBilayerBuilder.cpp
@@ -185,14 +185,14 @@ MultiLayer* FeNiBilayerNCBuilder::buildSample() const
 
 MultiLayer* FeNiBilayerSpinFlipBuilder::buildSample() const
 {
-    auto sample = FeNiBilayer{Options().angle(38. * Units::degree)};
+    auto sample = FeNiBilayer{Options().angle(38. * Units::deg)};
     return sample.release();
 }
 
 MultiLayer* FeNiBilayerSpinFlipTanhBuilder::buildSample() const
 {
     auto sample = FeNiBilayer{Options()
-                                  .angle(38 * Units::degree)
+                                  .angle(38 * Units::deg)
                                   .sigmaRoughness(2. * Units::angstrom)
                                   .roughnessModel(RoughnessModel::TANH)};
     return sample.release();
@@ -201,7 +201,7 @@ MultiLayer* FeNiBilayerSpinFlipTanhBuilder::buildSample() const
 MultiLayer* FeNiBilayerSpinFlipNCBuilder::buildSample() const
 {
     auto sample = FeNiBilayer{Options()
-                                  .angle(38 * Units::degree)
+                                  .angle(38 * Units::deg)
                                   .sigmaRoughness(2. * Units::angstrom)
                                   .roughnessModel(RoughnessModel::NEVOT_CROCE)};
     return sample.release();
diff --git a/Sample/StandardSamples/LatticeBuilder.cpp b/Sample/StandardSamples/LatticeBuilder.cpp
index ac337f2da7b81dad50024e33b651f3e222990493..ff0eae3436ee742b32028eea57a289b6c3c98eab 100644
--- a/Sample/StandardSamples/LatticeBuilder.cpp
+++ b/Sample/StandardSamples/LatticeBuilder.cpp
@@ -26,11 +26,11 @@
 
 MultiLayer* Lattice1DBuilder::buildSample() const
 {
-    const double length(20.0 * Units::nanometer);
+    const double length(20.0 * Units::nm);
     const double xi(10.0 * Units::deg);
-    const double corr_length(1000.0 * Units::nanometer);
-    const double cylinder_height(5 * Units::nanometer);
-    const double cylinder_radius(5 * Units::nanometer);
+    const double corr_length(1000.0 * Units::nm);
+    const double cylinder_height(5 * Units::nm);
+    const double cylinder_radius(5 * Units::nm);
 
     Layer vacuum_layer(refMat::Vacuum);
     Layer substrate_layer(refMat::Substrate);
diff --git a/Sample/StandardSamples/LayersWithAbsorptionBuilder.cpp b/Sample/StandardSamples/LayersWithAbsorptionBuilder.cpp
index cce776fcf147a5a9b497f82455c3a09e2240e6bc..1885e852263abf1a3f332593b87a91992f132a9f 100644
--- a/Sample/StandardSamples/LayersWithAbsorptionBuilder.cpp
+++ b/Sample/StandardSamples/LayersWithAbsorptionBuilder.cpp
@@ -31,7 +31,7 @@ static const FormFactorComponents ff_components;
 } // namespace
 
 LayersWithAbsorptionBuilder::LayersWithAbsorptionBuilder()
-    : m_ff(new FormFactorFullSphere(5.0 * Units::nanometer))
+    : m_ff(new FormFactorFullSphere(5.0 * Units::nm))
 {
 }
 
@@ -39,12 +39,12 @@ LayersWithAbsorptionBuilder::~LayersWithAbsorptionBuilder() = default;
 
 MultiLayer* LayersWithAbsorptionBuilder::buildSample() const
 {
-    const double middle_layer_thickness(60.0 * Units::nanometer);
+    const double middle_layer_thickness(60.0 * Units::nm);
 
     Particle particle(refMat::Ag, *m_ff);
-    particle.setRotation(RotationZ(10.0 * Units::degree));
-    particle.rotate(RotationY(10.0 * Units::degree));
-    particle.rotate(RotationX(10.0 * Units::degree));
+    particle.setRotation(RotationZ(10.0 * Units::deg));
+    particle.rotate(RotationY(10.0 * Units::deg));
+    particle.rotate(RotationX(10.0 * Units::deg));
     particle.setPosition(kvector_t(0.0, 0.0, -middle_layer_thickness / 2.0));
 
     ParticleLayout layout;
diff --git a/Sample/StandardSamples/LayersWithAbsorptionBySLDBuilder.cpp b/Sample/StandardSamples/LayersWithAbsorptionBySLDBuilder.cpp
index 9d667bf45de689007573d4977f7c47dce7b798a9..642f7486438af9413f99c698cafe5b80d96d89f3 100644
--- a/Sample/StandardSamples/LayersWithAbsorptionBySLDBuilder.cpp
+++ b/Sample/StandardSamples/LayersWithAbsorptionBySLDBuilder.cpp
@@ -21,7 +21,7 @@
 #include "Sample/Multilayer/MultiLayer.h"
 #include "Sample/Particle/Particle.h"
 
-const double middle_layer_thickness(60.0 * Units::nanometer);
+const double middle_layer_thickness(60.0 * Units::nm);
 
 MultiLayer* LayersWithAbsorptionBySLDBuilder::buildSample() const
 {
@@ -30,12 +30,12 @@ MultiLayer* LayersWithAbsorptionBySLDBuilder::buildSample() const
     Material substrate_mat = MaterialBySLD("Substrate", 2.0728e-06, 2.3747e-11);
     Material particle_mat = MaterialBySLD("Ag", 3.4682e-06, 1.0309e-08);
 
-    FormFactorFullSphere ff(5.0 * Units::nanometer);
+    FormFactorFullSphere ff(5.0 * Units::nm);
 
     Particle particle(particle_mat, ff);
-    particle.setRotation(RotationZ(10.0 * Units::degree));
-    particle.rotate(RotationY(10.0 * Units::degree));
-    particle.rotate(RotationX(10.0 * Units::degree));
+    particle.setRotation(RotationZ(10.0 * Units::deg));
+    particle.rotate(RotationY(10.0 * Units::deg));
+    particle.rotate(RotationX(10.0 * Units::deg));
     particle.setPosition(kvector_t(0.0, 0.0, -middle_layer_thickness / 2.0));
 
     ParticleLayout layout;
diff --git a/Sample/StandardSamples/MagneticLayersBuilder.cpp b/Sample/StandardSamples/MagneticLayersBuilder.cpp
index ad99ae003d166fbff1171abc79c0604e0bd10f8f..677a4463620a7f0d5c957dacbafb5bc201f00c2b 100644
--- a/Sample/StandardSamples/MagneticLayersBuilder.cpp
+++ b/Sample/StandardSamples/MagneticLayersBuilder.cpp
@@ -26,7 +26,7 @@
 namespace
 {
 
-const double sphere_radius = 5 * Units::nanometer;
+const double sphere_radius = 5 * Units::nm;
 
 MultiLayer* parametricBuild(double sigmaRoughness, RoughnessModel roughnessModel)
 {
@@ -62,7 +62,7 @@ MultiLayer* MagneticSubstrateZeroFieldBuilder::buildSample() const
     Material particle_material = HomogeneousMaterial("MagParticle", 6e-4, 2e-8, particle_field);
 
     ParticleLayout particle_layout;
-    kvector_t position(0.0, 0.0, -10.0 * Units::nanometer);
+    kvector_t position(0.0, 0.0, -10.0 * Units::nm);
     FormFactorFullSphere ff_sphere(sphere_radius);
     Particle particle(particle_material, ff_sphere);
     particle_layout.addParticle(particle, 1.0, position);
@@ -164,7 +164,7 @@ MultiLayer* MagneticRotationBuilder::buildSample() const
     Material particle_material = HomogeneousMaterial("MagParticle", 6e-4, 2e-8, particle_field);
 
     ParticleLayout particle_layout;
-    kvector_t position(0.0, 0.0, -10.0 * Units::nanometer);
+    kvector_t position(0.0, 0.0, -10.0 * Units::nm);
     FormFactorFullSphere ff_sphere(sphere_radius);
     Particle particle(particle_material, ff_sphere);
     RotationZ rot_z(90 * Units::deg);
diff --git a/Sample/StandardSamples/MagneticParticlesBuilder.cpp b/Sample/StandardSamples/MagneticParticlesBuilder.cpp
index 8d2387fb7ff25c204e6a441ca767f68390c311ea..d61df724497790a0af6a53b316e9c729ba75bb3b 100644
--- a/Sample/StandardSamples/MagneticParticlesBuilder.cpp
+++ b/Sample/StandardSamples/MagneticParticlesBuilder.cpp
@@ -30,8 +30,8 @@
 
 MultiLayer* MagneticParticleZeroFieldBuilder::buildSample() const
 {
-    const double m_cylinder_radius(5 * Units::nanometer);
-    const double m_cylinder_height(5 * Units::nanometer);
+    const double m_cylinder_radius(5 * Units::nm);
+    const double m_cylinder_height(5 * Units::nm);
 
     Material vacuum_material = HomogeneousMaterial("Vacuum", 0.0, 0.0);
     Material substrate_material = HomogeneousMaterial("Substrate", 6e-6, 2e-8);
@@ -60,8 +60,8 @@ MultiLayer* MagneticParticleZeroFieldBuilder::buildSample() const
 
 MultiLayer* MagneticCylindersBuilder::buildSample() const
 {
-    const double m_cylinder_radius(5 * Units::nanometer);
-    const double m_cylinder_height(5 * Units::nanometer);
+    const double m_cylinder_radius(5 * Units::nm);
+    const double m_cylinder_height(5 * Units::nm);
 
     Material vacuum_material = HomogeneousMaterial("Vacuum", 0.0, 0.0);
     Material substrate_material = HomogeneousMaterial("Substrate", 15e-6, 0.0);
@@ -90,7 +90,7 @@ MultiLayer* MagneticCylindersBuilder::buildSample() const
 
 MultiLayer* MagneticSpheresBuilder::buildSample() const
 {
-    const double m_sphere_radius(5 * Units::nanometer);
+    const double m_sphere_radius(5 * Units::nm);
 
     kvector_t magnetization(0.0, 0.0, 1e7);
     Material particle_material = HomogeneousMaterial("Particle", 2e-5, 4e-7, magnetization);
diff --git a/Sample/StandardSamples/MultiLayerWithRoughnessBuilder.cpp b/Sample/StandardSamples/MultiLayerWithRoughnessBuilder.cpp
index ae885002037dd781a7979c9058c1f3f78c30a7e5..873d5dd4d3cd2faaf3706a9cae8bcc3c593a7ba2 100644
--- a/Sample/StandardSamples/MultiLayerWithRoughnessBuilder.cpp
+++ b/Sample/StandardSamples/MultiLayerWithRoughnessBuilder.cpp
@@ -21,12 +21,12 @@
 
 MultiLayer* MultiLayerWithRoughnessBuilder::buildSample() const
 {
-    const double thicknessA(2.5 * Units::nanometer);
-    const double thicknessB(5.0 * Units::nanometer);
-    const double sigma(1.0 * Units::nanometer);
+    const double thicknessA(2.5 * Units::nm);
+    const double thicknessB(5.0 * Units::nm);
+    const double sigma(1.0 * Units::nm);
     const double hurst(0.3);
-    const double lateralCorrLength(5.0 * Units::nanometer);
-    const double crossCorrLength(10.0 * Units::nanometer);
+    const double lateralCorrLength(5.0 * Units::nm);
+    const double crossCorrLength(10.0 * Units::nm);
 
     Material vacuum_material = HomogeneousMaterial("Vacuum", 0., 0.);
     Material substrate_material = HomogeneousMaterial("Substrate", 15e-6, 0.0);
diff --git a/Sample/StandardSamples/MultipleLayoutBuilder.cpp b/Sample/StandardSamples/MultipleLayoutBuilder.cpp
index 965c0f7b318d518f2995f58a3eb0acbf31e126fc..e652d16c4acc921b27a35e4de0f3ad783369ff4a 100644
--- a/Sample/StandardSamples/MultipleLayoutBuilder.cpp
+++ b/Sample/StandardSamples/MultipleLayoutBuilder.cpp
@@ -24,10 +24,10 @@
 
 MultiLayer* MultipleLayoutBuilder::buildSample() const
 {
-    const double cylinder_height(5 * Units::nanometer);
-    const double cylinder_radius(5 * Units::nanometer);
-    const double prisheight(5 * Units::nanometer);
-    const double prislength(10 * Units::nanometer);
+    const double cylinder_height(5 * Units::nm);
+    const double cylinder_radius(5 * Units::nm);
+    const double prisheight(5 * Units::nm);
+    const double prislength(10 * Units::nm);
     const double cylinder_weight(0.5);
 
     Layer vacuum_layer(refMat::Vacuum);
diff --git a/Sample/StandardSamples/ParaCrystalBuilder.cpp b/Sample/StandardSamples/ParaCrystalBuilder.cpp
index dc8136945e19655d409dfab5395b72ee39909786..f3ce78de17d96fa8708b01acf2d5006431a08370 100644
--- a/Sample/StandardSamples/ParaCrystalBuilder.cpp
+++ b/Sample/StandardSamples/ParaCrystalBuilder.cpp
@@ -27,11 +27,11 @@
 
 MultiLayer* RadialParaCrystalBuilder::buildSample() const
 {
-    const double m_corr_peak_distance(20.0 * Units::nanometer);
-    const double m_corr_width(7 * Units::nanometer);
-    const double m_corr_length(1e3 * Units::nanometer);
-    const double m_cylinder_height(5 * Units::nanometer);
-    const double m_cylinder_radius(5 * Units::nanometer);
+    const double m_corr_peak_distance(20.0 * Units::nm);
+    const double m_corr_width(7 * Units::nm);
+    const double m_corr_length(1e3 * Units::nm);
+    const double m_cylinder_height(5 * Units::nm);
+    const double m_cylinder_radius(5 * Units::nm);
 
     Layer vacuum_layer(refMat::Vacuum);
     Layer substrate_layer(refMat::Substrate);
@@ -58,8 +58,8 @@ MultiLayer* RadialParaCrystalBuilder::buildSample() const
 // -----------------------------------------------------------------------------
 
 Basic2DParaCrystalBuilder::Basic2DParaCrystalBuilder()
-    : m_pdf1(new FTDistribution2DCauchy(0.1 * Units::nanometer, 0.2 * Units::nanometer, 0))
-    , m_pdf2(new FTDistribution2DCauchy(0.3 * Units::nanometer, 0.4 * Units::nanometer, 0))
+    : m_pdf1(new FTDistribution2DCauchy(0.1 * Units::nm, 0.2 * Units::nm, 0))
+    , m_pdf2(new FTDistribution2DCauchy(0.3 * Units::nm, 0.4 * Units::nm, 0))
 {
 }
 
@@ -71,13 +71,12 @@ MultiLayer* Basic2DParaCrystalBuilder::buildSample() const
     Layer substrate_layer(refMat::Substrate);
 
     InterferenceFunction2DParaCrystal iff(
-        BasicLattice(10.0 * Units::nanometer, 20.0 * Units::nanometer, 30.0 * Units::degree,
-                     45.0 * Units::degree),
-        1000.0 * Units::nanometer, 20.0 * Units::micrometer, 40.0 * Units::micrometer);
+        BasicLattice(10.0 * Units::nm, 20.0 * Units::nm, 30.0 * Units::deg, 45.0 * Units::deg),
+        1000.0 * Units::nm, 20.0 * Units::micrometer, 40.0 * Units::micrometer);
 
     iff.setProbabilityDistributions(*m_pdf1, *m_pdf2);
 
-    FormFactorCylinder ff_cylinder(5.0 * Units::nanometer, 5.0 * Units::nanometer);
+    FormFactorCylinder ff_cylinder(5.0 * Units::nm, 5.0 * Units::nm);
 
     Particle particle(refMat::Particle, ff_cylinder);
     ParticleLayout particle_layout(particle);
@@ -109,12 +108,12 @@ MultiLayer* Basic2DParaCrystalBuilder::createSampleByIndex(size_t index)
 
 MultiLayer* HexParaCrystalBuilder::buildSample() const
 {
-    const double m_peak_distance(20.0 * Units::nanometer);
+    const double m_peak_distance(20.0 * Units::nm);
     const double m_corr_length(0.0);
     const double m_domain_size_1(20.0 * Units::micrometer);
     const double m_domain_size_2(20.0 * Units::micrometer);
-    const double m_cylinder_height(5 * Units::nanometer);
-    const double m_cylinder_radius(5 * Units::nanometer);
+    const double m_cylinder_height(5 * Units::nm);
+    const double m_cylinder_radius(5 * Units::nm);
 
     Layer vacuum_layer(refMat::Vacuum);
     Layer substrate_layer(refMat::Substrate);
@@ -122,7 +121,7 @@ MultiLayer* HexParaCrystalBuilder::buildSample() const
     InterferenceFunction2DParaCrystal iff(HexagonalLattice(m_peak_distance, 0.0), m_corr_length,
                                           m_domain_size_1, m_domain_size_2);
     iff.setIntegrationOverXi(true);
-    FTDistribution2DCauchy pdf(1.0 * Units::nanometer, 1.0 * Units::nanometer, 0);
+    FTDistribution2DCauchy pdf(1.0 * Units::nm, 1.0 * Units::nm, 0);
     iff.setProbabilityDistributions(pdf, pdf);
 
     FormFactorCylinder ff_cylinder(m_cylinder_radius, m_cylinder_height);
@@ -148,14 +147,14 @@ MultiLayer* RectParaCrystalBuilder::buildSample() const
     Layer vacuum_layer(refMat::Vacuum);
     Layer substrate_layer(refMat::Substrate);
 
-    InterferenceFunction2DParaCrystal iff(SquareLattice(10 * Units::nanometer), 0, 0, 0);
+    InterferenceFunction2DParaCrystal iff(SquareLattice(10 * Units::nm), 0, 0, 0);
     iff.setIntegrationOverXi(true);
     iff.setDomainSizes(20.0 * Units::micrometer, 20.0 * Units::micrometer);
-    FTDistribution2DCauchy pdf1(0.5 * Units::nanometer, 2.0 * Units::nanometer, 0);
-    FTDistribution2DCauchy pdf2(0.5 * Units::nanometer, 2.0 * Units::nanometer, 0);
+    FTDistribution2DCauchy pdf1(0.5 * Units::nm, 2.0 * Units::nm, 0);
+    FTDistribution2DCauchy pdf2(0.5 * Units::nm, 2.0 * Units::nm, 0);
     iff.setProbabilityDistributions(pdf1, pdf2);
 
-    FormFactorCylinder ff_cylinder(5.0 * Units::nanometer, 5.0 * Units::nanometer);
+    FormFactorCylinder ff_cylinder(5.0 * Units::nm, 5.0 * Units::nm);
 
     Particle particle(refMat::Particle, ff_cylinder);
     ParticleLayout particle_layout(particle);
diff --git a/Sample/StandardSamples/ParticleCompositionBuilder.cpp b/Sample/StandardSamples/ParticleCompositionBuilder.cpp
index f8c8ac262745f8cbfa7f2cbbf7fe26a8389b025e..b7d7639d832c84c7a9164c1502e6a326c781eeea 100644
--- a/Sample/StandardSamples/ParticleCompositionBuilder.cpp
+++ b/Sample/StandardSamples/ParticleCompositionBuilder.cpp
@@ -30,7 +30,7 @@ MultiLayer* ParticleCompositionBuilder::buildSample() const
     Layer vacuum_layer(refMat::Vacuum);
     Layer substrate_layer(refMat::Substrate);
 
-    double radius(10.0 * Units::nanometer);
+    double radius(10.0 * Units::nm);
     FormFactorFullSphere sphere_ff(radius);
     Particle sphere(refMat::Particle, sphere_ff);
     ParticleLayout particle_layout;
@@ -45,7 +45,7 @@ MultiLayer* ParticleCompositionBuilder::buildSample() const
 
     std::unique_ptr<InterferenceFunction2DLattice> P_interference{
         InterferenceFunction2DLattice::createHexagonal(radius * 2.0, 0)};
-    FTDecayFunction2DCauchy pdf(10 * Units::nanometer, 10 * Units::nanometer, 0);
+    FTDecayFunction2DCauchy pdf(10 * Units::nm, 10 * Units::nm, 0);
     P_interference->setDecayFunction(pdf);
 
     particle_layout.setInterferenceFunction(*P_interference);
diff --git a/Sample/StandardSamples/ParticleDistributionsBuilder.cpp b/Sample/StandardSamples/ParticleDistributionsBuilder.cpp
index 99c72d49fba994852f17c7b3fead633d52eed9c5..693bfac3f2f2d1f7c332b44159726472a9fb8b92 100644
--- a/Sample/StandardSamples/ParticleDistributionsBuilder.cpp
+++ b/Sample/StandardSamples/ParticleDistributionsBuilder.cpp
@@ -30,8 +30,8 @@
 
 MultiLayer* CylindersWithSizeDistributionBuilder::buildSample() const
 {
-    const double height(5 * Units::nanometer);
-    const double radius(5 * Units::nanometer);
+    const double height(5 * Units::nm);
+    const double radius(5 * Units::nm);
 
     Layer vacuum_layer(refMat::Vacuum);
 
@@ -64,10 +64,10 @@ MultiLayer* CylindersWithSizeDistributionBuilder::buildSample() const
 // ----------------------------------------------------------------------------
 
 TwoTypesCylindersDistributionBuilder::TwoTypesCylindersDistributionBuilder()
-    : m_radius1(5 * Units::nanometer)
-    , m_radius2(10 * Units::nanometer)
-    , m_height1(5 * Units::nanometer)
-    , m_height2(10 * Units::nanometer)
+    : m_radius1(5 * Units::nm)
+    , m_radius2(10 * Units::nm)
+    , m_height1(5 * Units::nm)
+    , m_height2(10 * Units::nm)
     , m_sigma1_ratio(0.2)
     , m_sigma2_ratio(0.02)
 {
@@ -118,10 +118,10 @@ MultiLayer* TwoTypesCylindersDistributionBuilder::buildSample() const
 // ----------------------------------------------------------------------------
 
 RotatedPyramidsDistributionBuilder::RotatedPyramidsDistributionBuilder()
-    : m_length(10 * Units::nanometer)
-    , m_height(5 * Units::nanometer)
+    : m_length(10 * Units::nm)
+    , m_height(5 * Units::nm)
     , m_alpha(Units::deg2rad(54.73))
-    , m_zangle(45. * Units::degree)
+    , m_zangle(45. * Units::deg)
 {
 }
 
diff --git a/Sample/StandardSamples/ParticleInVacuumBuilder.cpp b/Sample/StandardSamples/ParticleInVacuumBuilder.cpp
index 767ed3558454ffd4f526c4638b32c21c8ee4c1ad..e68a58a33181ee569a90f08736a8284bf35fd29c 100644
--- a/Sample/StandardSamples/ParticleInVacuumBuilder.cpp
+++ b/Sample/StandardSamples/ParticleInVacuumBuilder.cpp
@@ -27,8 +27,7 @@ namespace
 FormFactorComponents ff_components;
 }
 
-ParticleInVacuumBuilder::ParticleInVacuumBuilder()
-    : m_ff(new FormFactorFullSphere(5.0 * Units::nanometer))
+ParticleInVacuumBuilder::ParticleInVacuumBuilder() : m_ff(new FormFactorFullSphere(5.0 * Units::nm))
 {
 }
 
diff --git a/Sample/StandardSamples/PercusYevickBuilder.cpp b/Sample/StandardSamples/PercusYevickBuilder.cpp
index ee7d858701ac79e4fbca36d111e6f2552141a012..f489860e8cbd6c411b182655e76cb6e45b7eb39b 100644
--- a/Sample/StandardSamples/PercusYevickBuilder.cpp
+++ b/Sample/StandardSamples/PercusYevickBuilder.cpp
@@ -24,9 +24,9 @@
 
 MultiLayer* HardDiskBuilder::buildSample() const
 {
-    const double m_cylinder_height(5 * Units::nanometer);
-    const double m_cylinder_radius(5 * Units::nanometer);
-    const double m_disk_radius(5 * Units::nanometer);
+    const double m_cylinder_height(5 * Units::nm);
+    const double m_cylinder_radius(5 * Units::nm);
+    const double m_disk_radius(5 * Units::nm);
     const double m_density(0.006);
 
     Layer vacuum_layer(refMat::Vacuum);
diff --git a/Sample/StandardSamples/RipplesBuilder.cpp b/Sample/StandardSamples/RipplesBuilder.cpp
index 30e4aa415a0c2abafcb8ffc6af2dce93cef503b9..11c9f4809ef1c89bd440a39dd96d5c4853f495bc 100644
--- a/Sample/StandardSamples/RipplesBuilder.cpp
+++ b/Sample/StandardSamples/RipplesBuilder.cpp
@@ -48,7 +48,7 @@ MultiLayer* CosineRippleBuilder::buildSample() const
 
 // ----------------------------------------------------------------------------
 
-TriangularRippleBuilder::TriangularRippleBuilder() : m_d(0.0 * Units::nanometer)
+TriangularRippleBuilder::TriangularRippleBuilder() : m_d(0.0 * Units::nm)
 {
     registerParameter("asymmetry", &m_d);
 }
diff --git a/Sample/StandardSamples/RotatedPyramidsBuilder.cpp b/Sample/StandardSamples/RotatedPyramidsBuilder.cpp
index e292ff866b510ef06c21b4db7f80f521f9602800..390b3e3026e043db6f5e1629486900608eb1cada 100644
--- a/Sample/StandardSamples/RotatedPyramidsBuilder.cpp
+++ b/Sample/StandardSamples/RotatedPyramidsBuilder.cpp
@@ -23,10 +23,10 @@
 
 MultiLayer* RotatedPyramidsBuilder::buildSample() const
 {
-    const double m_length(10 * Units::nanometer);
-    const double m_height(5 * Units::nanometer);
+    const double m_length(10 * Units::nm);
+    const double m_height(5 * Units::nm);
     const double m_alpha(Units::deg2rad(54.73));
-    const double m_zangle(45. * Units::degree);
+    const double m_zangle(45. * Units::deg);
 
     Layer vacuum_layer(refMat::Vacuum);
     Layer substrate_layer(refMat::Substrate);
diff --git a/Sample/StandardSamples/SizeDistributionModelsBuilder.cpp b/Sample/StandardSamples/SizeDistributionModelsBuilder.cpp
index 4eb3c00f635a2edcb4e80d8ef6fc0606a82eb50e..20ada60484aede47072f8c986081d19f8cda0d81 100644
--- a/Sample/StandardSamples/SizeDistributionModelsBuilder.cpp
+++ b/Sample/StandardSamples/SizeDistributionModelsBuilder.cpp
@@ -28,21 +28,20 @@
 MultiLayer* SizeDistributionDAModelBuilder::buildSample() const
 {
     // cylindrical particle 1
-    double radius1(5 * Units::nanometer);
+    double radius1(5 * Units::nm);
     double height1 = radius1;
     FormFactorCylinder cylinder_ff1(radius1, height1);
     Particle cylinder1(refMat::Particle, cylinder_ff1);
 
     // cylindrical particle 2
-    double radius2(8 * Units::nanometer);
+    double radius2(8 * Units::nm);
     double height2(radius2);
     FormFactorCylinder cylinder_ff2(radius2, height2);
     Particle cylinder2(refMat::Particle, cylinder_ff2);
 
     // interference function
-    InterferenceFunctionRadialParaCrystal interference(18.0 * Units::nanometer,
-                                                       1e3 * Units::nanometer);
-    FTDistribution1DGauss pdf(3 * Units::nanometer);
+    InterferenceFunctionRadialParaCrystal interference(18.0 * Units::nm, 1e3 * Units::nm);
+    FTDistribution1DGauss pdf(3 * Units::nm);
     interference.setProbabilityDistribution(pdf);
 
     // assembling the sample
@@ -66,26 +65,24 @@ MultiLayer* SizeDistributionDAModelBuilder::buildSample() const
 MultiLayer* SizeDistributionLMAModelBuilder::buildSample() const
 {
     // cylindrical particle 1
-    double radius1(5 * Units::nanometer);
+    double radius1(5 * Units::nm);
     double height1 = radius1;
     FormFactorCylinder cylinder_ff1(radius1, height1);
     Particle cylinder1(refMat::Particle, cylinder_ff1);
 
     // cylindrical particle 2
-    double radius2(8 * Units::nanometer);
+    double radius2(8 * Units::nm);
     double height2(radius2);
     FormFactorCylinder cylinder_ff2(radius2, height2);
     Particle cylinder2(refMat::Particle, cylinder_ff2);
 
     // interference function1
-    InterferenceFunctionRadialParaCrystal interference1(16.8 * Units::nanometer,
-                                                        1e3 * Units::nanometer);
-    FTDistribution1DGauss pdf(3 * Units::nanometer);
+    InterferenceFunctionRadialParaCrystal interference1(16.8 * Units::nm, 1e3 * Units::nm);
+    FTDistribution1DGauss pdf(3 * Units::nm);
     interference1.setProbabilityDistribution(pdf);
 
     // interference function2
-    InterferenceFunctionRadialParaCrystal interference2(22.8 * Units::nanometer,
-                                                        1e3 * Units::nanometer);
+    InterferenceFunctionRadialParaCrystal interference2(22.8 * Units::nm, 1e3 * Units::nm);
     interference2.setProbabilityDistribution(pdf);
 
     // assembling the sample
@@ -113,21 +110,20 @@ MultiLayer* SizeDistributionLMAModelBuilder::buildSample() const
 MultiLayer* SizeDistributionSSCAModelBuilder::buildSample() const
 {
     // cylindrical particle 1
-    double radius1(5 * Units::nanometer);
+    double radius1(5 * Units::nm);
     double height1 = radius1;
     FormFactorCylinder cylinder_ff1(radius1, height1);
     Particle cylinder1(refMat::Particle, cylinder_ff1);
 
     // cylindrical particle 2
-    double radius2(8 * Units::nanometer);
+    double radius2(8 * Units::nm);
     double height2(radius2);
     FormFactorCylinder cylinder_ff2(radius2, height2);
     Particle cylinder2(refMat::Particle, cylinder_ff2);
 
     // interference function
-    InterferenceFunctionRadialParaCrystal interference(18.0 * Units::nanometer,
-                                                       1e3 * Units::nanometer);
-    FTDistribution1DGauss pdf(3 * Units::nanometer);
+    InterferenceFunctionRadialParaCrystal interference(18.0 * Units::nm, 1e3 * Units::nm);
+    FTDistribution1DGauss pdf(3 * Units::nm);
     interference.setProbabilityDistribution(pdf);
     interference.setKappa(1.0);
 
@@ -153,17 +149,16 @@ MultiLayer* CylindersInSSCABuilder::buildSample() const
 {
     Layer vacuum_layer(refMat::Vacuum);
 
-    InterferenceFunctionRadialParaCrystal interference_function(15.0 * Units::nanometer,
-                                                                1e3 * Units::nanometer);
-    FTDistribution1DGauss pdf(5 * Units::nanometer);
+    InterferenceFunctionRadialParaCrystal interference_function(15.0 * Units::nm, 1e3 * Units::nm);
+    FTDistribution1DGauss pdf(5 * Units::nm);
     interference_function.setProbabilityDistribution(pdf);
     interference_function.setKappa(4.02698);
     ParticleLayout particle_layout;
 
-    FormFactorCylinder ff_cylinder(5.0 * Units::nanometer, 5.0 * Units::nanometer);
+    FormFactorCylinder ff_cylinder(5.0 * Units::nm, 5.0 * Units::nm);
     Particle particle_prototype(refMat::Particle, ff_cylinder);
 
-    DistributionGaussian gauss(5.0 * Units::nanometer, 1.25 * Units::nanometer);
+    DistributionGaussian gauss(5.0 * Units::nm, 1.25 * Units::nm);
     ParameterPattern pattern_radius;
     pattern_radius.add("Particle").add("Cylinder").add("Radius");
     ParameterDistribution par_distr(pattern_radius.toStdString(), gauss, 30, 3.0);
diff --git a/Sample/StandardSamples/SlicedCylindersBuilder.cpp b/Sample/StandardSamples/SlicedCylindersBuilder.cpp
index 5feb948d3f1ab597d9d63b6133d00c5a3911c276..d93e693f079026f925eada56085842cf1095b8d7 100644
--- a/Sample/StandardSamples/SlicedCylindersBuilder.cpp
+++ b/Sample/StandardSamples/SlicedCylindersBuilder.cpp
@@ -24,8 +24,8 @@
 
 namespace
 {
-const double height(5 * Units::nanometer);
-const double radius(5 * Units::nanometer);
+const double height(5 * Units::nm);
+const double radius(5 * Units::nm);
 const double wavelength(0.154); // nm
 const int n_slices(3);
 
diff --git a/Sample/StandardSamples/TransformationsBuilder.cpp b/Sample/StandardSamples/TransformationsBuilder.cpp
index 55e85ef9d988e8cbdd5e1dc628c90e13af18bb71..6bbabc7f9aa5e363a8b5a63309acb14edec0a384 100644
--- a/Sample/StandardSamples/TransformationsBuilder.cpp
+++ b/Sample/StandardSamples/TransformationsBuilder.cpp
@@ -29,8 +29,8 @@ MultiLayer* TransformBoxBuilder::buildSample() const
     const double height(10);
 
     Particle box(refMat::Ag, FormFactorBox(length, width, height));
-    box.setRotation(RotationZ(90. * Units::degree));
-    box.rotate(RotationY(90. * Units::degree));
+    box.setRotation(RotationZ(90. * Units::deg));
+    box.rotate(RotationY(90. * Units::deg));
     box.setPosition(kvector_t(0, 0, -layer_thickness / 2.));
 
     ParticleLayout layout;
diff --git a/Sample/StandardSamples/TwoDimLatticeBuilder.cpp b/Sample/StandardSamples/TwoDimLatticeBuilder.cpp
index a4dc4a055d9eb96412becc8d8f8749f837ac36ea..feb9207a5cac884c9fc96e4ee525c116579539a9 100644
--- a/Sample/StandardSamples/TwoDimLatticeBuilder.cpp
+++ b/Sample/StandardSamples/TwoDimLatticeBuilder.cpp
@@ -31,16 +31,15 @@ MultiLayer* Basic2DLatticeBuilder::buildSample() const
     Layer vacuum_layer(refMat::Vacuum);
     Layer substrate_layer(refMat::Substrate);
 
-    InterferenceFunction2DLattice iff(BasicLattice(5.0 * Units::nanometer, 10.0 * Units::nanometer,
-                                                   30.0 * Units::deg, 10.0 * Units::deg));
+    InterferenceFunction2DLattice iff(
+        BasicLattice(5.0 * Units::nm, 10.0 * Units::nm, 30.0 * Units::deg, 10.0 * Units::deg));
 
-    FTDecayFunction2DCauchy pdf(300.0 * Units::nanometer / 2.0 / M_PI,
-                                100.0 * Units::nanometer / 2.0 / M_PI, 0);
+    FTDecayFunction2DCauchy pdf(300.0 * Units::nm / 2.0 / M_PI, 100.0 * Units::nm / 2.0 / M_PI, 0);
     iff.setDecayFunction(pdf);
 
     // particles
     ParticleLayout particle_layout;
-    FormFactorCylinder ff_cyl(5.0 * Units::nanometer, 5.0 * Units::nanometer);
+    FormFactorCylinder ff_cyl(5.0 * Units::nm, 5.0 * Units::nm);
     Particle particle(refMat::Particle, ff_cyl);
     particle_layout.addParticle(particle, 1.0);
 
@@ -62,14 +61,13 @@ MultiLayer* SquareLatticeBuilder::buildSample() const
     Layer vacuum_layer(refMat::Vacuum);
     Layer substrate_layer(refMat::Substrate);
 
-    InterferenceFunction2DLattice iff(SquareLattice(10.0 * Units::nanometer, 0));
-    FTDecayFunction2DCauchy pdf(300.0 * Units::nanometer / 2.0 / M_PI,
-                                100.0 * Units::nanometer / 2.0 / M_PI, 0);
+    InterferenceFunction2DLattice iff(SquareLattice(10.0 * Units::nm, 0));
+    FTDecayFunction2DCauchy pdf(300.0 * Units::nm / 2.0 / M_PI, 100.0 * Units::nm / 2.0 / M_PI, 0);
     iff.setDecayFunction(pdf);
 
     // particles
     ParticleLayout particle_layout;
-    FormFactorCylinder ff_cyl(5.0 * Units::nanometer, 5.0 * Units::nanometer);
+    FormFactorCylinder ff_cyl(5.0 * Units::nm, 5.0 * Units::nm);
     Particle particle(refMat::Particle, ff_cyl);
     particle_layout.addParticle(particle, 1.0);
 
@@ -92,16 +90,15 @@ MultiLayer* CenteredSquareLatticeBuilder::buildSample() const
     Layer substrate_layer(refMat::Substrate);
 
     InterferenceFunction2DLattice interference_function(
-        BasicLattice(10.0 * Units::nanometer, 10.0 * Units::nanometer, M_PI / 2.0, 0));
-    FTDecayFunction2DCauchy pdf(300.0 * Units::nanometer / 2.0 / M_PI,
-                                100.0 * Units::nanometer / 2.0 / M_PI, 0);
+        BasicLattice(10.0 * Units::nm, 10.0 * Units::nm, M_PI / 2.0, 0));
+    FTDecayFunction2DCauchy pdf(300.0 * Units::nm / 2.0 / M_PI, 100.0 * Units::nm / 2.0 / M_PI, 0);
     interference_function.setDecayFunction(pdf);
 
-    FormFactorCylinder ff_cyl(5.0 * Units::nanometer, 5.0 * Units::nanometer);
+    FormFactorCylinder ff_cyl(5.0 * Units::nm, 5.0 * Units::nm);
     Particle cylinder(refMat::Particle, ff_cyl);
     std::vector<kvector_t> positions;
     kvector_t position_1(0.0, 0.0, 0.0);
-    kvector_t position_2(5.0 * Units::nanometer, -5.0 * Units::nanometer, 0.0);
+    kvector_t position_2(5.0 * Units::nm, -5.0 * Units::nm, 0.0);
     positions.push_back(position_1);
     positions.push_back(position_2);
     ParticleComposition basis;
@@ -126,14 +123,14 @@ MultiLayer* RotatedSquareLatticeBuilder::buildSample() const
     Layer vacuum_layer(refMat::Vacuum);
     Layer substrate_layer(refMat::Substrate);
 
-    InterferenceFunction2DLattice iff(SquareLattice(10.0 * Units::nanometer, 30.0 * Units::degree));
-    FTDecayFunction2DCauchy pdf(300.0 * Units::nanometer / 2.0 / M_PI,
-                                100.0 * Units::nanometer / 2.0 / M_PI, 30.0 * Units::degree);
+    InterferenceFunction2DLattice iff(SquareLattice(10.0 * Units::nm, 30.0 * Units::deg));
+    FTDecayFunction2DCauchy pdf(300.0 * Units::nm / 2.0 / M_PI, 100.0 * Units::nm / 2.0 / M_PI,
+                                30.0 * Units::deg);
     iff.setDecayFunction(pdf);
 
     ParticleLayout particle_layout;
     // particle
-    FormFactorCylinder ff_cyl(5.0 * Units::nanometer, 5.0 * Units::nanometer);
+    FormFactorCylinder ff_cyl(5.0 * Units::nm, 5.0 * Units::nm);
     kvector_t position(0.0, 0.0, 0.0);
     Particle p(refMat::Particle, ff_cyl);
     p.setPosition(position);
@@ -156,12 +153,12 @@ MultiLayer* FiniteSquareLatticeBuilder::buildSample() const
     Layer vacuum_layer(refMat::Vacuum);
     Layer substrate_layer(refMat::Substrate);
 
-    InterferenceFunctionFinite2DLattice iff(SquareLattice(10.0 * Units::nanometer, 0.0), 40, 40);
+    InterferenceFunctionFinite2DLattice iff(SquareLattice(10.0 * Units::nm, 0.0), 40, 40);
     iff.setPositionVariance(1.0);
 
     // particles
     ParticleLayout particle_layout;
-    FormFactorCylinder ff_cyl(5.0 * Units::nanometer, 5.0 * Units::nanometer);
+    FormFactorCylinder ff_cyl(5.0 * Units::nm, 5.0 * Units::nm);
     Particle particle(refMat::Particle, ff_cyl);
     particle_layout.addParticle(particle, 1.0);
 
@@ -183,17 +180,16 @@ MultiLayer* SuperLatticeBuilder::buildSample() const
     Layer vacuum_layer(refMat::Vacuum);
     Layer substrate_layer(refMat::Substrate);
 
-    InterferenceFunction2DSuperLattice iff(SquareLattice(200.0 * Units::nanometer, 0.0), 40, 40);
-    InterferenceFunctionFinite2DLattice substructure(SquareLattice(10.0 * Units::nanometer, 0.0),
-                                                     10, 10);
+    InterferenceFunction2DSuperLattice iff(SquareLattice(200.0 * Units::nm, 0.0), 40, 40);
+    InterferenceFunctionFinite2DLattice substructure(SquareLattice(10.0 * Units::nm, 0.0), 10, 10);
     iff.setSubstructureIFF(substructure);
     iff.setPositionVariance(1.0);
 
     // particles
     ParticleLayout particle_layout;
-    FormFactorCylinder ff_cyl(5.0 * Units::nanometer, 10.0 * Units::nanometer);
+    FormFactorCylinder ff_cyl(5.0 * Units::nm, 10.0 * Units::nm);
     Particle particle(refMat::Vacuum, ff_cyl);
-    particle_layout.addParticle(particle, 1.0, kvector_t(0.0, 0.0, -10.0 * Units::nanometer));
+    particle_layout.addParticle(particle, 1.0, kvector_t(0.0, 0.0, -10.0 * Units::nm));
 
     particle_layout.setInterferenceFunction(iff);
     particle_layout.setTotalParticleSurfaceDensity(100.0 / 4e4);
diff --git a/Sample/StandardSamples/TwoLayerRoughnessBuilder.cpp b/Sample/StandardSamples/TwoLayerRoughnessBuilder.cpp
index 85cf3acd83fd2dbd036e123f0b70dc25eb0c7332..a3c47d4bb91832f69a6e914cadca6d6ec8234332 100644
--- a/Sample/StandardSamples/TwoLayerRoughnessBuilder.cpp
+++ b/Sample/StandardSamples/TwoLayerRoughnessBuilder.cpp
@@ -21,9 +21,9 @@
 
 MultiLayer* TwoLayerRoughnessBuilder::buildSample() const
 {
-    const double m_sigma(1.0 * Units::nanometer);
+    const double m_sigma(1.0 * Units::nm);
     const double m_hurst(0.3);
-    const double m_lateralCorrLength(5.0 * Units::nanometer);
+    const double m_lateralCorrLength(5.0 * Units::nm);
 
     Layer vacuum_layer(refMat::Vacuum, 0);
     Layer substrate_layer(refMat::Substrate, 0);
diff --git a/Tests/Functional/Core/Fitting/AdjustMinimizerPlan.cpp b/Tests/Functional/Core/Fitting/AdjustMinimizerPlan.cpp
index ce96edc84fa9e1e72e2c7de37aced328b6e014f1..f427dacd1149e4109262e1479866676a410cbc9c 100644
--- a/Tests/Functional/Core/Fitting/AdjustMinimizerPlan.cpp
+++ b/Tests/Functional/Core/Fitting/AdjustMinimizerPlan.cpp
@@ -20,7 +20,7 @@
 
 namespace
 {
-const double nm = Units::nanometer;
+const double nm = Units::nm;
 }
 
 using namespace Fit;
diff --git a/Tests/Functional/Core/Fitting/PlanCases.cpp b/Tests/Functional/Core/Fitting/PlanCases.cpp
index 6b524ea4dfe99e499b36a409b200956b7abb2f92..954da961853a1fcff2c48cf7f9f0a90f5fe89c86 100644
--- a/Tests/Functional/Core/Fitting/PlanCases.cpp
+++ b/Tests/Functional/Core/Fitting/PlanCases.cpp
@@ -30,7 +30,7 @@ using namespace Fit;
 
 namespace
 {
-const double nm = Units::nanometer;
+const double nm = Units::nm;
 }
 
 CylindersInBAPlan::CylindersInBAPlan() : Plan("CylindersInBAPlan")
@@ -81,7 +81,7 @@ std::unique_ptr<ISimulation> RectDetPlan::createSimulation(const Parameters&) co
     RectangularDetector detector(20u, width, 18u, height);
     detector.setPerpendicularToSampleX(detector_distance, width / 2., 0.0);
 
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
     result->setDetector(detector);
     result->setRegionOfInterest(5.0, 6.0, 15.0, 12.0);
     result->addMask(Rectangle(0.0, 0.0, 2.0, 2.0), true);
diff --git a/Tests/Performance/Core/ThreadingComponents.cpp b/Tests/Performance/Core/ThreadingComponents.cpp
index 734957a67ee9fdeba02c7fe8ab23f1d148b072ec..1eb550587e484fa6187dde1f005721547f8366da 100644
--- a/Tests/Performance/Core/ThreadingComponents.cpp
+++ b/Tests/Performance/Core/ThreadingComponents.cpp
@@ -76,7 +76,7 @@ std::unique_ptr<MultiLayer> createSampleSpheresDistribution(int nspheres)
 std::unique_ptr<ISimulation> CreateRealisticGISASSimulation()
 {
     auto result = std::make_unique<GISASSimulation>();
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
 
     // define detector
     const int pilatus_npx{981}, pilatus_npy{1043};
@@ -104,9 +104,9 @@ std::unique_ptr<ISimulation> CreateRealisticGISASSimulation()
 std::unique_ptr<ISimulation> TestComponents::CreateSimpleGISAS()
 {
     auto result = std::make_unique<GISASSimulation>();
-    result->setDetectorParameters(100, 0.0 * Units::degree, 2.0 * Units::degree, 100,
-                                  0.0 * Units::degree, 2.0 * Units::degree);
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setDetectorParameters(100, 0.0 * Units::deg, 2.0 * Units::deg, 100, 0.0 * Units::deg,
+                                  2.0 * Units::deg);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
 
     auto sample = std::unique_ptr<MultiLayer>(CylindersInDWBABuilder().buildSample());
     result->setSample(*sample);
@@ -146,9 +146,9 @@ std::unique_ptr<ISimulation> TestComponents::CreateGiganticGISAS()
 {
     const int nbins = 2048;
     auto result = std::make_unique<GISASSimulation>();
-    result->setDetectorParameters(nbins, -2.0 * Units::degree, 2.0 * Units::degree, nbins,
-                                  0.0 * Units::degree, 2.0 * Units::degree);
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setDetectorParameters(nbins, -2.0 * Units::deg, 2.0 * Units::deg, nbins,
+                                  0.0 * Units::deg, 2.0 * Units::deg);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
     auto sample = std::unique_ptr<MultiLayer>(CylindersInBABuilder().buildSample());
     result->setSample(*sample);
     return std::unique_ptr<ISimulation>(result.release());
@@ -162,9 +162,9 @@ std::unique_ptr<ISimulation> TestComponents::CreateWavelengthGISAS()
 {
     const int nbins = 64;
     auto result = std::make_unique<GISASSimulation>();
-    result->setDetectorParameters(nbins, -2.0 * Units::degree, 2.0 * Units::degree, nbins,
-                                  0.0 * Units::degree, 2.0 * Units::degree);
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setDetectorParameters(nbins, -2.0 * Units::deg, 2.0 * Units::deg, nbins,
+                                  0.0 * Units::deg, 2.0 * Units::deg);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
 
     // create parameter distribution
     DistributionLogNormal wavelength_distr(1.0 * Units::angstrom, 0.1);
@@ -184,9 +184,9 @@ std::unique_ptr<ISimulation> TestComponents::CreateWavelengthGISAS()
 std::unique_ptr<ISimulation> TestComponents::CreateMCGISAS()
 {
     auto result = std::make_unique<GISASSimulation>();
-    result->setDetectorParameters(100, 0.0 * Units::degree, 2.0 * Units::degree, 100,
-                                  0.0 * Units::degree, 2.0 * Units::degree);
-    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::degree, 0.0 * Units::degree);
+    result->setDetectorParameters(100, 0.0 * Units::deg, 2.0 * Units::deg, 100, 0.0 * Units::deg,
+                                  2.0 * Units::deg);
+    result->setBeamParameters(1.0 * Units::angstrom, 0.2 * Units::deg, 0.0 * Units::deg);
 
     auto sample = createSampleSpheresDistribution(10);
     result->setSample(*sample);
diff --git a/Tests/UnitTests/Core/Axes/ConstKBinAxisTest.cpp b/Tests/UnitTests/Core/Axes/ConstKBinAxisTest.cpp
index 39f1f2f06eb83516e5e64e673d1707ab19917413..27565872ba3ce73c1867be2b07a694138b1a6211 100644
--- a/Tests/UnitTests/Core/Axes/ConstKBinAxisTest.cpp
+++ b/Tests/UnitTests/Core/Axes/ConstKBinAxisTest.cpp
@@ -9,8 +9,8 @@ class ConstKBinAxisTest : public ::testing::Test
 protected:
     ConstKBinAxisTest()
         : m_nbins(10)
-        , m_start(-5.0 * Units::degree)
-        , m_end(5.0 * Units::degree)
+        , m_start(-5.0 * Units::deg)
+        , m_end(5.0 * Units::deg)
         , m_axis("name", m_nbins, m_start, m_end)
     {
         double start_sin = std::sin(m_start);
diff --git a/Tests/UnitTests/Core/Detector/RectangularDetectorTest.cpp b/Tests/UnitTests/Core/Detector/RectangularDetectorTest.cpp
index 9f474af04d898f87850235306d0de8103563e92b..071f362bf8344b8b1ed78bbafa6836795a87f7e5 100644
--- a/Tests/UnitTests/Core/Detector/RectangularDetectorTest.cpp
+++ b/Tests/UnitTests/Core/Detector/RectangularDetectorTest.cpp
@@ -11,8 +11,8 @@ class RectangularDetectorTest : public ::testing::Test
 protected:
     //    double phi(DetectorElement& element, double wavelength);
     //    double alpha(DetectorElement& element, double wavelength);
-    double phi(kvector_t k) { return k.phi() / Units::degree; }
-    double alpha(kvector_t k) { return 90.0 - k.theta() / Units::degree; }
+    double phi(kvector_t k) { return k.phi() / Units::deg; }
+    double alpha(kvector_t k) { return 90.0 - k.theta() / Units::deg; }
 
     bool isEqual(const kvector_t lhs, const kvector_t rhs)
     {
@@ -80,7 +80,7 @@ TEST_F(RectangularDetectorTest, PerpToSample)
 
     // initializing with the simulation
     GISASSimulation simulation;
-    simulation.setBeamParameters(1.0, 10.0 * Units::degree, 0.0);
+    simulation.setBeamParameters(1.0, 10.0 * Units::deg, 0.0);
     det.init(simulation.instrument().beam());
     EXPECT_TRUE(kvector_t(distance, 0, 0) == det.getNormalVector());
     EXPECT_TRUE(kvector_t(0.0, -1.0, 0.0) == det.getDirectionVector());
@@ -119,7 +119,7 @@ TEST_F(RectangularDetectorTest, PerpToDirectBeam)
     double distance(100.0), u0(20.0), v0(10.0);
     //    double dx = width / nbinsx;
     //    double dy = height / nbinsy;
-    double alpha_i(10.0 * Units::degree);
+    double alpha_i(10.0 * Units::deg);
 
     RectangularDetector det(nbinsx, width, nbinsy, height);
 
@@ -162,7 +162,7 @@ TEST_F(RectangularDetectorTest, PerpToReflectedBeam)
     double distance(100.0), u0(20.0), v0(10.0);
     //    double dx = width / nbinsx;
     //    double dy = height / nbinsy;
-    double alpha_i(10.0 * Units::degree);
+    double alpha_i(10.0 * Units::deg);
 
     RectangularDetector det(nbinsx, width, nbinsy, height);
 
@@ -207,7 +207,7 @@ TEST_F(RectangularDetectorTest, PerpToReflectedBeamDpos)
     double distance(100.0), u0(20.0), v0(10.0);
     //    double dx = width / nbinsx;
     //    double dy = height / nbinsy;
-    double alpha_i(10.0 * Units::degree);
+    double alpha_i(10.0 * Units::deg);
 
     RectangularDetector det(nbinsx, width, nbinsy, height);
 
@@ -345,12 +345,12 @@ TEST_F(RectangularDetectorTest, AnalyzerProperties)
 //{
 //    auto pixel = element.pixel();
 //    auto k_f = pixel->getK(0.5, 0.5, wavelength);
-//    return k_f.phi() / Units::degree;
+//    return k_f.phi() / Units::deg;
 //}
 
 // double RectangularDetectorTest::alpha(DetectorElement& element, double wavelength)
 //{
 //    auto pixel = element.pixel();
 //    auto k_f = pixel->getK(0.5, 0.5, wavelength);
-//    return ( M_PI_2 - k_f.theta() ) / Units::degree;
+//    return ( M_PI_2 - k_f.theta() ) / Units::deg;
 //}
diff --git a/Tests/UnitTests/Core/Fresnel/DepthProbeSimulationTest.cpp b/Tests/UnitTests/Core/Fresnel/DepthProbeSimulationTest.cpp
index d9355d539ecfda6cb65b778bee2263e52aee62eb..5d54b46eaeed3b63f7815bc7dd5259589aa476f6 100644
--- a/Tests/UnitTests/Core/Fresnel/DepthProbeSimulationTest.cpp
+++ b/Tests/UnitTests/Core/Fresnel/DepthProbeSimulationTest.cpp
@@ -30,7 +30,7 @@ DepthProbeSimulationTest::DepthProbeSimulationTest()
     Material mat2 = HomogeneousMaterial("substrate", 15e-6, 0.0);
 
     Layer layer0(mat0);
-    Layer layer1(mat1, 10 * Units::nanometer);
+    Layer layer1(mat1, 10 * Units::nm);
     Layer layer2(mat2);
 
     multilayer.addLayer(layer0);
@@ -41,8 +41,8 @@ DepthProbeSimulationTest::DepthProbeSimulationTest()
 std::unique_ptr<DepthProbeSimulation> DepthProbeSimulationTest::defaultSimulation()
 {
     std::unique_ptr<DepthProbeSimulation> result = std::make_unique<DepthProbeSimulation>();
-    result->setBeamParameters(1.0, 10, 0.0 * Units::degree, 2.0 * Units::degree);
-    result->setZSpan(12, -30.0 * Units::nanometer, 10.0 * Units::nanometer);
+    result->setBeamParameters(1.0, 10, 0.0 * Units::deg, 2.0 * Units::deg);
+    result->setZSpan(12, -30.0 * Units::nm, 10.0 * Units::nm);
     result->setSample(multilayer);
     return result;
 }
@@ -82,14 +82,14 @@ TEST_F(DepthProbeSimulationTest, CheckAxesOfDefaultSimulation)
     const auto alpha_axis = sim->getAlphaAxis();
     EXPECT_TRUE(dynamic_cast<const FixedBinAxis*>(alpha_axis));
     EXPECT_EQ(alpha_axis->size(), 10u);
-    EXPECT_EQ(alpha_axis->lowerBound(), 0.0 * Units::degree);
-    EXPECT_EQ(alpha_axis->upperBound(), 2.0 * Units::degree);
+    EXPECT_EQ(alpha_axis->lowerBound(), 0.0 * Units::deg);
+    EXPECT_EQ(alpha_axis->upperBound(), 2.0 * Units::deg);
 
     const auto z_axis = sim->getZAxis();
     EXPECT_TRUE(dynamic_cast<const FixedBinAxis*>(z_axis));
     EXPECT_EQ(z_axis->size(), 12u);
-    EXPECT_EQ(z_axis->lowerBound(), -30.0 * Units::nanometer);
-    EXPECT_EQ(z_axis->upperBound(), 10.0 * Units::nanometer);
+    EXPECT_EQ(z_axis->lowerBound(), -30.0 * Units::nm);
+    EXPECT_EQ(z_axis->upperBound(), 10.0 * Units::nm);
 
     const auto sim_clone = sim->clone();
     EXPECT_FALSE(alpha_axis == sim_clone->getAlphaAxis());
@@ -101,10 +101,10 @@ TEST_F(DepthProbeSimulationTest, SetBeamParameters)
     DepthProbeSimulation sim;
     const auto& beam = sim.instrument().beam();
 
-    sim.setBeamParameters(1.0, 10, 1.0 * Units::degree, 10.0 * Units::degree);
+    sim.setBeamParameters(1.0, 10, 1.0 * Units::deg, 10.0 * Units::deg);
     EXPECT_EQ(10u, sim.getAlphaAxis()->size());
-    EXPECT_EQ(1.0 * Units::degree, sim.getAlphaAxis()->lowerBound());
-    EXPECT_EQ(10.0 * Units::degree, sim.getAlphaAxis()->upperBound());
+    EXPECT_EQ(1.0 * Units::deg, sim.getAlphaAxis()->lowerBound());
+    EXPECT_EQ(10.0 * Units::deg, sim.getAlphaAxis()->upperBound());
     EXPECT_EQ(1.0, beam.getIntensity());
     EXPECT_EQ(1.0, beam.getWavelength());
     EXPECT_EQ(0.0, beam.getAlpha());
@@ -121,8 +121,8 @@ TEST_F(DepthProbeSimulationTest, SetBeamParameters)
     EXPECT_THROW(sim.setBeamParameters(-1.0, 1, 1.0, 2.0), std::runtime_error);
 
     EXPECT_EQ(10u, sim.getAlphaAxis()->size());
-    EXPECT_EQ(1.0 * Units::degree, sim.getAlphaAxis()->lowerBound());
-    EXPECT_EQ(10.0 * Units::degree, sim.getAlphaAxis()->upperBound());
+    EXPECT_EQ(1.0 * Units::deg, sim.getAlphaAxis()->lowerBound());
+    EXPECT_EQ(10.0 * Units::deg, sim.getAlphaAxis()->upperBound());
     EXPECT_EQ(2.0, beam.getIntensity());
     EXPECT_EQ(1.0, beam.getWavelength());
     EXPECT_EQ(0.0, beam.getAlpha());
diff --git a/Tests/UnitTests/Core/Fresnel/SpecularMagneticOldTest.cpp b/Tests/UnitTests/Core/Fresnel/SpecularMagneticOldTest.cpp
index 367af8391b7a428374228cab9786d5ca0d5e2a5c..7f855de46457be5214bb69e818f761f4696c1d27 100644
--- a/Tests/UnitTests/Core/Fresnel/SpecularMagneticOldTest.cpp
+++ b/Tests/UnitTests/Core/Fresnel/SpecularMagneticOldTest.cpp
@@ -21,7 +21,7 @@ TEST_F(SpecularMagneticOldTest, initial)
     // matrix.execute(mLayer, v, coeff);
 
     Material air = HomogeneousMaterial("Air", 0, 1.0);
-    Layer layer0(air, 0 * Units::nanometer);
+    Layer layer0(air, 0 * Units::nm);
     mLayer.addLayer(layer0);
     SimulationOptions options;
     ProcessedSample sample(mLayer, options);
diff --git a/Tests/UnitTests/Core/Fresnel/SpecularMagneticTest.cpp b/Tests/UnitTests/Core/Fresnel/SpecularMagneticTest.cpp
index 76c4ebfe8401599917798eb1f5e6ec047bb3db15..9b0910edd171febe6827dc525467648616b22d9a 100644
--- a/Tests/UnitTests/Core/Fresnel/SpecularMagneticTest.cpp
+++ b/Tests/UnitTests/Core/Fresnel/SpecularMagneticTest.cpp
@@ -85,7 +85,7 @@ std::unique_ptr<ProcessedSample> SpecularMagneticTest::sample_degenerate()
 {
     MultiLayer mLayer;
     Material air = HomogeneousMaterial("Vacuum", 0, 1.0);
-    mLayer.addLayer(Layer(air, 0 * Units::nanometer));
+    mLayer.addLayer(Layer(air, 0 * Units::nm));
     return std::make_unique<ProcessedSample>(mLayer, SimulationOptions());
 }
 
diff --git a/Tests/UnitTests/Core/Fresnel/SpecularSimulationTest.cpp b/Tests/UnitTests/Core/Fresnel/SpecularSimulationTest.cpp
index 9c54347380bfed24c13165e816c4ab8f7d70b318..4618559dfaf920ae2a5d6de4e4a61089a495298a 100644
--- a/Tests/UnitTests/Core/Fresnel/SpecularSimulationTest.cpp
+++ b/Tests/UnitTests/Core/Fresnel/SpecularSimulationTest.cpp
@@ -33,7 +33,7 @@ SpecularSimulationTest::SpecularSimulationTest()
     Material mat2 = HomogeneousMaterial("substrate", 15e-6, 0.0);
 
     Layer layer0(mat0);
-    Layer layer1(mat1, 10 * Units::nanometer);
+    Layer layer1(mat1, 10 * Units::nm);
     Layer layer2(mat2);
 
     multilayer.addLayer(layer0);
@@ -53,7 +53,7 @@ TEST_F(SpecularSimulationTest, InitialState)
 std::unique_ptr<SpecularSimulation> SpecularSimulationTest::defaultSimulation()
 {
     auto result = std::make_unique<SpecularSimulation>();
-    AngularSpecScan scan(1.0, FixedBinAxis("axis", 10, 0.0 * Units::degree, 2.0 * Units::degree));
+    AngularSpecScan scan(1.0, FixedBinAxis("axis", 10, 0.0 * Units::deg, 2.0 * Units::deg));
     result->setScan(scan);
     result->setSample(multilayer);
     return result;
@@ -101,23 +101,23 @@ TEST_F(SpecularSimulationTest, SetAngularScan)
     sim.setBeamIntensity(2.0);
     EXPECT_EQ(2.0, beam.getIntensity());
 
-    AngularSpecScan scan2(1.0, 10, 1.0 * Units::degree, 10.0 * Units::degree);
+    AngularSpecScan scan2(1.0, 10, 1.0 * Units::deg, 10.0 * Units::deg);
     sim.setScan(scan2);
     EXPECT_EQ(10u, sim.coordinateAxis()->size());
-    EXPECT_EQ(1.0 * Units::degree, sim.coordinateAxis()->lowerBound());
-    EXPECT_EQ(10.0 * Units::degree, sim.coordinateAxis()->upperBound());
+    EXPECT_EQ(1.0 * Units::deg, sim.coordinateAxis()->lowerBound());
+    EXPECT_EQ(10.0 * Units::deg, sim.coordinateAxis()->upperBound());
     EXPECT_EQ(2.0, beam.getIntensity());
     EXPECT_EQ(1.0, beam.getWavelength());
     EXPECT_EQ(0.0, beam.getAlpha());
     EXPECT_EQ(0.0, beam.getPhi());
     checkBeamState(sim);
 
-    AngularSpecScan scan3(1.0, 10, -1.0 * Units::degree, 2.0 * Units::degree);
+    AngularSpecScan scan3(1.0, 10, -1.0 * Units::deg, 2.0 * Units::deg);
     EXPECT_THROW(sim.setScan(scan3), std::runtime_error);
 
     EXPECT_EQ(10u, sim.coordinateAxis()->size());
-    EXPECT_EQ(1.0 * Units::degree, sim.coordinateAxis()->lowerBound());
-    EXPECT_EQ(10.0 * Units::degree, sim.coordinateAxis()->upperBound());
+    EXPECT_EQ(1.0 * Units::deg, sim.coordinateAxis()->lowerBound());
+    EXPECT_EQ(10.0 * Units::deg, sim.coordinateAxis()->upperBound());
     EXPECT_EQ(2.0, beam.getIntensity());
     EXPECT_EQ(1.0, beam.getWavelength());
     EXPECT_EQ(0.0, beam.getAlpha());
@@ -181,10 +181,9 @@ TEST_F(SpecularSimulationTest, ConstructSimulation)
     EXPECT_EQ(data->getAllocatedSize(), 10u);
     EXPECT_EQ(data->rank(), 1u);
 
-    EXPECT_NEAR(0.1 * Units::degree, sim_result.axis(Axes::Units::RADIANS).front(),
-                Units::degree * 1e-11);
-    EXPECT_NEAR(1.9 * Units::degree, sim_result.axis(Axes::Units::RADIANS).back(),
-                Units::degree * 1e-10);
+    EXPECT_NEAR(0.1 * Units::deg, sim_result.axis(Axes::Units::RADIANS).front(),
+                Units::deg * 1e-11);
+    EXPECT_NEAR(1.9 * Units::deg, sim_result.axis(Axes::Units::RADIANS).back(), Units::deg * 1e-10);
 
     checkBeamState(*sim);
 }
diff --git a/Tests/UnitTests/Core/Other/MaterialTest.cpp b/Tests/UnitTests/Core/Other/MaterialTest.cpp
index 6f5794efb075ddd93cc103f063ef8e1b15fe1ec7..79562f2f11e80269ecca5baa7254e49f0673ce6d 100644
--- a/Tests/UnitTests/Core/Other/MaterialTest.cpp
+++ b/Tests/UnitTests/Core/Other/MaterialTest.cpp
@@ -52,7 +52,7 @@ TEST_F(MaterialTest, MaterialTransform)
     complex_t material_data = complex_t(1.0, 0.0);
     complex_t refIndex = complex_t(1.0 - material_data.real(), material_data.imag());
     kvector_t magnetism = kvector_t(1.0, 0.0, 0.0);
-    RotationZ transform(90. * Units::degree);
+    RotationZ transform(90. * Units::deg);
     kvector_t transformed_mag = transform.transformed(magnetism);
 
     Material material = HomogeneousMaterial("Material", refIndex, magnetism);
diff --git a/Tests/UnitTests/Core/Other/Shape2DTest.cpp b/Tests/UnitTests/Core/Other/Shape2DTest.cpp
index fe6ffafd66e90493574fcd55a8594473c8e0ef48..4840929903a64d3b9d342ea8f2d4db4a3ab017c7 100644
--- a/Tests/UnitTests/Core/Other/Shape2DTest.cpp
+++ b/Tests/UnitTests/Core/Other/Shape2DTest.cpp
@@ -55,7 +55,7 @@ TEST_F(Shape2DTest, Ellipse)
     EXPECT_FALSE(ellipse.contains(4.0, -2.0));
     EXPECT_TRUE(ellipse.contains(6.0, -2.0));
 
-    Ellipse ellipse2(10.0, 1.0, 8.0, 4.0, 45.0 * Units::degree);
+    Ellipse ellipse2(10.0, 1.0, 8.0, 4.0, 45.0 * Units::deg);
     EXPECT_TRUE(ellipse2.contains(10.0, 1.0));
     EXPECT_FALSE(ellipse2.contains(15.0, 0.0));
     EXPECT_TRUE(ellipse2.contains(7.0, 3.0));
diff --git a/Tests/UnitTests/Core/Sample/FormFactorBasicTest.cpp b/Tests/UnitTests/Core/Sample/FormFactorBasicTest.cpp
index d2dd1717fb3d96e700654cd1a7dd630dd8a43fef..a08450859dc917f3ba424e79890754d0c6395e23 100644
--- a/Tests/UnitTests/Core/Sample/FormFactorBasicTest.cpp
+++ b/Tests/UnitTests/Core/Sample/FormFactorBasicTest.cpp
@@ -119,11 +119,11 @@ TEST_F(FormFactorBasicTest, Box)
     EXPECT_EQ(0., particle.bottomZ(RotationZ(.42)));
     EXPECT_EQ(height, particle.topZ(RotationZ(.42)));
 
-    EXPECT_EQ(0., particle.bottomZ(RotationZ(17 * Units::degree)));
-    EXPECT_EQ(height, particle.topZ(RotationZ(39 * Units::degree)));
+    EXPECT_EQ(0., particle.bottomZ(RotationZ(17 * Units::deg)));
+    EXPECT_EQ(height, particle.topZ(RotationZ(39 * Units::deg)));
 
-    EXPECT_NEAR(-width / 2, particle.bottomZ(RotationX(90 * Units::degree)), 1e-12);
-    EXPECT_NEAR(-length / 2, particle.bottomZ(RotationY(90 * Units::degree)), 1e-12);
+    EXPECT_NEAR(-width / 2, particle.bottomZ(RotationX(90 * Units::deg)), 1e-12);
+    EXPECT_NEAR(-length / 2, particle.bottomZ(RotationY(90 * Units::deg)), 1e-12);
 
     test_ff(&particle);
 }
@@ -208,18 +208,18 @@ TEST_F(FormFactorBasicTest, Cylinder)
     EXPECT_EQ(0., particle.bottomZ(RotationZ(.42)));
     EXPECT_EQ(height, particle.topZ(RotationZ(.42)));
 
-    EXPECT_NEAR(-radius, particle.bottomZ(RotationX(90 * Units::degree)), 1e-13);
-    EXPECT_NEAR(+radius, particle.topZ(RotationX(90 * Units::degree)), 1e-13);
-    EXPECT_NEAR(-radius, particle.bottomZ(RotationY(90 * Units::degree)), 1e-13);
-    EXPECT_NEAR(+radius, particle.topZ(RotationY(90 * Units::degree)), 1e-13);
+    EXPECT_NEAR(-radius, particle.bottomZ(RotationX(90 * Units::deg)), 1e-13);
+    EXPECT_NEAR(+radius, particle.topZ(RotationX(90 * Units::deg)), 1e-13);
+    EXPECT_NEAR(-radius, particle.bottomZ(RotationY(90 * Units::deg)), 1e-13);
+    EXPECT_NEAR(+radius, particle.topZ(RotationY(90 * Units::deg)), 1e-13);
 
-    EXPECT_NEAR(-height, particle.bottomZ(RotationY(180 * Units::degree)), 1e-13);
-    EXPECT_NEAR(0, particle.topZ(RotationY(180 * Units::degree)), 1e-13);
+    EXPECT_NEAR(-height, particle.bottomZ(RotationY(180 * Units::deg)), 1e-13);
+    EXPECT_NEAR(0, particle.topZ(RotationY(180 * Units::deg)), 1e-13);
 
     for (double gamma : {1.123, -2.34, 7.5, -9.})
         // 7.5deg is worst case for 24-vertex circle
         EXPECT_NEAR(-radius,
-                    particle.bottomZ(RotationEuler(0, 90 * Units::degree, gamma * Units::degree)),
+                    particle.bottomZ(RotationEuler(0, 90 * Units::deg, gamma * Units::deg)),
                     3e-2); // TODO decrease epsilon after replacement of vertex-based approximation
 
     test_ff(&particle);
diff --git a/Tests/UnitTests/Core/Sample/LayerTest.cpp b/Tests/UnitTests/Core/Sample/LayerTest.cpp
index 3c56525536897d6d182e849749292bb083ff9e63..fec9a13b3ee69cc7ca6e2fe8a3a3d75d3267781e 100644
--- a/Tests/UnitTests/Core/Sample/LayerTest.cpp
+++ b/Tests/UnitTests/Core/Sample/LayerTest.cpp
@@ -11,7 +11,7 @@ class LayerTest : public ::testing::Test
 TEST_F(LayerTest, LayerGetAndSet)
 {
     Material vacuum = HomogeneousMaterial("Vacuum", 0, 0);
-    Layer layer(vacuum, 10 * Units::nanometer);
+    Layer layer(vacuum, 10 * Units::nm);
     EXPECT_EQ(vacuum, *layer.material());
     EXPECT_EQ(0u, layer.layouts().size());
     EXPECT_EQ(10, layer.thickness());
@@ -33,7 +33,7 @@ TEST_F(LayerTest, LayerAndDecoration)
     Material vacuum = HomogeneousMaterial("Vacuum", 0, 0);
     std::unique_ptr<ParticleLayout> layout1(new ParticleLayout());
 
-    Layer layer(vacuum, 10 * Units::nanometer);
+    Layer layer(vacuum, 10 * Units::nm);
     layer.addLayout(*layout1);
     EXPECT_EQ(layer.numberOfLayouts(), 1u);
 
diff --git a/Tests/UnitTests/Core/Sample/MultiLayerTest.cpp b/Tests/UnitTests/Core/Sample/MultiLayerTest.cpp
index f8459d2e2d16f1b4fadd899890269473f4ee1275..05c71649a231cd9a70fff94cebcba3d7d38e2767 100644
--- a/Tests/UnitTests/Core/Sample/MultiLayerTest.cpp
+++ b/Tests/UnitTests/Core/Sample/MultiLayerTest.cpp
@@ -22,10 +22,10 @@ protected:
         , iron(HomogeneousMaterial("iron", 2e-5, 8e-5))
         , chromium(HomogeneousMaterial("chromium", 3e-7, 7e-6))
         , stone(HomogeneousMaterial("stone", 4e-4, 8e-7))
-        , topLayer(air, 0 * Units::nanometer)
-        , layer1(iron, 20 * Units::nanometer)
-        , layer2(chromium, 40 * Units::nanometer)
-        , substrate(stone, 0 * Units::nanometer)
+        , topLayer(air, 0 * Units::nm)
+        , layer1(iron, 20 * Units::nm)
+        , layer2(chromium, 40 * Units::nm)
+        , substrate(stone, 0 * Units::nm)
     {
     }
     void set_four()
@@ -246,10 +246,10 @@ TEST_F(MultiLayerTest, MultiLayerCompositeTest)
     Material magMaterial0 = HomogeneousMaterial("MagMat0", 6e-4, 2e-8, magnetic_field);
     Material magMaterial1 = HomogeneousMaterial("MagMat1", -5.6, 10, magnetic_field);
 
-    Layer layer1(iron, 10 * Units::nanometer);
-    Layer layer2(magMaterial0, 20 * Units::nanometer);
-    Layer layer3(magMaterial1, 30 * Units::nanometer);
-    Layer layer4(stone, 40 * Units::nanometer);
+    Layer layer1(iron, 10 * Units::nm);
+    Layer layer2(magMaterial0, 20 * Units::nm);
+    Layer layer3(magMaterial1, 30 * Units::nm);
+    Layer layer4(stone, 40 * Units::nm);
 
     mLayer.addLayer(topLayer);
     mLayer.addLayer(layer1);
diff --git a/Tests/UnitTests/Core/Sample/ParticleCoreShellTest.cpp b/Tests/UnitTests/Core/Sample/ParticleCoreShellTest.cpp
index e58d4be7aeaf26de7d63d90b49e23c8d32a34908..f337fa2782de15a84c50fe4e184e81583ea0d9ab 100644
--- a/Tests/UnitTests/Core/Sample/ParticleCoreShellTest.cpp
+++ b/Tests/UnitTests/Core/Sample/ParticleCoreShellTest.cpp
@@ -58,7 +58,7 @@ TEST_F(ParticleCoreShellTest, ComplexCoreShellClone)
     Particle shell(mShell, FormFactorBox(shell_length, shell_width, shell_height));
     kvector_t relative_pos(0, 0, (shell_height - core_height) / 2);
     ParticleCoreShell coreshell(shell, core, relative_pos);
-    coreshell.setRotation(RotationY(90 * Units::degree));
+    coreshell.setRotation(RotationY(90 * Units::deg));
     coreshell.setPosition(kvector_t(0, 0, -10));
 
     ParticleCoreShell* clone = coreshell.clone();
diff --git a/Tests/UnitTests/Core/Sample/ParticleLayoutTest.cpp b/Tests/UnitTests/Core/Sample/ParticleLayoutTest.cpp
index 100bdefa61cf695beaf6a5dd4d90ae96842fe5e9..3206b310b5ad30f1e5a200cc8a1d873ac7a7dddb 100644
--- a/Tests/UnitTests/Core/Sample/ParticleLayoutTest.cpp
+++ b/Tests/UnitTests/Core/Sample/ParticleLayoutTest.cpp
@@ -49,8 +49,8 @@ TEST_F(ParticleLayoutTest, ParticleLayoutAddParticle)
     Particle particle3;
     Particle particle4;
 
-    RotationZ transform3(45. * Units::degree);
-    RotationZ transform4(45. * Units::degree);
+    RotationZ transform3(45. * Units::deg);
+    RotationZ transform4(45. * Units::deg);
 
     particleDecoration.addParticle(particle1);
     particleDecoration.addParticle(particle2, 2.2);
@@ -86,8 +86,8 @@ TEST_F(ParticleLayoutTest, ParticleLayoutAbundanceFraction)
     Particle particle3;
     Particle particle4;
 
-    RotationY transform3(45. * Units::degree);
-    RotationZ transform4(45. * Units::degree);
+    RotationY transform3(45. * Units::deg);
+    RotationZ transform4(45. * Units::deg);
 
     particleDecoration.addParticle(particle1);
     particleDecoration.addParticle(particle2, 2.0);
@@ -105,8 +105,8 @@ TEST_F(ParticleLayoutTest, ParticleLayoutClone)
     Particle particle3;
     Particle particle4;
 
-    RotationY transform3(45. * Units::degree);
-    RotationZ transform4(45. * Units::degree);
+    RotationY transform3(45. * Units::deg);
+    RotationZ transform4(45. * Units::deg);
 
     particleDecoration.addParticle(particle1);
     particleDecoration.addParticle(particle2, 2.0);
diff --git a/Tests/UnitTests/Core/Sample/ParticleTest.cpp b/Tests/UnitTests/Core/Sample/ParticleTest.cpp
index 29ae90dec891888667e0d4f782aaf3f80d3218ba..d64eaff8eca020b48b198037b6f90279ad5004fa 100644
--- a/Tests/UnitTests/Core/Sample/ParticleTest.cpp
+++ b/Tests/UnitTests/Core/Sample/ParticleTest.cpp
@@ -30,7 +30,7 @@ TEST_F(ParticleTest, Constructors)
 {
     Material mat = HomogeneousMaterial("Vacuum", 0, 0);
     FormFactorFullSphere sphere(1.0);
-    RotationZ transform(45. * Units::degree);
+    RotationZ transform(45. * Units::deg);
 
     // construction with material
     std::unique_ptr<Particle> p1(new Particle(mat));
@@ -54,7 +54,7 @@ TEST_F(ParticleTest, setters)
 {
     Material mat = HomogeneousMaterial("Vacuum", 0, 0);
     FormFactorFullSphere sphere(2.1);
-    RotationY transform(45. * Units::degree);
+    RotationY transform(45. * Units::deg);
 
     Particle particle;
     Material vacuum = HomogeneousMaterial();
diff --git a/Tests/UnitTests/GUI/TestGUICoreObjectCorrespondence.cpp b/Tests/UnitTests/GUI/TestGUICoreObjectCorrespondence.cpp
index 3c4e4d46e5ccfc21c7662a6bde84487860e0e260..cbccf1f51b80183081de02164f0a934b6536e40c 100644
--- a/Tests/UnitTests/GUI/TestGUICoreObjectCorrespondence.cpp
+++ b/Tests/UnitTests/GUI/TestGUICoreObjectCorrespondence.cpp
@@ -26,7 +26,7 @@ public:
 TEST_F(TestGUICoreObjectCorrespondence, test_AnisoPyramid)
 {
     AnisoPyramidItem gui_anisopyramid;
-    FormFactorAnisoPyramid core_anisopyramid(1.0, 2.0, 0.1, 45.0 * Units::degree);
+    FormFactorAnisoPyramid core_anisopyramid(1.0, 2.0, 0.1, 45.0 * Units::deg);
     GUICoreObjectCorrespondence(gui_anisopyramid, core_anisopyramid);
 }
 
@@ -40,21 +40,21 @@ TEST_F(TestGUICoreObjectCorrespondence, test_Box)
 TEST_F(TestGUICoreObjectCorrespondence, test_Cone)
 {
     ConeItem gui_cone;
-    FormFactorCone core_cone(1.0, 0.2, 45.0 * Units::degree);
+    FormFactorCone core_cone(1.0, 0.2, 45.0 * Units::deg);
     GUICoreObjectCorrespondence(gui_cone, core_cone);
 }
 
 TEST_F(TestGUICoreObjectCorrespondence, test_Cone6)
 {
     Cone6Item gui_cone6;
-    FormFactorCone6 core_cone6(1.0, 0.2, 45.0 * Units::degree);
+    FormFactorCone6 core_cone6(1.0, 0.2, 45.0 * Units::deg);
     GUICoreObjectCorrespondence(gui_cone6, core_cone6);
 }
 
 TEST_F(TestGUICoreObjectCorrespondence, test_Cuboctahedron)
 {
     CuboctahedronItem gui_cuboctahedron;
-    FormFactorCuboctahedron core_cuboctahedron(1.0, 0.4, 1.0, 45.0 * Units::degree);
+    FormFactorCuboctahedron core_cuboctahedron(1.0, 0.4, 1.0, 45.0 * Units::deg);
     GUICoreObjectCorrespondence(gui_cuboctahedron, core_cuboctahedron);
 }
 
@@ -131,7 +131,7 @@ TEST_F(TestGUICoreObjectCorrespondence, test_Prism6)
 TEST_F(TestGUICoreObjectCorrespondence, test_Pyramid)
 {
     PyramidItem gui_pyramid;
-    FormFactorPyramid core_pyramid(1.0, 0.2, 45.0 * Units::degree);
+    FormFactorPyramid core_pyramid(1.0, 0.2, 45.0 * Units::deg);
     GUICoreObjectCorrespondence(gui_pyramid, core_pyramid);
 }
 
@@ -152,7 +152,7 @@ TEST_F(TestGUICoreObjectCorrespondence, test_SawtoothRippleBox)
 TEST_F(TestGUICoreObjectCorrespondence, test_Tetrahedron)
 {
     TetrahedronItem gui_tetrahedron;
-    FormFactorTetrahedron core_tetrahedron(1.0, 0.1, 45.0 * Units::degree);
+    FormFactorTetrahedron core_tetrahedron(1.0, 0.1, 45.0 * Units::deg);
     GUICoreObjectCorrespondence(gui_tetrahedron, core_tetrahedron);
 }