diff --git a/CMakeLists.txt b/CMakeLists.txt
index d5f78faea60daf8fa2eb980a0e3ac64eb6d12db7..d8a697d2c66eea9a74919cc676af90ea5021c3bc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -40,7 +40,8 @@ endif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
 # enable warnings and disallow non-standard language
 set(CMAKE_CXX_FLAGS "-Wall -pedantic -Wextra -Wno-ignored-qualifiers")
 set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-set(CMAKE_CXX_FLAGS_RELEASE "-O3 -g") # -O2 would not trade speed for size, neither O2/3 use fast-math 
+set(CMAKE_CXX_FLAGS_RELEASE "-O3 -g") # -O2 would not trade speed for size, neither O2/3 use fast-math
+set(CMAKE_Fortran_FLAGS "-std=legacy")
 
 # clang produces a lot of unecessary warnings without this:
 add_compile_options("$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>>:-Wno-nonportable-include-path>")
diff --git a/Documentation/Examples/CMakeLists.txt b/Documentation/Examples/CMakeLists.txt
index 8294036d1f03876fbf462c22f1286d190771ae22..943bbdd2b3cf67d2e26e0427f896ab3f58fcba2a 100644
--- a/Documentation/Examples/CMakeLists.txt
+++ b/Documentation/Examples/CMakeLists.txt
@@ -30,11 +30,13 @@ target_link_libraries (cascade_example SuperStupidStack CORSIKAunits
   ProcessSibyll
   ProcessPythia
   CORSIKAcascade
+  ProcessEnergyLoss
   ProcessStackInspector
   ProcessTrackWriter
   ProcessTrackingLine
   ProcessHadronicElasticModel
   CORSIKAprocesses
+  CORSIKAcascade
   CORSIKAparticles
   CORSIKAgeometry
   CORSIKAenvironment
diff --git a/Documentation/Examples/cascade_example.cc b/Documentation/Examples/cascade_example.cc
index 97929b681d68c54e82f920a02e001c088d932ffa..c154db988f183799d3c18f3dc8033bd8f600c2d3 100644
--- a/Documentation/Examples/cascade_example.cc
+++ b/Documentation/Examples/cascade_example.cc
@@ -11,6 +11,7 @@
 
 #include <corsika/cascade/Cascade.h>
 #include <corsika/process/ProcessSequence.h>
+#include <corsika/process/energy_loss/EnergyLoss.h>
 #include <corsika/process/hadronic_elastic_model/HadronicElasticModel.h>
 #include <corsika/process/stack_inspector/StackInspector.h>
 #include <corsika/process/tracking_line/TrackingLine.h>
@@ -250,19 +251,19 @@ int main() {
 
   // setup processes, decays and interactions
   tracking_line::TrackingLine<setup::Stack, setup::Trajectory> tracking(env);
-  stack_inspector::StackInspector<setup::Stack> p0(true);
+  stack_inspector::StackInspector<setup::Stack> stackInspect(true);
 
   const std::vector<particles::Code> trackedHadrons = {
-        particles::Code::PiPlus, particles::Code::PiMinus, particles::Code::KPlus,
-        particles::Code::KMinus, particles::Code::K0Long,  particles::Code::K0Short};
+      particles::Code::PiPlus, particles::Code::PiMinus, particles::Code::KPlus,
+      particles::Code::KMinus, particles::Code::K0Long,  particles::Code::K0Short};
 
-  
   random::RNGManager::GetInstance().RegisterRandomStream("s_rndm");
   random::RNGManager::GetInstance().RegisterRandomStream("pythia");
   process::sibyll::Interaction sibyll(env);
   process::sibyll::NuclearInteraction sibyllNuc(env, sibyll);
-  //  process::sibyll::Decay decay(trackedHadrons);
-  process::pythia::Decay decay(trackedHadrons);
+  process::sibyll::Decay decay(trackedHadrons);
+  // random::RNGManager::GetInstance().RegisterRandomStream("pythia");
+  // process::pythia::Decay decay(trackedHadrons);
   ProcessCut cut(20_GeV);
 
   // random::RNGManager::GetInstance().RegisterRandomStream("HadronicElasticModel");
@@ -270,10 +271,14 @@ int main() {
   // hadronicElastic(env);
 
   process::TrackWriter::TrackWriter trackWriter("tracks.dat");
+  process::EnergyLoss::EnergyLoss eLoss;
 
   // assemble all processes into an ordered process list
-  // auto sequence = p0 << sibyll << decay << hadronicElastic << cut << trackWriter;
-  auto sequence = p0 << sibyll << sibyllNuc << decay << cut << trackWriter;  
+  // auto sequence = stackInspect << sibyll << decay << hadronicElastic << cut <<
+  // trackWriter; auto sequence = stackInspect << sibyll << sibyllNuc << decay << eLoss <<
+  // cut << trackWriter;
+  // auto sequence = sibyll << sibyllNuc << decay << eLoss << cut;
+  auto sequence = stackInspect << sibyll << sibyllNuc << decay << eLoss << cut;
 
   // cout << "decltype(sequence)=" << type_id_with_cvr<decltype(sequence)>().pretty_name()
   // << "\n";
@@ -284,17 +289,14 @@ int main() {
   const Code beamCode = Code::Nucleus;
   const int nuclA = 4;
   const int nuclZ = int(nuclA / 2.15 + 0.7);
-  const HEPMassType mass = particles::Proton::GetMass() * nuclZ +
-                           (nuclA - nuclZ) * particles::Neutron::GetMass();
-  const HEPEnergyType E0 =
-      nuclA *
-      100_GeV; // 1_PeV crashes with bad COMboost in second interaction (crash later)
+  const HEPMassType mass = GetNucleusMass(nuclA, nuclZ);
+  const HEPEnergyType E0 = nuclA * 10_TeV;
   double theta = 0.;
   double phi = 0.;
 
   {
     auto elab2plab = [](HEPEnergyType Elab, HEPMassType m) {
-      return sqrt(Elab * Elab - m * m);
+      return sqrt((Elab - m) * (Elab + m));
     };
     HEPMomentumType P0 = elab2plab(E0, mass);
     auto momentumComponents = [](double theta, double phi, HEPMomentumType ptot) {
@@ -319,10 +321,13 @@ int main() {
   EAS.Init();
   EAS.Run();
 
-  cout << "Result: E0=" << E0 / 1_GeV << endl;
+  eLoss.PrintProfile(); // print longitudinal profile
+
   cut.ShowResults();
   const HEPEnergyType Efinal =
       cut.GetCutEnergy() + cut.GetInvEnergy() + cut.GetEmEnergy();
-  cout << "total energy (GeV): " << Efinal / 1_GeV << endl
-       << "relative difference (%): " << (Efinal / E0 - 1.) * 100 << endl;
+  cout << "total cut energy (GeV): " << Efinal / 1_GeV << endl
+       << "relative difference (%): " << (Efinal / E0 - 1) * 100 << endl;
+  cout << "total dEdX energy (GeV): " << eLoss.GetTotal() / 1_GeV << endl
+       << "relative difference (%): " << eLoss.GetTotal() / E0 * 100 << endl;
 }
diff --git a/Environment/CMakeLists.txt b/Environment/CMakeLists.txt
index ef1d24035859fc6668d902ae89ee7aebc994a95b..47b973cb138cbc7a52ba11e36b8347ec8497e883 100644
--- a/Environment/CMakeLists.txt
+++ b/Environment/CMakeLists.txt
@@ -9,6 +9,7 @@ set (
   LinearApproximationIntegrator.h
   DensityFunction.h
   Environment.h
+  FlatExponential.h
   )
 
 set (
diff --git a/Environment/DensityFunction.h b/Environment/DensityFunction.h
index 32ee30adedfcbe9fccf1ebea2f09c8b9877f6015..92ba841be89e63d7edc49f6eec5cf5bafaa6fae0 100644
--- a/Environment/DensityFunction.h
+++ b/Environment/DensityFunction.h
@@ -1,4 +1,5 @@
-/**
+
+/*
  * (c) Copyright 2018 CORSIKA Project, corsika-project@lists.kit.edu
  *
  * See file AUTHORS for a list of contributors.
diff --git a/Environment/FlatExponential.h b/Environment/FlatExponential.h
new file mode 100644
index 0000000000000000000000000000000000000000..19e42c725c4b5204dc9c6fc166f9be00f44bdb7a
--- /dev/null
+++ b/Environment/FlatExponential.h
@@ -0,0 +1,92 @@
+/*
+ * (c) Copyright 2019 CORSIKA Project, corsika-project@lists.kit.edu
+ *
+ * See file AUTHORS for a list of contributors.
+ *
+ * This software is distributed under the terms of the GNU General Public
+ * Licence version 3 (GPL Version 3). See file LICENSE for a full version of
+ * the license.
+ */
+
+#ifndef _include_Environment_FlatExponential_h_
+#define _include_Environment_FlatExponential_h_
+
+#include <corsika/environment/NuclearComposition.h>
+#include <corsika/geometry/Line.h>
+#include <corsika/geometry/Point.h>
+#include <corsika/geometry/Trajectory.h>
+#include <corsika/particles/ParticleProperties.h>
+#include <corsika/random/RNGManager.h>
+#include <corsika/units/PhysicalUnits.h>
+
+#include <cassert>
+#include <limits>
+
+/**
+ *
+ */
+
+namespace corsika::environment {
+
+  template <class T>
+  class FlatExponential : public T {
+    corsika::units::si::MassDensityType const fRho0;
+    units::si::LengthType const fLambda;
+    units::si::InverseLengthType const fInvLambda;
+    NuclearComposition const fNuclComp;
+    geometry::Vector<units::si::dimensionless_d> const fAxis;
+    geometry::Point const fP0;
+
+  public:
+    FlatExponential(geometry::Point const& p0,
+                    geometry::Vector<units::si::dimensionless_d> const& axis,
+                    units::si::MassDensityType rho, units::si::LengthType lambda,
+                    NuclearComposition pNuclComp)
+        : fRho0(rho)
+        , fLambda(lambda)
+        , fInvLambda(1 / lambda)
+        , fNuclComp(pNuclComp)
+        , fAxis(axis)
+        , fP0(p0) {}
+
+    corsika::units::si::MassDensityType GetMassDensity(
+        corsika::geometry::Point const& p) const override {
+      return fRho0 * exp(fInvLambda * (p - fP0).dot(fAxis));
+    }
+    NuclearComposition const& GetNuclearComposition() const override { return fNuclComp; }
+
+    corsika::units::si::GrammageType IntegratedGrammage(
+        corsika::geometry::Trajectory<corsika::geometry::Line> const& line,
+        corsika::units::si::LengthType pTo) const override {
+      auto const vDotA = line.NormalizedDirection().dot(fAxis).magnitude();
+
+      if (vDotA == 0) {
+        return pTo * GetMassDensity(line.GetR0());
+      } else {
+        return GetMassDensity(line.GetR0()) * (fLambda / vDotA) *
+               (exp(vDotA * pTo / fLambda) - 1);
+      }
+    }
+
+    corsika::units::si::LengthType ArclengthFromGrammage(
+        corsika::geometry::Trajectory<corsika::geometry::Line> const& line,
+        corsika::units::si::GrammageType pGrammage) const override {
+      auto const vDotA = line.NormalizedDirection().dot(fAxis).magnitude();
+
+      if (vDotA == 0) {
+        return pGrammage / GetMassDensity(line.GetR0());
+      } else {
+        auto const logArg = pGrammage * vDotA / (fRho0 * fLambda) + 1;
+        if (logArg > 0) {
+          return fLambda / vDotA * log(pGrammage * vDotA / (fRho0 * fLambda) + 1);
+        } else {
+          return std::numeric_limits<typename decltype(
+                     pGrammage)::value_type>::infinity() *
+                 corsika::units::si::meter;
+        }
+      }
+    }
+  };
+
+} // namespace corsika::environment
+#endif
diff --git a/Environment/InhomogeneousMedium.h b/Environment/InhomogeneousMedium.h
index feb6497cfcd82a28b8eafa183c068d106e187520..0b1a0c1b9866ce1a3c64547c06004e6797cb41c7 100644
--- a/Environment/InhomogeneousMedium.h
+++ b/Environment/InhomogeneousMedium.h
@@ -1,4 +1,5 @@
-/**
+
+/*
  * (c) Copyright 2018 CORSIKA Project, corsika-project@lists.kit.edu
  *
  * See file AUTHORS for a list of contributors.
diff --git a/Environment/LinearApproximationIntegrator.h b/Environment/LinearApproximationIntegrator.h
index 910d2397189e7aa9b1456e00df94f72cfd49ff4f..90e14d99a472b9933d094087baefef802ab9d7a9 100644
--- a/Environment/LinearApproximationIntegrator.h
+++ b/Environment/LinearApproximationIntegrator.h
@@ -1,4 +1,5 @@
-/**
+
+/*
  * (c) Copyright 2018 CORSIKA Project, corsika-project@lists.kit.edu
  *
  * See file AUTHORS for a list of contributors.
diff --git a/Environment/testEnvironment.cc b/Environment/testEnvironment.cc
index 5bb18bfe09e48d4865f5aafcd8ad4aa01f4afeb8..206849e7eb17b6d33a23fffddb4abefbb16900e8 100644
--- a/Environment/testEnvironment.cc
+++ b/Environment/testEnvironment.cc
@@ -13,6 +13,7 @@
                           // cpp file
 
 #include <corsika/environment/DensityFunction.h>
+#include <corsika/environment/FlatExponential.h>
 #include <corsika/environment/HomogeneousMedium.h>
 #include <corsika/environment/IMediumModel.h>
 #include <corsika/environment/InhomogeneousMedium.h>
@@ -30,6 +31,12 @@ using namespace corsika::geometry;
 using namespace corsika::environment;
 using namespace corsika::particles;
 using namespace corsika::units::si;
+using namespace corsika;
+
+CoordinateSystem const& gCS =
+    RootCoordinateSystem::GetInstance().GetRootCoordinateSystem();
+
+Point const gOrigin(gCS, {0_m, 0_m, 0_m});
 
 TEST_CASE("HomogeneousMedium") {
   NuclearComposition const protonComposition(std::vector<Code>{Code::Proton},
@@ -37,6 +44,62 @@ TEST_CASE("HomogeneousMedium") {
   HomogeneousMedium<IMediumModel> const medium(19.2_g / cube(1_cm), protonComposition);
 }
 
+TEST_CASE("FlatExponential") {
+  NuclearComposition const protonComposition(std::vector<Code>{Code::Proton},
+                                             std::vector<float>{1.f});
+
+  Vector const axis(gCS, QuantityVector<dimensionless_d>(0, 0, 1));
+  LengthType const lambda = 3_m;
+  auto const rho0 = 1_g / units::si::detail::static_pow<3>(1_cm);
+  FlatExponential<IMediumModel> const medium(gOrigin, axis, rho0, lambda,
+                                             protonComposition);
+  auto const tEnd = 5_s;
+
+  SECTION("horizontal") {
+    Line const line(gOrigin, Vector<SpeedType::dimension_type>(
+                                 gCS, {20_cm / second, 0_m / second, 0_m / second}));
+    Trajectory<Line> const trajectory(line, tEnd);
+
+    REQUIRE((medium.IntegratedGrammage(trajectory, 2_m) / (rho0 * 2_m)) == Approx(1));
+    REQUIRE((medium.ArclengthFromGrammage(trajectory, rho0 * 5_m) / 5_m) == Approx(1));
+  }
+
+  SECTION("vertical") {
+    Line const line(gOrigin, Vector<SpeedType::dimension_type>(
+                                 gCS, {0_m / second, 0_m / second, 5_m / second}));
+    Trajectory<Line> const trajectory(line, tEnd);
+    LengthType const length = 2 * lambda;
+    GrammageType const exact = rho0 * lambda * (exp(length / lambda) - 1);
+
+    REQUIRE((medium.IntegratedGrammage(trajectory, length) / exact) == Approx(1));
+    REQUIRE((medium.ArclengthFromGrammage(trajectory, exact) / length) == Approx(1));
+  }
+
+  SECTION("escape grammage") {
+    Line const line(gOrigin, Vector<SpeedType::dimension_type>(
+                                 gCS, {0_m / second, 0_m / second, -5_m / second}));
+    Trajectory<Line> const trajectory(line, tEnd);
+
+    GrammageType const escapeGrammage = rho0 * lambda;
+
+    REQUIRE(trajectory.NormalizedDirection().dot(axis).magnitude() < 0);
+    REQUIRE(medium.ArclengthFromGrammage(trajectory, 1.2 * escapeGrammage) ==
+            std::numeric_limits<typename GrammageType::value_type>::infinity() * 1_m);
+  }
+
+  SECTION("inclined") {
+    Line const line(gOrigin, Vector<SpeedType::dimension_type>(
+                                 gCS, {0_m / second, 5_m / second, 5_m / second}));
+    Trajectory<Line> const trajectory(line, tEnd);
+    double const cosTheta = M_SQRT1_2;
+    LengthType const length = 2 * lambda;
+    GrammageType const exact =
+        rho0 * lambda * (exp(cosTheta * length / lambda) - 1) / cosTheta;
+    REQUIRE((medium.IntegratedGrammage(trajectory, length) / exact) == Approx(1));
+    REQUIRE((medium.ArclengthFromGrammage(trajectory, exact) / length) == Approx(1));
+  }
+}
+
 auto constexpr rho0 = 1_kg / 1_m / 1_m / 1_m;
 
 struct Exponential {
@@ -60,15 +123,10 @@ struct Exponential {
 };
 
 TEST_CASE("InhomogeneousMedium") {
-  CoordinateSystem const& cs =
-      RootCoordinateSystem::GetInstance().GetRootCoordinateSystem();
-
-  Point const origin(cs, {0_m, 0_m, 0_m});
-
-  Vector direction(cs, QuantityVector<dimensionless_d>(1, 0, 0));
+  Vector direction(gCS, QuantityVector<dimensionless_d>(1, 0, 0));
 
-  Line line(origin, Vector<SpeedType::dimension_type>(
-                        cs, {20_m / second, 0_m / second, 0_m / second}));
+  Line line(gOrigin, Vector<SpeedType::dimension_type>(
+                         gCS, {20_m / second, 0_m / second, 0_m / second}));
 
   auto const tEnd = 5_s;
   Trajectory<Line> const trajectory(line, tEnd);
@@ -77,9 +135,9 @@ TEST_CASE("InhomogeneousMedium") {
   DensityFunction<decltype(e), LinearApproximationIntegrator> const rho(e);
 
   SECTION("DensityFunction") {
-    REQUIRE(e.Derivative<1>(origin, direction) / (1_kg / 1_m / 1_m / 1_m / 1_m) ==
+    REQUIRE(e.Derivative<1>(gOrigin, direction) / (1_kg / 1_m / 1_m / 1_m / 1_m) ==
             Approx(1));
-    REQUIRE(rho.EvaluateAt(origin) == e(origin));
+    REQUIRE(rho.EvaluateAt(gOrigin) == e(gOrigin));
   }
 
   auto const exactGrammage = [](auto l) { return 1_m * rho0 * (exp(l / 1_m) - 1); };
diff --git a/Framework/Cascade/Cascade.h b/Framework/Cascade/Cascade.h
index c55ac0b43b86e1956750618ec65e868a0d1334e0..1a559a210eb16c60f3d8165b0b18de5589dbdbd3 100644
--- a/Framework/Cascade/Cascade.h
+++ b/Framework/Cascade/Cascade.h
@@ -14,6 +14,7 @@
 
 #include <corsika/environment/Environment.h>
 #include <corsika/process/ProcessReturn.h>
+#include <corsika/random/ExponentialDistribution.h>
 #include <corsika/random/RNGManager.h>
 #include <corsika/random/UniformRealDistribution.h>
 #include <corsika/setup/SetupTrajectory.h>
@@ -21,6 +22,7 @@
 
 #include <cmath>
 #include <iostream>
+#include <limits>
 
 /**
  * The cascade namespace assembles all objects needed to simulate full particles cascades.
@@ -118,8 +120,8 @@ namespace corsika::cascade {
           fProcessSequence.GetTotalInverseInteractionLength(particle, step);
 
       // sample random exponential step length in grammage
-      std::exponential_distribution expDist(total_inv_lambda * (1_g / (1_m * 1_m)));
-      GrammageType const next_interact = (1_g / (1_m * 1_m)) * expDist(fRNG);
+      corsika::random::ExponentialDistribution expDist(1 / total_inv_lambda);
+      GrammageType const next_interact = expDist(fRNG);
 
       std::cout << "total_inv_lambda=" << total_inv_lambda
                 << ", next_interact=" << next_interact << std::endl;
@@ -133,7 +135,10 @@ namespace corsika::cascade {
       }
 
       LengthType const distance_interact =
-          currentNode->GetModelProperties().ArclengthFromGrammage(step, next_interact);
+          (next_interact == std::numeric_limits<double>::infinity() * 1_g / (1_m * 1_m))
+              ? std::numeric_limits<double>::infinity() * 1_m
+              : currentNode->GetModelProperties().ArclengthFromGrammage(step,
+                                                                        next_interact);
 
       // determine the maximum geometric step length
       LengthType const distance_max = fProcessSequence.MaxStepLength(particle, step);
@@ -144,8 +149,8 @@ namespace corsika::cascade {
           fProcessSequence.GetTotalInverseLifetime(particle);
 
       // sample random exponential decay time
-      std::exponential_distribution expDistDecay(total_inv_lifetime * 1_s);
-      TimeType const next_decay = 1_s * expDistDecay(fRNG);
+      corsika::random::ExponentialDistribution expDistDecay(1 / total_inv_lifetime);
+      TimeType const next_decay = expDistDecay(fRNG);
       std::cout << "total_inv_lifetime=" << total_inv_lifetime
                 << ", next_decay=" << next_decay << std::endl;
 
diff --git a/Framework/Geometry/CMakeLists.txt b/Framework/Geometry/CMakeLists.txt
index bb96c2ea6bf5cf6e228b23fb7471c73c1b282923..f827de1f4cfcf4f8ef0ee5d4f986cea0eeff96b2 100644
--- a/Framework/Geometry/CMakeLists.txt
+++ b/Framework/Geometry/CMakeLists.txt
@@ -44,8 +44,14 @@ target_link_libraries (
 
 target_include_directories (
   CORSIKAgeometry
+  SYSTEM
   PUBLIC    ${EIGEN3_INCLUDE_DIR}
   INTERFACE ${EIGEN3_INCLUDE_DIR}
+  )
+
+target_include_directories (
+  CORSIKAgeometry
+  INTERFACE
   $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>
   $<INSTALL_INTERFACE:include/include>
   )
diff --git a/Framework/Geometry/Trajectory.h b/Framework/Geometry/Trajectory.h
index e93a9d3029121c8183fd0e416e53d47194050eeb..e8a1a58bf0d7cdaa8a6fab5836a592c674ad3a7d 100644
--- a/Framework/Geometry/Trajectory.h
+++ b/Framework/Geometry/Trajectory.h
@@ -37,11 +37,12 @@ namespace corsika::geometry {
     Point GetPosition(double u) const { return T::GetPosition(fTimeLength * u); }
 
     corsika::units::si::TimeType GetDuration() const { return fTimeLength; }
+    corsika::units::si::LengthType GetLength() const { return GetDistance(fTimeLength); }
 
     corsika::units::si::LengthType GetDistance(corsika::units::si::TimeType t) const {
-      assert(t > fTimeLength);
+      assert(t <= fTimeLength);
       assert(t >= 0 * corsika::units::si::second);
-      return T::ArcLength(0, t);
+      return T::ArcLength(0 * corsika::units::si::second, t);
     }
 
     void LimitEndTo(corsika::units::si::LengthType limit) {
diff --git a/Framework/Geometry/Vector.h b/Framework/Geometry/Vector.h
index 5ac1f118b789b500ad26a23f840bda954b2c9800..ca97abb50feec457527751d79cd9e76b760cb4f2 100644
--- a/Framework/Geometry/Vector.h
+++ b/Framework/Geometry/Vector.h
@@ -75,12 +75,14 @@ namespace corsika::geometry {
      * think about whether squaredNorm() might be cheaper for your computation.
      */
     auto norm() const { return BaseVector<dim>::qVector.norm(); }
+    auto GetNorm() const { return BaseVector<dim>::qVector.norm(); }
 
     /*!
      * returns the squared norm of the Vector. Before using this method,
      * think about whether norm() might be cheaper for your computation.
      */
     auto squaredNorm() const { return BaseVector<dim>::qVector.squaredNorm(); }
+    auto GetSquaredNorm() const { return BaseVector<dim>::qVector.squaredNorm(); }
 
     /*!
      * returns a Vector \f$ \vec{v}_{\parallel} \f$ which is the parallel projection
@@ -123,17 +125,9 @@ namespace corsika::geometry {
 
     template <typename ScalarDim>
     auto operator*(phys::units::quantity<ScalarDim, double> const p) const {
-      using ProdQuantity = phys::units::detail::Product<dim, ScalarDim, double, double>;
+      using ProdDim = phys::units::detail::product_d<dim, ScalarDim>;
 
-      if constexpr (std::is_same<ProdQuantity, double>::value) // result dimensionless,
-                                                               // not a "Quantity" anymore
-      {
-        return Vector<phys::units::dimensionless_d>(*BaseVector<dim>::cs,
-                                                    BaseVector<dim>::qVector * p);
-      } else {
-        return Vector<typename ProdQuantity::dimension_type>(
-            *BaseVector<dim>::cs, BaseVector<dim>::qVector * p);
-      }
+      return Vector<ProdDim>(*BaseVector<dim>::cs, BaseVector<dim>::qVector * p);
     }
 
     template <typename ScalarDim>
@@ -171,16 +165,8 @@ namespace corsika::geometry {
       auto const c2 = pV.GetComponents(*BaseVector<dim>::cs).eVector;
       auto const bareResult = c1.cross(c2);
 
-      using ProdQuantity = phys::units::detail::Product<dim, dim2, double, double>;
-
-      if constexpr (std::is_same<ProdQuantity, double>::value) // result dimensionless,
-                                                               // not a "Quantity" anymore
-      {
-        return Vector<phys::units::dimensionless_d>(*BaseVector<dim>::cs, bareResult);
-      } else {
-        return Vector<typename ProdQuantity::dimension_type>(*BaseVector<dim>::cs,
-                                                             bareResult);
-      }
+      using ProdDim = phys::units::detail::product_d<dim, dim2>;
+      return Vector<ProdDim>(*BaseVector<dim>::cs, bareResult);
     }
 
     template <typename dim2>
@@ -189,9 +175,10 @@ namespace corsika::geometry {
       auto const c2 = pV.GetComponents(*BaseVector<dim>::cs).eVector;
       auto const bareResult = c1.dot(c2);
 
-      using ProdQuantity = phys::units::detail::Product<dim, dim2, double, double>;
+      using ProdDim = phys::units::detail::product_d<dim, dim2>;
 
-      return ProdQuantity(phys::units::detail::magnitude_tag, bareResult);
+      return phys::units::quantity<ProdDim, double>(phys::units::detail::magnitude_tag,
+                                                    bareResult);
     }
   };
 
diff --git a/Framework/Particles/ParticleProperties.h b/Framework/Particles/ParticleProperties.h
index dcbbe6398e84a0ad3f148eabf36ad01f380deb12..472baf40dfff9707fb52302043adcd10a4449c3b 100644
--- a/Framework/Particles/ParticleProperties.h
+++ b/Framework/Particles/ParticleProperties.h
@@ -44,8 +44,8 @@ namespace corsika::particles {
   using PDGCodeType = std::underlying_type<PDGCode>::type;
 
   // forward declarations to be used in GeneratedParticleProperties
-  int16_t constexpr GetElectricChargeNumber(Code const);
-  corsika::units::si::ElectricChargeType constexpr GetElectricCharge(Code const);
+  int16_t constexpr GetChargeNumber(Code const);
+  corsika::units::si::ElectricChargeType constexpr GetCharge(Code const);
   corsika::units::si::HEPMassType constexpr GetMass(Code const);
   PDGCode constexpr GetPDG(Code const);
   constexpr std::string const& GetName(Code const);
@@ -61,6 +61,8 @@ namespace corsika::particles {
    * returns mass of particle in natural units
    */
   corsika::units::si::HEPMassType constexpr GetMass(Code const p) {
+    if (p == Code::Nucleus)
+      throw std::runtime_error("Cannot GetMass() of particle::Nucleus -> unspecified");
     return detail::masses[static_cast<CodeIntType>(p)];
   }
 
@@ -72,17 +74,23 @@ namespace corsika::particles {
   }
 
   /*!
-   * returns electric charge of particle / (e/3), e.g. return 3 for a proton.
+   * returns electric charge number of particle return 1 for a proton.
    */
-  int16_t constexpr GetElectricChargeNumber(Code const p) {
-    return detail::electric_charges[static_cast<CodeIntType>(p)];
+  int16_t constexpr GetChargeNumber(Code const p) {
+    if (p == Code::Nucleus)
+      throw std::runtime_error(
+          "Cannot GetChargeNumber() of particle::Nucleus -> unspecified");
+    // electric_charges stores charges in units of (e/3), e.g. 3 for a proton
+    return detail::electric_charges[static_cast<CodeIntType>(p)] / 3;
   }
 
   /*!
    * returns electric charge of particle, e.g. return 1.602e-19_C for a proton.
    */
-  corsika::units::si::ElectricChargeType constexpr GetElectricCharge(Code const p) {
-    return GetElectricChargeNumber(p) * (corsika::units::constants::e * (1. / 3.));
+  corsika::units::si::ElectricChargeType constexpr GetCharge(Code const p) {
+    if (p == Code::Nucleus)
+      throw std::runtime_error("Cannot GetCharge() of particle::Nucleus -> unspecified");
+    return GetChargeNumber(p) * (corsika::units::constants::e);
   }
 
   constexpr std::string const& GetName(Code const p) {
@@ -112,6 +120,14 @@ namespace corsika::particles {
   std::ostream& operator<<(std::ostream& stream, corsika::particles::Code const p);
 
   Code ConvertFromPDG(PDGCode);
+
+  /**
+   * Get mass of nucleus
+   **/
+  corsika::units::si::HEPMassType constexpr GetNucleusMass(const int vA, const int vZ) {
+    return Proton::GetMass() * vZ + (vA - vZ) * Neutron::GetMass();
+  }
+
 } // namespace corsika::particles
 
 #endif
diff --git a/Framework/Particles/pdxml_reader.py b/Framework/Particles/pdxml_reader.py
index 946940f7dcf54551e2888e438c6eeeae0e1659e1..84ef0ee981a77d1ac68768ac548d02ec06ac19f3 100755
--- a/Framework/Particles/pdxml_reader.py
+++ b/Framework/Particles/pdxml_reader.py
@@ -418,8 +418,8 @@ def gen_classes(particle_db):
         string += "  public:\n"
         string += "   static constexpr Code GetCode() { return Type; }\n"
         string += "   static constexpr corsika::units::si::HEPMassType GetMass() { return corsika::particles::GetMass(Type); }\n"
-        string += "   static constexpr corsika::units::si::ElectricChargeType GetCharge() { return corsika::particles::GetElectricCharge(Type); }\n"
-        string += "   static constexpr int16_t GetChargeNumber() { return corsika::particles::GetElectricChargeNumber(Type); }\n"
+        string += "   static constexpr corsika::units::si::ElectricChargeType GetCharge() { return corsika::particles::GetCharge(Type); }\n"
+        string += "   static constexpr int16_t GetChargeNumber() { return corsika::particles::GetChargeNumber(Type); }\n"
         string += "   static std::string const& GetName() { return corsika::particles::GetName(Type); }\n"
         string += "   static constexpr Code GetAntiParticle() { return AntiType; }\n"
         string += "   static constexpr bool IsNucleus() { return corsika::particles::IsNucleus(Type); }\n"
diff --git a/Framework/Particles/testParticles.cc b/Framework/Particles/testParticles.cc
index 8bb73e7ac252fafe334d12c93a22dc05e195c4a5..3fd99ea2c0e24f52ebd61cd978db97ce54fe3ac7 100644
--- a/Framework/Particles/testParticles.cc
+++ b/Framework/Particles/testParticles.cc
@@ -43,7 +43,7 @@ TEST_CASE("ParticleProperties", "[Particles]") {
   SECTION("Charges") {
     REQUIRE(Electron::GetCharge() / constants::e == Approx(-1));
     REQUIRE(Positron::GetCharge() / constants::e == Approx(+1));
-    REQUIRE(GetElectricCharge(Positron::GetAntiParticle()) / constants::e == Approx(-1));
+    REQUIRE(GetCharge(Positron::GetAntiParticle()) / constants::e == Approx(-1));
   }
 
   SECTION("Names") {
diff --git a/Framework/Units/PhysicalUnits.h b/Framework/Units/PhysicalUnits.h
index 786044aef3055b1472e0150dd451fa5050628f4b..6bc71d708316fdfb22656b22b21b462104e50cd0 100644
--- a/Framework/Units/PhysicalUnits.h
+++ b/Framework/Units/PhysicalUnits.h
@@ -45,9 +45,11 @@ namespace corsika::units::si {
   using hepmomentum_d = phys::units::hepenergy_d;
   using hepmass_d = phys::units::hepenergy_d;
 
-  /// defining cross section
+  /// defining cross section as area
   using sigma_d = phys::units::area_d;
 
+  // constexpr quantity<area_d> barn{Rep(1e-28L) * square(meter)};
+
   /// add the unit-types
   using LengthType = phys::units::quantity<phys::units::length_d, double>;
   using TimeType = phys::units::quantity<phys::units::time_interval_d, double>;
diff --git a/Processes/CMakeLists.txt b/Processes/CMakeLists.txt
index eb78018365128dde2308ba1730ed2920a20ae800..d6162179ca3440e788a40a9a6ab0c18edb7d44f6 100644
--- a/Processes/CMakeLists.txt
+++ b/Processes/CMakeLists.txt
@@ -8,6 +8,7 @@ add_subdirectory (StackInspector)
 add_subdirectory (TrackWriter)
 add_subdirectory (TrackingLine)
 add_subdirectory (HadronicElasticModel)
+add_subdirectory (EnergyLoss)
 
 #add_custom_target(CORSIKAprocesses)
 add_library (CORSIKAprocesses INTERFACE)
@@ -18,3 +19,4 @@ if (PYTHIA8_FOUND)
 endif (PYTHIA8_FOUND)
 add_dependencies(CORSIKAprocesses ProcessStackInspector)
 add_dependencies(CORSIKAprocesses ProcessTrackingLine)
+add_dependencies(CORSIKAprocesses ProcessEnergyLoss)
diff --git a/Processes/EnergyLoss/CMakeLists.txt b/Processes/EnergyLoss/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..41eb2ececa1ba9baba44836c58151d8dfd5f6623
--- /dev/null
+++ b/Processes/EnergyLoss/CMakeLists.txt
@@ -0,0 +1,65 @@
+
+set (
+  MODEL_SOURCES
+  EnergyLoss.cc
+  )
+
+set (
+  MODEL_HEADERS
+  EnergyLoss.h
+  )
+
+set (
+  MODEL_NAMESPACE
+  corsika/process/energy_loss
+  )
+
+add_library (ProcessEnergyLoss STATIC ${MODEL_SOURCES})
+CORSIKA_COPY_HEADERS_TO_NAMESPACE (ProcessEnergyLoss ${MODEL_NAMESPACE} ${MODEL_HEADERS})
+
+set_target_properties (
+  ProcessEnergyLoss
+  PROPERTIES
+  VERSION ${PROJECT_VERSION}
+  SOVERSION 1
+#  PUBLIC_HEADER "${MODEL_HEADERS}"
+  )
+
+# target dependencies on other libraries (also the header onlys)
+target_link_libraries (
+  ProcessEnergyLoss
+  CORSIKAunits
+  CORSIKAparticles
+  CORSIKAgeometry
+  CORSIKAenvironment
+  CORSIKAsetup
+  )
+
+target_include_directories (
+  ProcessEnergyLoss 
+  INTERFACE 
+  $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>
+  $<INSTALL_INTERFACE:include/include>
+  )
+
+install (
+  TARGETS ProcessEnergyLoss
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+#  PUBLIC_HEADER DESTINATION include/${MODEL_NAMESPACE}
+  )
+
+
+# --------------------
+# code unit testing
+#add_executable (testNullModel testNullModel.cc)
+
+#target_link_libraries (
+#  testNullModel  ProcessNullModel
+#  CORSIKAsetup
+#  CORSIKAgeometry
+#  CORSIKAunits
+#  CORSIKAthirdparty # for catch2
+#  )
+# CORSIKA_ADD_TEST(testNullModel)
+
diff --git a/Processes/EnergyLoss/EnergyLoss.cc b/Processes/EnergyLoss/EnergyLoss.cc
new file mode 100644
index 0000000000000000000000000000000000000000..a20158bb96623895c1af1454eae79d33740b6da5
--- /dev/null
+++ b/Processes/EnergyLoss/EnergyLoss.cc
@@ -0,0 +1,222 @@
+
+/*
+ * (c) Copyright 2018 CORSIKA Project, corsika-project@lists.kit.edu
+ *
+ * See file AUTHORS for a list of contributors.
+ *
+ * This software is distributed under the terms of the GNU General Public
+ * Licence version 3 (GPL Version 3). See file LICENSE for a full version of
+ * the license.
+ */
+
+#include <corsika/process/energy_loss/EnergyLoss.h>
+
+#include <corsika/particles/ParticleProperties.h>
+
+#include <corsika/setup/SetupStack.h>
+#include <corsika/setup/SetupTrajectory.h>
+
+#include <cmath>
+#include <iostream>
+#include <limits>
+
+using namespace std;
+
+using namespace corsika;
+using namespace corsika::units::si;
+using namespace corsika::setup;
+using Particle = Stack::ParticleType;
+using Track = Trajectory;
+
+namespace corsika::process::EnergyLoss {
+
+  auto elab2plab = [](HEPEnergyType Elab, HEPMassType m) {
+    return sqrt((Elab - m) * (Elab + m));
+  };
+
+  EnergyLoss::EnergyLoss()
+      : fEnergyLossTot(0_GeV)
+      , fdX(10_g / square(1_cm)) // profile binning
+  {}
+
+  /**
+   *   PDG2018, passage of particles through matter
+   *
+   * Note, that \f$I_{\mathrm{eff}}\f$ of composite media a determined from \f$ \ln I =
+   * \sum_i a_i \ln(I_i) \f$ where \f$ a_i \f$ is the fraction of the electron population
+   * (\f$\sim Z_i\f$) of the \f$i\f$-th element. This can also be used for shell
+   * corrections or density effects.
+   *
+   * The \f$I_{\mathrm{eff}}\f$ of compounds is not better than a few percent, if not
+   * measured explicitly.
+   *
+   * For shell correction, see Sec 6 of https://www.nap.edu/read/20066/chapter/8#115
+   *
+   */
+  HEPEnergyType EnergyLoss::BetheBloch(Particle& p, GrammageType const dX) {
+
+    // all these are material constants and have to come through Environment
+    // right now: values for nitrogen_D
+    // 7 nitrogen_gas 82.0 0.49976 D E 0.0011653 0.0 1.7378 4.1323 0.15349 3.2125 10.54
+    auto Ieff = 82.0_eV;
+    [[maybe_unused]] auto Zmat = 7;
+    auto ZoverA = 0.49976_mol / 1_g;
+    const double x0 = 1.7378;
+    const double x1 = 4.1323;
+    const double Cbar = 10.54;
+    const double delta0 = 0.0;
+    const double aa = 0.15349;
+    const double sk = 3.2125;
+    // end of material constants
+
+    // this is the Bethe-Bloch coefficiet 4pi N_A r_e^2 m_e c^2
+    auto const K = 0.307075_MeV / 1_mol * square(1_cm);
+    HEPEnergyType const E = p.GetEnergy();
+    HEPMassType const m = p.GetMass();
+    double const gamma = E / m;
+    double const Z = p.GetChargeNumber();
+    double const Z2 = pow(Z, 2);
+    HEPMassType const me = particles::Electron::GetMass();
+    auto const m2 = m * m;
+    auto const me2 = me * me;
+    double const gamma2 = pow(gamma, 2);
+
+    double const beta2 = (gamma2 - 1) / gamma2; // 1-1/gamma2    (1-1/gamma)*(1+1/gamma);
+                                                // (gamma_2-1)/gamma_2 = (1-1/gamma2);
+    double const c2 = 1;                        // HEP convention here c=c2=1
+    cout << "BetheBloch beta2=" << beta2 << " gamma2=" << gamma2 << endl;
+    [[maybe_unused]] double const eta2 = beta2 / (1 - beta2);
+    HEPMassType const Wmax =
+        2 * me * c2 * beta2 * gamma2 / (1 + 2 * gamma * me / m + me2 / m2);
+    // approx, but <<1%    HEPMassType const Wmax = 2*me*c2*beta2*gamma2;      for HEAVY
+    // PARTICLES Wmax ~ 2me v2 for non-relativistic particles
+    cout << "BetheBloch Wmax=" << Wmax << endl;
+
+    // Sternheimer parameterization, density corrections towards high energies
+    // NOTE/TODO: when Cbar is 0 it needs to be approximated from parameterization ->
+    // MISSING
+    cout << "BetheBloch p.GetMomentum().GetNorm()/m=" << p.GetMomentum().GetNorm() / m
+         << endl;
+    double const x = log10(p.GetMomentum().GetNorm() / m);
+    double delta = 0;
+    if (x >= x1) {
+      delta = 2 * (log(10)) * x - Cbar;
+    } else if (x < x1 && x >= x0) {
+      delta = 2 * (log(10)) * x - Cbar + aa * pow((x1 - x), sk);
+    } else if (x < x0) { // and IF conductor (otherwise, this is 0)
+      delta = delta0 * pow(100, 2 * (x - x0));
+    }
+    cout << "BetheBloch delta=" << delta << endl;
+
+    // with further low energies correction, accurary ~1% down to beta~0.05 (1MeV for p)
+
+    // shell correction, <~100MeV
+    // need more clarity about formulas and units
+    const double Cadj = 0;
+    /*
+    // https://www.nap.edu/read/20066/chapter/8#104
+    HEPEnergyType Iadj = 12_eV * Z + 7_eV;  // Iadj<163eV
+    if (Iadj>=163_eV)
+      Iadj = 9.76_eV * Z + 58.8_eV * pow(Z, -0.19);  // Iadj>=163eV
+    double const Cadj = (0.422377/eta2 + 0.0304043/(eta2*eta2) -
+    0.00038106/(eta2*eta2*eta2)) * 1e-6 * Iadj*Iadj + (3.858019/eta2 -
+    0.1667989/(eta2*eta2) + 0.00157955/(eta2*eta2*eta2)) * 1e-9 * Iadj*Iadj*Iadj;
+    */
+
+    // Barkas correction O(Z3) higher-order Born approximation
+    // see Appl. Phys. 85 (1999) 1249
+    double A = 1;
+    if (p.GetPID() == particles::Code::Nucleus) A = p.GetNuclearA();
+    // double const Erel = (p.GetEnergy()-p.GetMass()) / A / 1_keV;
+    // double const Llow = 0.01 * Erel;
+    // double const Lhigh = 1.5/pow(Erel, 0.4) + 45000./Zmat * pow(Erel, 1.6);
+    // double const barkas = Z * Llow*Lhigh/(Llow+Lhigh); // RU, I think the Z was
+    // missing...
+    double const barkas = 1; // does not work yet
+
+    // Bloch correction for O(Z4) higher-order Born approximation
+    // see Appl. Phys. 85 (1999) 1249
+    const double alpha = 1. / 137.035999173;
+    double const y2 = Z * Z * alpha * alpha / beta2;
+    double const bloch = -y2 * (1.202 - y2 * (1.042 - 0.855 * y2 + 0.343 * y2 * y2));
+
+    // cout << "BetheBloch Erel=" << Erel << " barkas=" << barkas << " bloch=" << bloch <<
+    // endl;
+
+    double const aux = 2 * me * c2 * beta2 * gamma2 * Wmax / (Ieff * Ieff);
+    return -K * Z2 * ZoverA / beta2 *
+           (0.5 * log(aux) - beta2 - Cadj / Z - delta / 2 + barkas + bloch) * dX;
+  }
+
+  process::EProcessReturn EnergyLoss::DoContinuous(Particle& p, Track& t, Stack&) {
+    if (p.GetChargeNumber() == 0) return process::EProcessReturn::eOk;
+    GrammageType const dX =
+        p.GetNode()->GetModelProperties().IntegratedGrammage(t, t.GetLength());
+    cout << "EnergyLoss " << p.GetPID() << ", z=" << p.GetChargeNumber()
+         << ", dX=" << dX / 1_g * square(1_cm) << "g/cm2" << endl;
+    HEPEnergyType dE = BetheBloch(p, dX);
+    auto E = p.GetEnergy();
+    const auto Ekin = E - p.GetMass();
+    auto Enew = E + dE;
+    cout << "EnergyLoss  dE=" << dE / 1_MeV << "MeV, "
+         << " E=" << E / 1_GeV << "GeV,  Ekin=" << Ekin / 1_GeV
+         << ", Enew=" << Enew / 1_GeV << "GeV" << endl;
+    auto status = process::EProcessReturn::eOk;
+    if (-dE > Ekin) {
+      dE = -Ekin;
+      Enew = p.GetMass();
+      status = process::EProcessReturn::eParticleAbsorbed;
+    }
+    p.SetEnergy(Enew);
+    MomentumUpdate(p, Enew);
+    fEnergyLossTot += dE;
+    GetXbin(p, dE);
+    return status;
+  }
+
+  units::si::LengthType EnergyLoss::MaxStepLength(Particle&, Track&) {
+    return units::si::meter * std::numeric_limits<double>::infinity();
+  }
+
+  void EnergyLoss::MomentumUpdate(corsika::setup::Stack::ParticleType& p,
+                                  corsika::units::si::HEPEnergyType Enew) {
+    HEPMomentumType Pnew = elab2plab(Enew, p.GetMass());
+    auto pnew = p.GetMomentum();
+    p.SetMomentum(pnew * Pnew / pnew.GetNorm());
+  }
+
+#include <corsika/geometry/CoordinateSystem.h>
+
+  int EnergyLoss::GetXbin(corsika::setup::Stack::ParticleType& p,
+                          const HEPEnergyType dE) {
+
+    using namespace corsika::geometry;
+
+    CoordinateSystem const& rootCS =
+        RootCoordinateSystem::GetInstance().GetRootCoordinateSystem();
+    Point pos1(rootCS, 0_m, 0_m, 0_m);
+    Point pos2(rootCS, 0_m, 0_m, p.GetPosition().GetCoordinates()[2]);
+    Vector delta = (pos2 - pos1) / 1_s;
+    Trajectory t(Line(pos1, delta), 1_s);
+
+    GrammageType const grammage =
+        p.GetNode()->GetModelProperties().IntegratedGrammage(t, t.GetLength());
+
+    const int bin = grammage / fdX;
+
+    // fill longitudinal profile
+    if (!fProfile.count(bin)) { cout << "EnergyLoss new x bin " << bin << endl; }
+    fProfile[bin] += -dE / 1_GeV;
+    return bin;
+  }
+
+  void EnergyLoss::PrintProfile() const {
+
+    cout << "EnergyLoss PrintProfile  X-bin [g/cm2]  dE/dX [GeV/g/cm2]  " << endl;
+    double const deltaX = fdX / 1_g * square(1_cm);
+    for (auto v : fProfile) {
+      cout << v.first * deltaX << " " << v.second / deltaX << endl;
+    }
+  }
+
+} // namespace corsika::process::EnergyLoss
diff --git a/Processes/EnergyLoss/EnergyLoss.h b/Processes/EnergyLoss/EnergyLoss.h
new file mode 100644
index 0000000000000000000000000000000000000000..5eb2a6b6782b12bb7b336e67d43e2882d666b80a
--- /dev/null
+++ b/Processes/EnergyLoss/EnergyLoss.h
@@ -0,0 +1,61 @@
+
+/*
+ * (c) Copyright 2018 CORSIKA Project, corsika-project@lists.kit.edu
+ *
+ * See file AUTHORS for a list of contributors.
+ *
+ * This software is distributed under the terms of the GNU General Public
+ * Licence version 3 (GPL Version 3). See file LICENSE for a full version of
+ * the license.
+ */
+
+#ifndef _Processes_EnergyLoss_h_
+#define _Processes_EnergyLoss_h_
+
+#include <corsika/process/ContinuousProcess.h>
+#include <corsika/units/PhysicalUnits.h>
+
+#include <corsika/setup/SetupStack.h>
+#include <corsika/setup/SetupTrajectory.h>
+
+#include <map>
+
+namespace corsika::process::EnergyLoss {
+
+  class EnergyLoss : public corsika::process::ContinuousProcess<EnergyLoss> {
+
+    using MeVgcm2 = decltype(1e6 * units::si::electronvolt / units::si::gram *
+                             corsika::units::si::square(1e-2 * units::si::meter));
+
+    void MomentumUpdate(corsika::setup::Stack::ParticleType&,
+                        corsika::units::si::HEPEnergyType Enew);
+
+  public:
+    EnergyLoss();
+    void Init() {}
+
+    corsika::process::EProcessReturn DoContinuous(corsika::setup::Stack::ParticleType&,
+                                                  corsika::setup::Trajectory&,
+                                                  corsika::setup::Stack&);
+    corsika::units::si::LengthType MaxStepLength(corsika::setup::Stack::ParticleType&,
+                                                 corsika::setup::Trajectory&);
+
+    corsika::units::si::HEPEnergyType GetTotal() const { return fEnergyLossTot; }
+    void PrintProfile() const;
+
+  private:
+    corsika::units::si::HEPEnergyType BetheBloch(
+        corsika::setup::Stack::ParticleType& p,
+        const corsika::units::si::GrammageType dX);
+
+    int GetXbin(corsika::setup::Stack::ParticleType& p,
+                const corsika::units::si::HEPEnergyType dE);
+
+    corsika::units::si::HEPEnergyType fEnergyLossTot;
+    corsika::units::si::GrammageType fdX; // profile binning
+    std::map<int, double> fProfile;       // longitudinal profile
+  };
+
+} // namespace corsika::process::EnergyLoss
+
+#endif
diff --git a/Processes/EnergyLoss/Properties8.dat b/Processes/EnergyLoss/Properties8.dat
new file mode 100644
index 0000000000000000000000000000000000000000..377c3df7748acf71795e02277fbf6cb8c1905943
--- /dev/null
+++ b/Processes/EnergyLoss/Properties8.dat
@@ -0,0 +1,2907 @@
+# RU Mo 18. Feb 14:07:40 CET 2019
+# Data table obtained from: http://pdg.lbl.gov/2018/AtomicNuclearProperties/properties8.dat
+# see also: http://pdg.lbl.gov/2018/AtomicNuclearProperties/expert.html
+   1 Hydro  3   1.0080000000   7  0.99212 8.3748E-05 8.3755E-05 D  1  1  4 E
+H   hydrogen_gas
+hydrogen gas (H%2#)
+      19.2   9.5835   1.8639   3.2718  0.14092   5.7273     0.00
+         1  1.000000  1.000000
+Boiling point                   -252.87       20.267 K
+Melting point                   -259.34       13.82 K
+Index of ref (n-1)*E6           132.0         http://www.kayelaby.npl.co.uk/
+Note: The mass of atomic <SUP>1</SUP>H is 1.007 276 522 6 (13) u (mass of the proton less binding energy of 13.61 eV = 1.461E-09 u).
+----------------------------------------------------------------------------
+   2 Heliu  6   4.0026020000   2  0.49967 1.6632E-04 1.6632E-04 G  1  1  2 E
+He   helium_gas_He
+helium gas (He)
+      41.8  11.1393   2.2017   3.6122  0.13443   5.8347     0.00
+         2  1.000000  1.000000
+Boiling point                   -268.93
+Index of ref (n-1)*E6            35.0         http://www.kayelaby.npl.co.uk/
+----------------------------------------------------------------------------
+   3 Lithi  2   6.9400000000   2  0.43221 5.3400E-01 5.3400E-01 S  1  1  2 E
+Li   lithium_Li
+lithium (Li)
+      40.0   3.1221   0.1304   1.6397  0.95136   2.4993     0.14
+         3  1.000000  1.000000
+melting point               180.5
+boiling point               1342.
+----------------------------------------------------------------------------
+   4 Beryl  7   9.0121831000   5  0.44384 1.8480E+00 1.8480E+00 S  1  1  2 E
+Be   beryllium_Be
+beryllium (Be)
+      63.7   2.7847   0.0592   1.6922  0.80392   2.4339     0.14
+         4  1.000000  1.000000
+melting point               1287.
+boiling point               2471.
+----------------------------------------------------------------------------
+   5 Boron  2  10.8100000000   7  0.46249 2.3700E+00 2.3700E+00 S  1  1  0 E
+B   boron_B
+boron (B)
+      76.0   2.8477   0.0305   1.9688  0.56224   2.4512     0.14
+         5  1.000000  1.000000
+----------------------------------------------------------------------------
+   6 Carbo  4  12.0107000000   8  0.49955 2.0000E+00 2.0000E+00 S  1  1  0 E
+C   carbon_amorphous_C
+carbon (amorphous) (C)
+      78.0   2.9925  -0.0351   2.4860  0.20240   3.0036     0.10
+         6  1.000000  1.000000
+----------------------------------------------------------------------------
+   7 Nitro  3  14.0070000000   2  0.49976 1.1653E-03 1.1653E-03 D  1  1  3 E
+N   nitrogen_gas
+nitrogen gas (N%2#)
+      82.0  10.5400   1.7378   4.1323  0.15349   3.2125     0.00
+         7  1.000000  1.000000
+Melting point (C)               -210.00
+Boiling point (C)               -195.86
+Index of ref (n-1)*E6           298.0         http://www.kayelaby.npl.co.uk/
+----------------------------------------------------------------------------
+   8 Oxyge  3  15.9990000000   3  0.50002 1.3315E-03 1.3315E-03 D  1  1  3 E
+O   oxygen_gas
+oxygen gas (O%2#)
+      95.0  10.7004   1.7541   4.3213  0.11778   3.2913     0.00
+         8  1.000000  1.000000
+Melting point (C)               -218.79
+Boiling point (C)               -182.95
+Index of ref (n-1)*E6           271.0         http://www.kayelaby.npl.co.uk/
+----------------------------------------------------------------------------
+   9 Fluor  9  18.9984031630   6  0.47372 1.5803E-03 1.5803E-03 D  1  1  3 E
+F   fluorine_gas
+fluorine gas (F%2#)
+     115.0  10.9653   1.8433   4.4096  0.11083   3.2962     0.00
+         9  1.000000  1.000000
+Melting point                   -219.62
+Boiling point                   -188.12
+Index ref (n-1)                 195.
+----------------------------------------------------------------------------
+  10 Neon   4  20.1797000000   6  0.49555 8.3851E-04 8.3851E-04 G  1  1  3 E
+Ne   neon_gas_Ne
+neon gas (Ne)
+     137.0  11.9041   2.0735   4.6421  0.08064   3.5771     0.00
+        10  1.000000  1.000000
+Boiling point                -246.08
+Melting point                -248.59
+Index ref                    67.1
+----------------------------------------------------------------------------
+  11 Sodiu  8  22.9897692800   2  0.47847 9.7100E-01 9.7100E-01 S  1  1  0 E
+Na   sodium_Na
+sodium (Na)
+     149.0   5.0526   0.2880   3.1962  0.07772   3.6452     0.08
+        11  1.000000  1.000000
+----------------------------------------------------------------------------
+  12 Magne  3  24.3050000000   6  0.49373 1.7400E+00 1.7400E+00 S  1  1  0 E
+Mg   magnesium_Mg
+magnesium (Mg)
+     156.0   4.5297   0.1499   3.0668  0.08163   3.6166     0.08
+        12  1.000000  1.000000
+----------------------------------------------------------------------------
+  13 Alumi  7  26.9815385000   7  0.48181 2.6989E+00 2.6989E+00 S  1  1  2 E
+Al   aluminum_Al
+aluminum (Al)
+     166.0   4.2395   0.1708   3.0127  0.08024   3.6345     0.12
+        13  1.000000  1.000000
+melti                           660.32          Aluminum
+boili                           2519.           Aluminum
+----------------------------------------------------------------------------
+  14 Silic  4  28.0855000000   3  0.49848 2.3300E+00 2.3290E+00 S  1  1  3 E
+Si   silicon_Si
+silicon (Si)
+     173.0   4.4351   0.2014   2.8715  0.14921   3.2546     0.14
+        14  1.000000  1.000000
+Index of ref                    3.95
+Melting point                  1414.
+Boiling point                  3265.
+----------------------------------------------------------------------------
+  15 Phosp  9  30.9737619980   5  0.48428 2.2000E+00 2.2000E+00 S  1  1  0 E
+P   phosphorus_P
+phosphorus (P)
+     173.0   4.5214   0.1696   2.7815  0.23610   2.9158     0.14
+        15  1.000000  1.000000
+----------------------------------------------------------------------------
+  16 Sulfu  3  32.0650000000   5  0.49899 2.0000E+00 2.0000E+00 S  1  1  0 E
+S   sulfur_S
+sulfur (S)
+     180.0   4.6659   0.1580   2.7159  0.33992   2.6456     0.14
+        16  1.000000  1.000000
+----------------------------------------------------------------------------
+  17 Chlor  3  35.4530000000   2  0.47951 2.9947E-03 2.9800E-03 D  1  1  3 E
+Cl   chlorine_gas
+chlorine gas (Cl%2#)
+     174.0  11.1421   1.5555   4.2994  0.19849   2.9702     0.00
+        17  1.000000  1.000000
+Melting point             -101.5
+Boiling point             -34.04
+Index of ref (n-1)*E6           773.0         http://www.kayelaby.npl.co.uk/
+----------------------------------------------------------------------------
+  18 Argon  3  39.9480000000   1  0.45059 1.6620E-03 1.6620E-03 G  1  1  3 E
+Ar   argon_gas_Ar
+argon gas (Ar)
+     188.0  11.9480   1.7635   4.4855  0.19714   2.9618     0.00
+        18  1.000000  1.000000
+Boiling point               -185.89
+Melting point               -189.3442
+Index of ref (n-1)*E6           281.0         http://www.kayelaby.npl.co.uk/
+----------------------------------------------------------------------------
+  19 Potas  4  39.0983000000   1  0.48595 8.6200E-01 8.6200E-01 S  1  1  0 E
+K   potassium_K
+potassium (K)
+     190.0   5.6423   0.3851   3.1724  0.19827   2.9233     0.10
+        19  1.000000  1.000000
+----------------------------------------------------------------------------
+  20 Calci  3  40.0780000000   4  0.49903 1.5500E+00 1.5500E+00 S  1  1  0 E
+Ca   calcium_Ca
+calcium (Ca)
+     191.0   5.0396   0.3228   3.1191  0.15643   3.0745     0.14
+        20  1.000000  1.000000
+----------------------------------------------------------------------------
+  21 Scand  6  44.9559080000   5  0.46712 2.9890E+00 2.9890E+00 S  1  1  0 E
+Sc   scandium_Sc
+scandium (Sc)
+     216.0   4.6949   0.1640   3.0593  0.15754   3.0517     0.10
+        21  1.000000  1.000000
+----------------------------------------------------------------------------
+  22 Titan  3  47.8670000000   1  0.45961 4.5400E+00 4.5400E+00 S  1  1  2 E
+Ti   titanium_Ti
+titanium (Ti)
+     233.0   4.4450   0.0957   3.0386  0.15662   3.0302     0.12
+        22  1.000000  1.000000
+melti                           1668.           Titanium
+boili                           3287.           Titanium
+----------------------------------------------------------------------------
+  23 Vanad  4  50.9415000000   1  0.45150 6.1100E+00 6.1100E+00 S  1  1  0 E
+V   vanadium_V
+vanadium (V)
+     245.0   4.2659   0.0691   3.0322  0.15436   3.0163     0.14
+        23  1.000000  1.000000
+----------------------------------------------------------------------------
+  24 Chrom  4  51.9961000000   6  0.46157 7.1800E+00 7.1800E+00 S  1  1  0 E
+Cr   chromium_Cr
+chromium (Cr)
+     257.0   4.1781   0.0340   3.0451  0.15419   2.9896     0.14
+        24  1.000000  1.000000
+----------------------------------------------------------------------------
+  25 Manga  6  54.9380440000   3  0.45506 7.4400E+00 7.4400E+00 S  1  1  0 E
+Mn   manganese_Mn
+manganese (Mn)
+     272.0   4.2702   0.0447   3.1074  0.14973   2.9796     0.14
+        25  1.000000  1.000000
+----------------------------------------------------------------------------
+  26 Iron   3  55.8450000000   2  0.46557 7.8740E+00 7.8740E+00 S  1  1  2 E
+Fe   iron_Fe
+iron (Fe)
+     286.0   4.2911  -0.0012   3.1531  0.14680   2.9632     0.12
+        26  1.000000  1.000000
+Melting point C                1538.
+Boiling point C                2861.
+----------------------------------------------------------------------------
+  27 Cobal  6  58.9331940000   4  0.45815 8.9000E+00 8.9000E+00 S  1  1  0 E
+Co   cobalt_Co
+cobalt (Co)
+     297.0   4.2601  -0.0187   3.1790  0.14474   2.9502     0.12
+        27  1.000000  1.000000
+----------------------------------------------------------------------------
+  28 Nicke  4  58.6934000000   4  0.47706 8.9020E+00 8.9020E+00 S  1  1  0 E
+Ni   nickel_Ni
+nickel (Ni)
+     311.0   4.3115  -0.0566   3.1851  0.16496   2.8430     0.10
+        28  1.000000  1.000000
+----------------------------------------------------------------------------
+  29 Coppe  3  63.5460000000   3  0.45636 8.9600E+00 8.9600E+00 S  1  1  2 E
+Cu   copper_Cu
+copper (Cu)
+     322.0   4.4190  -0.0254   3.2792  0.14339   2.9044     0.08
+        29  1.000000  1.000000
+melti                           1084.62         Copper
+boili                           2562.           Copper
+----------------------------------------------------------------------------
+  30 Zinc   2  65.3800000000   2  0.45886 7.1330E+00 7.1330E+00 S  1  1  0 E
+Zn   zinc_Zn
+zinc (Zn)
+     330.0   4.6906   0.0049   3.3668  0.14714   2.8652     0.08
+        30  1.000000  1.000000
+----------------------------------------------------------------------------
+  31 Galli  3  69.7230000000   1  0.44462 5.9040E+00 5.9040E+00 S  1  1  0 E
+Ga   gallium_Ga
+gallium (Ga)
+     334.0   4.9353   0.2267   3.5434  0.09440   3.1314     0.14
+        31  1.000000  1.000000
+----------------------------------------------------------------------------
+  32 Germa  3  72.6300000000   1  0.44053 5.3230E+00 5.3230E+00 S  1  1  2 E
+Ge   germanium_Ge
+germanium (Ge)
+     350.0   5.1411   0.3376   3.6096  0.07188   3.3306     0.14
+        32  1.000000  1.000000
+melti                           938.25          Germanium
+boili                           2833.           Germanium
+----------------------------------------------------------------------------
+  33 Arsen  6  74.9215950000   6  0.44046 5.7300E+00 5.7300E+00 S  1  1  0 E
+As   arsenic_As
+arsenic (As)
+     347.0   5.0510   0.1767   3.5702  0.06633   3.4176     0.08
+        33  1.000000  1.000000
+----------------------------------------------------------------------------
+  34 Selen  3  78.9710000000   8  0.43060 4.5000E+00 4.5000E+00 S  1  1  0 E
+Se   selenium_Se
+selenium (Se)
+     348.0   5.3210   0.2258   3.6264  0.06568   3.4317     0.10
+        34  1.000000  1.000000
+----------------------------------------------------------------------------
+  35 Bromi  3  79.9040000000   1  0.43803 7.0722E-03 7.0722E-03 D  1  1  2 E
+Br   bromine_gas
+bromine gas (Br%2#)
+     343.0  11.7307   1.5262   4.9899  0.06335   3.4670     0.00
+        35  1.000000  1.000000
+melting point              -7.2
+boiling point              58.78
+----------------------------------------------------------------------------
+  36 Krypt  3  83.7980000000   2  0.42960 3.4783E-03 3.4856E-03 G  1  1  2 E
+Kr   krypton_gas_Kr
+krypton gas (Kr)
+     352.0  12.5115   1.7158   5.0748  0.07446   3.4051     0.00
+        36  1.000000  1.000000
+melting point              -157.36
+boiling point              -153.22
+----------------------------------------------------------------------------
+  37 Rubid  4  85.4678000000   3  0.43291 1.5320E+00 1.5320E+00 S  1  1  0 E
+Rb   rubidium_Rb
+rubidium (Rb)
+     363.0   6.4776   0.5737   3.7995  0.07261   3.4177     0.14
+        37  1.000000  1.000000
+----------------------------------------------------------------------------
+  38 Stron  2  87.6200000000   1  0.43369 2.5400E+00 2.5400E+00 S  1  1  0 E
+Sr   strontium_Sr
+strontium (Sr)
+     366.0   5.9867   0.4585   3.6778  0.07165   3.4435     0.14
+        38  1.000000  1.000000
+----------------------------------------------------------------------------
+  39 Yttri  5  88.9058400000   2  0.43867 4.4690E+00 4.4690E+00 S  1  1  0 E
+Y   yttrium_Y
+yttrium (Y)
+     379.0   5.4801   0.3608   3.5542  0.07138   3.4585     0.14
+        39  1.000000  1.000000
+----------------------------------------------------------------------------
+  40 Zirco  3  91.2240000000   2  0.43848 6.5060E+00 6.5060E+00 S  1  1  0 E
+Zr   zirconium_Zr
+zirconium (Zr)
+     393.0   5.1774   0.2957   3.4890  0.07177   3.4533     0.14
+        40  1.000000  1.000000
+----------------------------------------------------------------------------
+  41 Niobi  5  92.9063700000   2  0.44130 8.5700E+00 8.5700E+00 S  1  1  0 E
+Nb   niobium_Nb
+niobium (Nb)
+     417.0   5.0141   0.1785   3.2201  0.13883   3.0930     0.14
+        41  1.000000  1.000000
+----------------------------------------------------------------------------
+  42 Molyb  2  95.9500000000   1  0.43768 1.0220E+01 1.0220E+01 S  1  1  0 E
+Mo   molybdenum_Mo
+molybdenum (Mo)
+     424.0   4.8793   0.2267   3.2784  0.10525   3.2549     0.14
+        42  1.000000  1.000000
+----------------------------------------------------------------------------
+  43 Techn  5  97.9072200000   3  0.43919 1.1500E+01 1.1500E+01 S  1  1  3 R
+Tc   technetium_Tc
+technetium (Tc)
+     428.0   4.7769   0.0949   3.1253  0.16572   2.9738     0.14
+        43  1.000000  1.000000
+melting                    2157.
+boiling                    4265.
+Note: Since there are no stable isotopes, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+----------------------------------------------------------------------------
+  44 Ruthe  2 101.0700000000   2  0.43534 1.2410E+01 1.2410E+01 S  1  1  0 E
+Ru   ruthenium_Ru
+ruthenium (Ru)
+     441.0   4.7694   0.0599   3.0834  0.19342   2.8707     0.14
+        44  1.000000  1.000000
+----------------------------------------------------------------------------
+  45 Rhodi  5 102.9055000000   2  0.43729 1.2410E+01 1.2410E+01 S  1  1  0 E
+Rh   rhodium_Rh
+rhodium (Rh)
+     449.0   4.8008   0.0576   3.1069  0.19205   2.8633     0.14
+        45  1.000000  1.000000
+----------------------------------------------------------------------------
+  46 Palla  2 106.4200000000   1  0.43225 1.2020E+01 1.2020E+01 S  1  1  0 E
+Pd   palladium_Pd
+palladium (Pd)
+     470.0   4.9358   0.0563   3.0555  0.24178   2.7239     0.14
+        46  1.000000  1.000000
+----------------------------------------------------------------------------
+  47 Silve  4 107.8682000000   2  0.43572 1.0500E+01 1.0500E+01 S  1  1  0 E
+Ag   silver_Ag
+silver (Ag)
+     470.0   5.0630   0.0657   3.1074  0.24585   2.6899     0.14
+        47  1.000000  1.000000
+----------------------------------------------------------------------------
+  48 Cadmi  3 112.4140000000   4  0.42700 8.6500E+00 8.6500E+00 S  1  1  0 E
+Cd   cadmium_Cd
+cadmium (Cd)
+     469.0   5.2727   0.1281   3.1667  0.24609   2.6772     0.14
+        48  1.000000  1.000000
+----------------------------------------------------------------------------
+  49 Indiu  3 114.8180000000   3  0.42676 7.3100E+00 7.3100E+00 S  1  1  0 E
+In   indium_In
+indium (In)
+     488.0   5.5211   0.2406   3.2032  0.23879   2.7144     0.14
+        49  1.000000  1.000000
+----------------------------------------------------------------------------
+  50 Tin    3 118.7100000000   7  0.42119 7.3100E+00 7.3100E+00 S  1  1  2 E
+Sn   tin_Sn
+tin (Sn)
+     488.0   5.5340   0.2879   3.2959  0.18689   2.8576     0.14
+        50  1.000000  1.000000
+melti                        231.93             Tin
+boili                        2602.              Tin
+----------------------------------------------------------------------------
+  51 Antim  3 121.7600000000   1  0.41886 6.6910E+00 6.6910E+00 S  1  1  0 E
+Sb   antimony_Sb
+antimony (Sb)
+     487.0   5.6241   0.3189   3.3489  0.16652   2.9319     0.14
+        51  1.000000  1.000000
+----------------------------------------------------------------------------
+  52 Tellu  2 127.6000000000   3  0.40752 6.2400E+00 6.2400E+00 S  1  1  0 E
+Te   tellurium_Te
+tellurium (Te)
+     485.0   5.7131   0.3296   3.4418  0.13815   3.0354     0.14
+        52  1.000000  1.000000
+----------------------------------------------------------------------------
+  53 Iodin  5 126.9044700000   3  0.41764 4.9300E+00 4.9300E+00 S  1  1  2 E
+I   iodine_I
+iodine (I)
+     491.0   5.9488   0.0549   3.2596  0.23766   2.7276     0.00
+        53  1.000000  1.000000
+melting point                113.7
+boiling point                184.4
+----------------------------------------------------------------------------
+  54 Xenon  3 131.2930000000   6  0.41129 5.4854E-03 5.4830E-03 G  1  1  3 E
+Xe   xenon_gas_Xe
+xenon gas (Xe)
+     482.0  12.7281   1.5630   4.7371  0.23314   2.7414     0.00
+        54  1.000000  1.000000
+Index ref                 701.
+Melting point             -111.75
+Boiling point             -108.0
+----------------------------------------------------------------------------
+  55 Caesi  8 132.9054519600   6  0.41383 1.8730E+00 1.8730E+00 S  1  1  0 E
+Cs   caesium_Cs
+caesium (Cs)
+     488.0   6.9135   0.5473   3.5914  0.18233   2.8866     0.14
+        55  1.000000  1.000000
+----------------------------------------------------------------------------
+  56 Bariu  3 137.3270000000   7  0.40779 3.5000E+00 3.5000E+00 S  1  1  0 E
+Ba   barium_Ba
+barium (Ba)
+     491.0   6.3153   0.4190   3.4547  0.18268   2.8906     0.14
+        56  1.000000  1.000000
+----------------------------------------------------------------------------
+  57 Lanth  5 138.9054700000   7  0.41035 6.1540E+00 6.1450E+00 S  1  1  0 E
+La   lanthanum_La
+lanthanum (La)
+     501.0   5.7850   0.3161   3.3293  0.18591   2.8828     0.14
+        57  1.000000  1.000000
+----------------------------------------------------------------------------
+  58 Ceriu  3 140.1160000000   1  0.41394 6.6570E+00 6.7700E+00 S  1  1  0 E
+Ce   cerium_Ce
+cerium (Ce)
+     523.0   5.7837   0.2713   3.3432  0.18885   2.8592     0.14
+        58  1.000000  1.000000
+----------------------------------------------------------------------------
+  59 Prase  5 140.9076600000   2  0.41871 6.7100E+00 6.7730E+00 S  1  1  0 E
+Pr   praseodymium_Pr
+praseodymium (Pr)
+     535.0   5.8096   0.2333   3.2773  0.23265   2.7331     0.14
+        59  1.000000  1.000000
+----------------------------------------------------------------------------
+  60 Neody  3 144.2420000000   3  0.41597 6.9000E+00 7.0080E+00 S  1  1  0 E
+Nd   neodymium_Nd
+neodymium (Nd)
+     546.0   5.8290   0.1984   3.3063  0.23530   2.7050     0.14
+        60  1.000000  1.000000
+----------------------------------------------------------------------------
+  61 Prome  5 144.9127500000   3  0.42094 7.2200E+00 7.2640E+00 S  1  1  1 R
+Pm   promethium_Pm
+promethium (Pm)
+     560.0   5.8224   0.1627   3.3199  0.24280   2.6674     0.14
+        61  1.000000  1.000000
+Note: Since there is no stable isotope, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+----------------------------------------------------------------------------
+  62 Samar  2 150.3600000000   2  0.41234 7.4600E+00 7.5200E+00 S  1  1  0 E
+Sm   samarium_Sm
+samarium (Sm)
+     574.0   5.8597   0.1520   3.3460  0.24698   2.6403     0.14
+        62  1.000000  1.000000
+----------------------------------------------------------------------------
+  63 Europ  3 151.9640000000   1  0.41457 5.2430E+00 5.2440E+00 S  1  1  0 E
+Eu   europium_Eu
+europium (Eu)
+     580.0   6.2278   0.1888   3.4633  0.24448   2.6245     0.14
+        63  1.000000  1.000000
+----------------------------------------------------------------------------
+  64 Gadol  2 157.2500000000   3  0.40700 7.9004E+00 7.9010E+00 S  1  1  0 E
+Gd   gadolinium_Gd
+gadolinium (Gd)
+     591.0   5.8738   0.1058   3.3932  0.25109   2.5977     0.14
+        64  1.000000  1.000000
+----------------------------------------------------------------------------
+  65 Terbi  5 158.9253500000   2  0.40900 8.2290E+00 8.2300E+00 S  1  1  0 E
+Tb   terbium_Tb
+terbium (Tb)
+     614.0   5.9045   0.0947   3.4224  0.24453   2.6056     0.14
+        65  1.000000  1.000000
+----------------------------------------------------------------------------
+  66 Dyspr  3 162.5000000000   1  0.40615 8.5500E+00 8.5510E+00 S  1  1  0 E
+Dy   dysprosium_Dy
+dysprosium (Dy)
+     628.0   5.9183   0.0822   3.4474  0.24665   2.5849     0.14
+        66  1.000000  1.000000
+----------------------------------------------------------------------------
+  67 Holmi  5 164.9303300000   2  0.40623 8.7950E+00 8.7950E+00 S  1  1  0 E
+Ho   holmium_Ho
+holmium (Ho)
+     650.0   5.9587   0.0761   3.4782  0.24638   2.5726     0.14
+        67  1.000000  1.000000
+----------------------------------------------------------------------------
+  68 Erbiu  3 167.2590000000   3  0.40656 9.0660E+00 9.0260E+00 S  1  1  0 E
+Er   erbium_Er
+erbium (Er)
+     658.0   5.9521   0.0648   3.4922  0.24823   2.5573     0.14
+        68  1.000000  1.000000
+----------------------------------------------------------------------------
+  69 Thuli  5 168.9342200000   2  0.40844 9.3210E+00 9.3210E+00 S  1  1  0 E
+Tm   thulium_Tm
+thulium (Tm)
+     674.0   5.9677   0.0812   3.5085  0.24889   2.5469     0.14
+        69  1.000000  1.000000
+----------------------------------------------------------------------------
+  70 Ytter  3 173.0540000000   5  0.40450 6.7300E+00 6.9030E+00 S  1  1  0 E
+Yb   ytterbium_Yb
+ytterbium (Yb)
+     684.0   6.3325   0.1199   3.6246  0.25295   2.5141     0.14
+        70  1.000000  1.000000
+----------------------------------------------------------------------------
+  71 Lutet  4 174.9668000000   1  0.40579 9.8400E+00 9.8410E+00 S  1  1  0 E
+Lu   lutetium_Lu
+lutetium (Lu)
+     694.0   5.9785   0.1560   3.5218  0.24033   2.5643     0.14
+        71  1.000000  1.000000
+----------------------------------------------------------------------------
+  72 Hafni  2 178.4900000000   2  0.40338 1.3310E+01 1.3310E+01 S  1  1  0 E
+Hf   hafnium_Hf
+hafnium (Hf)
+     705.0   5.7139   0.1965   3.4337  0.22918   2.6155     0.14
+        72  1.000000  1.000000
+----------------------------------------------------------------------------
+  73 Tanta  5 180.9478800000   2  0.40343 1.6654E+01 1.6654E+01 S  1  1  0 E
+Ta   tantalum_Ta
+tantalum (Ta)
+     718.0   5.5262   0.2117   3.4805  0.17798   2.7623     0.14
+        73  1.000000  1.000000
+----------------------------------------------------------------------------
+  74 Tungs  2 183.8400000000   1  0.40252 1.9300E+01 1.9300E+01 S  1  1  2 E
+W   tungsten_W
+tungsten (W)
+     727.0   5.4059   0.2167   3.4960  0.15509   2.8447     0.14
+        74  1.000000  1.000000
+melti                           3422.           Tungsten
+boili                           5555.           Tungsten
+----------------------------------------------------------------------------
+  75 Rheni  3 186.2070000000   1  0.40278 2.1020E+01 2.1020E+01 S  1  1  0 E
+Re   rhenium_Re
+rhenium (Re)
+     736.0   5.3445   0.0559   3.4845  0.15184   2.8627     0.08
+        75  1.000000  1.000000
+----------------------------------------------------------------------------
+  76 Osmiu  2 190.2300000000   3  0.39952 2.2570E+01 2.2570E+01 S  1  1  0 E
+Os   osmium_Os
+osmium (Os)
+     746.0   5.3083   0.0891   3.5414  0.12751   2.9608     0.10
+        76  1.000000  1.000000
+----------------------------------------------------------------------------
+  77 Iridi  3 192.2170000000   3  0.40059 2.2420E+01 2.2420E+01 S  1  1  0 E
+Ir   iridium_Ir
+iridium (Ir)
+     757.0   5.3418   0.0819   3.5480  0.12690   2.9658     0.10
+        77  1.000000  1.000000
+----------------------------------------------------------------------------
+  78 Plati  3 195.0840000000   9  0.39983 2.1450E+01 2.1450E+01 S  1  1  2 E
+Pt   platinum_Pt
+platinum (Pt)
+     790.0   5.4732   0.1484   3.6212  0.11128   3.0417     0.12
+        78  1.000000  1.000000
+melti                           1768.4          Platinum
+boili                           3825.           Platinum
+----------------------------------------------------------------------------
+  79 Gold   6 196.9665690000   5  0.40108 1.9320E+01 1.9320E+01 S  1  1  2 E
+Au   gold_Au
+gold (Au)
+     790.0   5.5747   0.2021   3.6979  0.09756   3.1101     0.14
+        79  1.000000  1.000000
+melti                           1064.18         Gold
+boili                           2856.           Gold
+----------------------------------------------------------------------------
+  80 Mercu  3 200.5920000000   2  0.39882 1.3546E+01 1.3546E+01 L  1  1  0 E
+Hg   mercury_Hg
+mercury (Hg)
+     800.0   5.9605   0.2756   3.7275  0.11014   3.0519     0.14
+        80  1.000000  1.000000
+----------------------------------------------------------------------------
+  81 Thall  2 204.3800000000   2  0.39631 1.1720E+01 1.1720E+01 S  1  1  0 E
+Tl   thallium_Tl
+thallium (Tl)
+     810.0   6.1365   0.3491   3.8044  0.09455   3.1450     0.14
+        81  1.000000  1.000000
+----------------------------------------------------------------------------
+  82 Lead   1 207.2000000000   1  0.39575 1.1350E+01 1.1350E+01 S  1  1  2 E
+Pb   lead_Pb
+lead (Pb)
+     823.0   6.2018   0.3776   3.8073  0.09359   3.1608     0.14
+        82  1.000000  1.000000
+melti                           327.46          Lead
+boili                           1749.           Lead
+----------------------------------------------------------------------------
+  83 Bismu  5 208.9804000000   1  0.39717 9.7470E+00 9.7470E+00 S  1  1  0 E
+Bi   bismuth_Bi
+bismuth (Bi)
+     823.0   6.3505   0.4152   3.8248  0.09410   3.1671     0.14
+        83  1.000000  1.000000
+----------------------------------------------------------------------------
+  84 Polon  5 208.9824300000   2  0.40195 9.3200E+00 9.3200E+00 S  1  1  1 R
+Po   polonium_Po
+polonium (Po)
+     830.0   6.4003   0.4267   3.8293  0.09282   3.1830     0.14
+        84  1.000000  1.000000
+Note: Since there are no stable isotopes, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+----------------------------------------------------------------------------
+  85 H-liq  3   1.0080000000   7  0.99212 6.0000E-02 7.0800E-02 L  1  1  3 E
+H   liquid_hydrogen
+liquid hydrogen (H%2#)
+      21.8   3.2632   0.4759   1.9215  0.13483   5.6249     0.00
+         1  1.000000  1.000000
+Melting point                   -259.34          Rubber Bible
+Boiling point                   -252.87          Rubber Bible
+Index of ref                    1.112
+----------------------------------------------------------------------------
+  86 Radon  5 222.0175800000   2  0.38736 9.0662E-03 9.0662E-03 G  1  1  3 R
+Rn   radon_Rn
+radon (Rn)
+     794.0  13.2839   1.5368   4.9889  0.20798   2.7409     0.00
+        86  1.000000  1.000000
+Melting point                   -71.
+Boiling point                   -61.7
+Note: Since there are no stable isotopes, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+----------------------------------------------------------------------------
+  87 C (gr  4  12.0107000000   8  0.49955 1.7000E+00 2.2100E+00 S  1  1  2 E
+C   carbon_graphite_C
+carbon (graphite) (C)
+      78.0   3.1550   0.0480   2.5387  0.20762   2.9532     0.14
+         6  1.000000  1.000000
+Sublimation point            3825.0
+Note: Density may vary 2.09 to 2.23
+----------------------------------------------------------------------------
+  88 Radiu  5 226.0254100000   2  0.38934 5.0000E+00 5.0000E+00 S  1  1  1 R
+Ra   radium_Ra
+radium (Ra)
+     826.0   7.0452   0.5991   3.9428  0.08804   3.2454     0.14
+        88  1.000000  1.000000
+Note: Since there are no stable isotopes, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+----------------------------------------------------------------------------
+  89 Actin  5 227.0277500000   2  0.39202 1.0070E+01 1.0070E+01 S  1  1  1 R
+Ac   actinium_Ac
+actinium (Ac)
+     841.0   6.3742   0.4559   3.7966  0.08567   3.2683     0.14
+        89  1.000000  1.000000
+Note: Since there are no stable isotopes, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+----------------------------------------------------------------------------
+  90 Thori  4 232.0377000000   4  0.38787 1.1720E+01 1.1720E+01 S  1  1  3 R
+Th   thorium_Th
+thorium (Th)
+     847.0   6.2473   0.4202   3.7681  0.08655   3.2610     0.14
+        90  1.000000  1.000000
+melting                    1135.
+boiling                    4131.
+Note: There is a well-defined terrestrial aboundance for thorium even though it is radioactive.
+----------------------------------------------------------------------------
+  91 Prota  5 231.0358800000   2  0.39388 1.5370E+01 1.5370E+01 S  1  1  2 R
+Pa   protactinium_Pa
+protactinium (Pa)
+     878.0   6.0327   0.3144   3.5079  0.14770   2.9845     0.14
+        91  1.000000  1.000000
+melting                    1572.
+Note: There is a well-defined terrestrial aboundance for protactinium even though it is radioactive.
+----------------------------------------------------------------------------
+  92 Urani  5 238.0289100000   3  0.38651 1.8950E+01 1.8950E+01 S  1  1  3 R
+U   uranium_U
+uranium (U)
+     890.0   5.8694   0.2260   3.3721  0.19677   2.8171     0.14
+        92  1.000000  1.000000
+melti                           1135.           Uranium
+boili                           4131.           Uranium
+Note: There is a well-defined terrestrial aboundance for uranium even though it is radioactive.
+----------------------------------------------------------------------------
+  93 Neptu  5 237.0481700000   2  0.39233 2.0250E+01 2.0250E+01 S  1  1  1 R
+Np   neptunium_Np
+neptunium (Np)
+     902.0   5.8149   0.1869   3.3690  0.19741   2.8082     0.14
+        93  1.000000  1.000000
+Note: Since there are no stable isotopes, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+----------------------------------------------------------------------------
+  94 Pluto  5 244.0642000000   4  0.38514 1.9840E+01 1.9840E+01 S  1  1  1 R
+Pu   plutonium_Pu
+plutonium (Pu)
+     921.0   5.8748   0.1557   3.3981  0.20419   2.7679     0.14
+        94  1.000000  1.000000
+Note: Since there are no stable isotopes, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+----------------------------------------------------------------------------
+  95 Ameri  5 243.0613800000   2  0.39085 1.3670E+01 1.3670E+01 S  1  1  1 R
+Am   americium_Am
+americium (Am)
+     934.0   6.2813   0.2274   3.5021  0.20308   2.7615     0.14
+        95  1.000000  1.000000
+Note: Since there is no stable isotope, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+----------------------------------------------------------------------------
+  96 Curiu  5 247.0703500000   3  0.38855 1.3510E+01 1.3510E+01 S  1  1  2 R
+Cm   curium_Cm
+curium (Cm)
+     939.0   6.3097   0.2484   3.5160  0.20257   2.7579     0.14
+        96  1.000000  1.000000
+Melting               1345.
+Note: Since there is no stable isotope, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+----------------------------------------------------------------------------
+  97 Berke  5 247.0703100000   4  0.39260 0.9860E+00 0.9860E+01 S  1  1  2 R
+Bk   berkelium_Bk
+berkelium (Bk)
+     952.0   6.2912   0.5509   3.0000  0.25556   3.0000     0.00
+        97  1.000000  1.000000
+Melting point              986.
+Note: Since there is no stable isotope, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+----------------------------------------------------------------------------
+  98 Carbo  4  12.0107000000   8  0.49955 2.2650E+00 2.2650E+00 S  1  1  0 R
+C   carbon_compact_C
+carbon (compact) (C)
+      78.0   2.8680  -0.0178   2.3415  0.26142   2.8697     0.12
+         6  1.000000  1.000000
+----------------------------------------------------------------------------
+  99 A-150  5  -1.0000000000      0.54903 1.1270E+00 1.1270E+00 S  6  1  0 B
+     a-150_tissue-equivalent_plastic
+A-150 tissue-equivalent plastic
+      65.1   3.1100   0.1329   2.6234  0.10783   3.4442     0.00
+         1  1.000000  0.101327
+         6  0.642279  0.775501
+         7  0.024897  0.035057
+         8  0.032527  0.052316
+         9  0.009122  0.017422
+        20  0.004561  0.018378
+----------------------------------------------------------------------------
+ 100 Aceto  5  -1.0000000000      0.55097 7.8990E-01 7.8990E-01 L  3  6  1 O
+     acetone
+acetone (CH%3#COCH%3#)
+      64.2   3.4341   0.2197   2.6928  0.11100   3.4047     0.00
+         1  6.000000  0.104122
+         6  3.000201  0.620405
+         8  1.000043  0.275473
+Index of ref                 1.36
+----------------------------------------------------------------------------
+ 101 Acety  5  -1.0000000000      0.53768 1.0967E-03 1.0967E-03 G  2  2  0 O
+     acetylene_CHCH
+acetylene (CHCH)
+      58.2   9.8419   1.6017   4.0074  0.12167   3.4277     0.00
+         1  2.000000  0.077418
+         6  2.000135  0.922582
+----------------------------------------------------------------------------
+ 102 Adeni  5  -1.0000000000      0.51903 1.3500E+00 1.3500E+00 S  3  5  0 O
+     adenine
+adenine (C%5#H%5#N%5#)
+      71.4   3.1724   0.1295   2.4219  0.20908   3.0271     0.00
+         1  5.000000  0.037294
+         6  5.000354  0.444430
+         7  5.000218  0.518275
+----------------------------------------------------------------------------
+ 103 Adip-  5  -1.0000000000      0.55947 9.2000E-01 9.2000E-01 S 13  1  0 B
+     adipose_tissue_ICRP
+adipose tissue (ICRP)
+      63.2   3.2367   0.1827   2.6530  0.10278   3.4817     0.00
+         1  1.000000  0.119477
+         6  0.447595  0.637240
+         7  0.004800  0.007970
+         8  0.122506  0.232333
+        11  0.000183  0.000500
+        12  0.000007  0.000020
+        15  0.000044  0.000160
+        16  0.000192  0.000730
+        17  0.000283  0.001190
+        19  0.000069  0.000320
+        20  0.000004  0.000020
+        26  0.000003  0.000020
+        30  0.000003  0.000020
+----------------------------------------------------------------------------
+ 104 Air    5  -1.0000000000      0.49919 1.2048E-03 1.2048E-03 G  4  0  2 M
+     air_dry_1_atm
+air (dry, 1 atm)
+      85.7  10.5961   1.7418   4.2759  0.10914   3.3994     0.00
+         6  0.000124  0.000124
+         7  0.755267  0.755267
+         8  0.231871  0.231781
+        18  0.012827  0.012827
+Boiling point              -194.35
+Index of ref               288.6             http://emtoolbox.nist.gov/
+----------------------------------------------------------------------------
+ 105 Alani  5  -1.0000000000      0.53976 1.4200E+00 1.4200E+00 S  4  7  0 O
+     alanine
+alanine (C%3#H%7#NO%2#)
+      71.9   3.0965   0.1354   2.6336  0.11484   3.3526     0.00
+         1  7.000000  0.079190
+         6  3.000178  0.404439
+         7  1.000032  0.157213
+         8  2.000071  0.359159
+----------------------------------------------------------------------------
+ 106 Al2O3  5  -1.0000000000      0.49038 3.9700E+00 3.9700E+00 S  2  3  3 I
+     aluminum_oxide_sapphire
+aluminum oxide (sapphire, Al%2#O%3#)
+     145.2   3.5682   0.0402   2.8665  0.08500   3.5458     0.00
+         8  3.000000  0.470749
+        13  2.000002  0.529251
+Index of refraction           1.77
+Melting point                 2054.
+Boiling point                 3000.              approximate
+----------------------------------------------------------------------------
+ 107 Amber  5  -1.0000000000      0.55179 1.1000E+00 1.1000E+00 S  3 16  0 O
+     amber
+amber (C%10#H%16#O)
+      63.2   3.0701   0.1335   2.5610  0.11934   3.4098     0.00
+         1 16.000000  0.105930
+         6 10.000679  0.788973
+         8  1.000042  0.105096
+----------------------------------------------------------------------------
+ 108 Ammon  5  -1.0000000000      0.59719 8.2602E-04 8.2602E-04 G  2  3  1 I
+     ammonia
+ammonia (NH%3#)
+      53.7   9.8763   1.6822   4.1158  0.08315   3.6464     0.00
+         1  3.000000  0.177547
+         7  1.000038  0.822453
+Index of ref (n-1)*E6           376.0         http://www.kayelaby.npl.co.uk/
+----------------------------------------------------------------------------
+ 109 Anili  5  -1.0000000000      0.53699 1.0235E+00 1.0235E+00 L  3  7  0 O
+     aniline
+aniline (C%6#H%5#NH%2#)
+      66.2   3.2622   0.1618   2.5805  0.13134   3.3434     0.00
+         1  7.000000  0.075759
+         6  6.000400  0.773838
+         7  1.000041  0.150403
+----------------------------------------------------------------------------
+ 110 Anthr  5  -1.0000000000      0.52740 1.2830E+00 1.2830E+00 S  2 10  0 O
+     anthracene
+anthracene (C%14#H%10#)
+      69.5   3.1514   0.1146   2.5213  0.14677   3.2831     0.00
+         1 10.000000  0.056550
+         6 14.000793  0.943450
+----------------------------------------------------------------------------
+ 111 B-100  5  -1.0000000000      0.52740 1.4500E+00 1.4500E+00 S  6  1  0 B
+     b-100_Bone-equivalent_plastic
+b-100 Bone-equivalent plastic
+      85.9   3.4528   0.1252   3.0420  0.05268   3.7365     0.00
+         1  1.000000  0.065471
+         6  0.688251  0.536945
+         7  0.023631  0.021500
+         8  0.030873  0.032085
+         9  0.135660  0.167411
+        20  0.067833  0.176589
+----------------------------------------------------------------------------
+ 112 Bakel  5  -1.0000000000      0.52792 1.2500E+00 1.2500E+00 S  3 38  0 P
+     bakelite
+bakelite [(C%43#H%38#O%7#)%n#]
+      72.4   3.2582   0.1471   2.6055  0.12713   3.3470     0.00
+         1 38.000000  0.057441
+         6 43.003166  0.774591
+         8  7.000340  0.167968
+----------------------------------------------------------------------------
+ 113 Ba-F2  5  -1.0000000000      0.42207 4.8900E+00 4.8930E+00 S  2  2  3 I
+     barium_fluoride
+barium fluoride (BaF%2#)
+     375.9   5.4122  -0.0098   3.3871  0.15991   2.8867     0.00
+         9  2.000000  0.216720
+        56  1.000021  0.783280
+Melting point (C)                1368.
+Boiling point (C)                2260.
+Index of ref                     1.4744       CRC2006 10-246
+----------------------------------------------------------------------------
+ 114 Ba-SO  5  -1.0000000000      0.44561 4.5000E+00 4.5000E+00 S  3  4  0 I
+     barium_sulfate
+barium sulfate BaSO%4#
+     285.7   4.8923  -0.0128   3.4069  0.11747   3.0427     0.00
+         8  4.000000  0.274212
+        16  0.999811  0.137368
+        56  1.000020  0.588420
+----------------------------------------------------------------------------
+ 115 Benze  5  -1.0000000000      0.53769 8.7865E-01 8.7865E-01 L  2  6  0 O
+     benzene
+benzene C%6#H%6#
+      63.4   3.3269   0.1710   2.5091  0.16519   3.2174     0.00
+         1  6.000000  0.077418
+         6  6.000406  0.922582
+----------------------------------------------------------------------------
+ 116 Be-O   5  -1.0000000000      0.47979 3.0100E+00 3.0100E+00 S  2  1  0 I
+     beryllium_oxide_BeO
+beryllium oxide (BeO)
+      93.2   2.9801   0.0241   2.5846  0.10755   3.4927     0.00
+         4  1.000000  0.360320
+         8  1.000002  0.639680
+----------------------------------------------------------------------------
+ 117 BGO    5  -1.0000000000      0.42065 7.1300E+00 7.1300E+00 S  3 12  3 I
+     bismuth_germanate_BGO
+bismuth germanate (BGO) [(Bi%2#O%3#)%2#(GeO%2#)%3#]
+     534.1   5.7409   0.0456   3.7816  0.09569   3.0781     0.00
+         8 12.000000  0.154126
+        32  2.999188  0.174820
+        83  4.000009  0.671054
+Melting point                   1044.                 CRC2006
+Index of refraction            2.15
+Note: Evalite structure; less common is Bi{12}GeO{20}
+----------------------------------------------------------------------------
+ 118 Blood  5  -1.0000000000      0.54995 1.0600E+00 1.0600E+00 L 14  1  0 B
+     blood_ICRP
+blood (ICRP)
+      75.2   3.4581   0.2239   2.8017  0.08492   3.5406     0.00
+         1  1.000000  0.101866
+         6  0.082399  0.100020
+         7  0.020939  0.029640
+         8  0.469656  0.759414
+        11  0.000796  0.001850
+        12  0.000016  0.000040
+        14  0.000011  0.000030
+        15  0.000112  0.000350
+        16  0.000571  0.001850
+        17  0.000776  0.002780
+        19  0.000413  0.001630
+        20  0.000015  0.000060
+        26  0.000082  0.000460
+        30  0.000002  0.000010
+----------------------------------------------------------------------------
+ 119 Bonec  5  -1.0000000000      0.53010 1.8500E+00 1.8500E+00 S  8  1  0 B
+     compact_bone_ICRU
+compact bone (ICRU)
+      91.9   3.3390   0.0944   3.0201  0.05822   3.6419     0.00
+         1  1.000000  0.063984
+         6  0.364619  0.278000
+         7  0.030366  0.027000
+         8  0.403702  0.410016
+        12  0.001296  0.002000
+        15  0.035601  0.070000
+        16  0.000983  0.002000
+        20  0.057780  0.147000
+----------------------------------------------------------------------------
+ 120 Bonec  5  -1.0000000000      0.52130 1.8500E+00 1.8500E+00 S  9  1  0 B
+     cortical_bone_ICRP
+cortical bone (ICRP)
+     106.4   3.6488   0.1161   3.0919  0.06198   3.5919     0.00
+         1  1.000000  0.047234
+         6  0.256430  0.144330
+         7  0.063972  0.041990
+         8  0.594983  0.446096
+        12  0.001932  0.002200
+        15  0.072319  0.104970
+        16  0.002096  0.003150
+        20  0.111776  0.209930
+        30  0.000033  0.000100
+----------------------------------------------------------------------------
+ 121 B4-C   5  -1.0000000000      0.47059 2.5200E+00 2.5200E+00 S  2  4  0 I
+     boron_carbide
+boron carbide (B%4#C)
+      84.7   2.9859   0.0093   2.1006  0.37087   2.8076     0.00
+         5  4.000000  0.782610
+         6  1.000119  0.217390
+----------------------------------------------------------------------------
+ 122 B2-O3  5  -1.0000000000      0.49839 1.8120E+00 1.8120E+00 S  2  2  0 I
+     boron_oxide
+boron oxide (B%2#O%3#)
+      99.6   3.6027   0.1843   2.7379  0.11548   3.3832     0.00
+         5  2.000000  0.310551
+         8  3.000277  0.689449
+----------------------------------------------------------------------------
+ 123 Brain  5  -1.0000000000      0.55423 1.0300E+00 1.0300E+00 S 13  1  0 B
+     brain_ICRP
+brain (ICRP)
+      73.3   3.4279   0.2206   2.8021  0.08255   3.5585     0.00
+         1  1.000000  0.110667
+         6  0.095108  0.125420
+         7  0.008635  0.013280
+         8  0.419958  0.737723
+        11  0.000729  0.001840
+        12  0.000056  0.000150
+        15  0.001041  0.003540
+        16  0.000503  0.001770
+        17  0.000606  0.002360
+        19  0.000722  0.003100
+        20  0.000020  0.000090
+        26  0.000008  0.000050
+        30  0.000001  0.000010
+----------------------------------------------------------------------------
+ 124 Butan  5  -1.0000000000      0.59497 2.4934E-03 2.4890E-03 G  2 10  2 O
+     butane
+butane (C%4#H%10#)
+      48.3   8.5633   1.3788   3.7524  0.10852   3.4884     0.00
+         1 10.000000  0.173408
+         6  4.000262  0.826592
+Boiling point                -0.5
+Melting point                -138.2
+----------------------------------------------------------------------------
+ 125 Butyl  5  -1.0000000000      0.56663 8.0980E-01 8.0980E-01 L  3 10  0 O
+     n-butyl_alcohol
+n-butyl alcohol (C%4#H%9#OH)
+      59.9   3.2425   0.1937   2.6439  0.10081   3.5139     0.00
+         1 10.000000  0.135978
+         6  4.000252  0.648171
+         8  1.000038  0.215851
+----------------------------------------------------------------------------
+ 126 C-552  5  -1.0000000000      0.49969 1.7600E+00 1.7600E+00 S  5  1  0 B
+     C-552_air-equivalent_plastic
+C-552 air-equivalent plastic
+      86.8   3.3338   0.1510   2.7083  0.10492   3.4344     0.00
+         1  1.000000  0.024680
+         6  1.705640  0.501610
+         8  0.011556  0.004527
+         9  1.000047  0.465209
+        14  0.005777  0.003973
+----------------------------------------------------------------------------
+ 127 Cd-Te  5  -1.0000000000      0.41665 6.2000E+00 6.2000E+00 S  2  1  0 I
+     cadmium_telluride_CdTe
+cadmium telluride (CdTe)
+     539.3   5.9096   0.0438   3.2836  0.24840   2.6665     0.00
+        48  1.000000  0.468355
+        52  1.000011  0.531645
+----------------------------------------------------------------------------
+ 128 Cd-W-  5  -1.0000000000      0.42747 7.9000E+00 7.9000E+00 S  3  4  0 I
+     cadmium_tungstate
+cadmium tungstate (CdWO%4#)
+     468.3   5.3594   0.0123   3.5941  0.12861   2.9150     0.00
+         8  4.000000  0.177644
+        48  0.999992  0.312027
+        74  1.000054  0.510329
+----------------------------------------------------------------------------
+ 129 Ca-C-  5  -1.0000000000      0.49955 2.8000E+00 2.8000E+00 S  3  1  0 I
+     calcium_carbonate
+calcium carbonate (CaCO%3#)
+     136.4   3.7738   0.0492   3.0549  0.08301   3.4120     0.00
+         6  1.000000  0.120003
+         8  2.999923  0.479554
+        20  1.000025  0.400443
+----------------------------------------------------------------------------
+ 130 Ca-F2  5  -1.0000000000      0.49670 3.1800E+00 3.1800E+00 S  2  2  1 I
+     calcium_fluoride
+calcium fluoride (CaF%2#)
+     166.0   4.0653   0.0676   3.1683  0.06942   3.5263     0.00
+         9  2.000000  0.486659
+        20  1.000051  0.513341
+Index of ref               1.434
+----------------------------------------------------------------------------
+ 131 Ca-O   5  -1.0000000000      0.49929 3.3000E+00 3.3000E+00 S  2  1  0 I
+     calcium_oxide_CaO
+calcium oxide (CaO)
+     176.1   4.1209  -0.0172   3.0171  0.12128   3.1936     0.00
+         8  1.000000  0.285299
+        20  1.000050  0.714701
+----------------------------------------------------------------------------
+ 132 Ca-S-  5  -1.0000000000      0.49950 2.9600E+00 2.9600E+00 S  3  4  0 I
+     calcium_sulfate
+calcium sulfate (CaSO%4#)
+     152.3   3.9388   0.0587   3.1229  0.07708   3.4495     0.00
+         8  4.000000  0.470095
+        16  0.999813  0.235497
+        20  1.000050  0.294408
+----------------------------------------------------------------------------
+ 133 Ca-W-  5  -1.0000000000      0.43761 6.0620E+00 6.0620E+00 S  3  4  0 I
+     calcium_tungstate
+calcium tungstate (CaWO%4#)
+     395.0   5.2603   0.0323   3.8932  0.06210   3.2649     0.00
+         8  4.000000  0.222270
+        20  1.000051  0.139202
+        74  1.000054  0.638529
+----------------------------------------------------------------------------
+ 134 C-O2   5  -1.0000000000      0.49989 1.8421E-03 1.8421E-03 G  2  2  2 I
+     carbon_dioxide_gas
+carbon dioxide gas (CO%2#)
+      85.0  10.1537   1.6294   4.1825  0.11768   3.3227     0.00
+         6  2.000000  0.272916
+         8  3.999910  0.727084
+Index of ref (n-1)*E6           449.0         http://www.kayelaby.npl.co.uk/
+Sublimation point             -78.4            194.7 K
+----------------------------------------------------------------------------
+ 135 C-Cl4  5  -1.0000000000      0.49107 1.5940E+00 1.5940E+00 L  2  1  0 O
+     carbon_tetrachloride
+carbon tetrachloride (CCl%4#)
+     166.3   4.7712   0.1773   2.9165  0.19018   3.0116     0.00
+         6  1.000000  0.078083
+        17  3.999948  0.921917
+----------------------------------------------------------------------------
+ 136 Cello  5  -1.0000000000      0.53040 1.4200E+00 1.4200E+00 S  3 10  0 P
+     cellulose
+cellulose [(C%6#H%10#O%5#)%n#]
+      77.6   3.2647   0.1580   2.6778  0.11151   3.3810     0.00
+         1 10.000000  0.062162
+         6  6.000342  0.444462
+         8  5.000161  0.493376
+----------------------------------------------------------------------------
+ 137 Cella  5  -1.0000000000      0.53279 1.2000E+00 1.2000E+00 S  3 22  0 P
+     cellulose_acetate_butyrate
+cellulose acetate butyrate [(C%15#H%22#O%8#)%n#]
+      74.6   3.3497   0.1794   2.6809  0.11444   3.3738     0.00
+         1 22.000000  0.067125
+         6 15.001071  0.545403
+         8  8.000363  0.387472
+----------------------------------------------------------------------------
+ 138 Celln  5  -1.0000000000      0.51424 1.4900E+00 1.4900E+00 S  4  7  0 P
+     cellulose_nitrate
+cellulose nitrate [(C%12#H%14#O%4#(ONO%2#)%6#)%n#]
+      87.0   3.4762   0.1897   2.7253  0.11813   3.3237     0.00
+         1  7.000000  0.029216
+         6  5.454903  0.271296
+         7  2.090979  0.121276
+         8  8.727611  0.578212
+----------------------------------------------------------------------------
+ 139 Cersu  5  -1.0000000000      0.55279 1.0300E+00 1.0300E+00 L  5  1  0 B
+     ceric_sulfate_dosimeter_solution
+ceric sulfate dosimeter solution
+      76.7   3.5212   0.2363   2.8769  0.07666   3.5607     0.00
+         1  1.000000  0.107596
+         7  0.000535  0.000800
+         8  0.512308  0.874976
+        16  0.004273  0.014627
+        58  0.000134  0.002001
+----------------------------------------------------------------------------
+ 140 Cs-F   5  -1.0000000000      0.42132 4.1150E+00 4.1150E+00 S  2  1  0 I
+     cesium_fluoride_CsF
+cesium fluoride (CsF)
+     440.7   5.9046   0.0084   3.3374  0.22052   2.7280     0.00
+         9  1.000000  0.125069
+        55  0.999996  0.874931
+----------------------------------------------------------------------------
+ 141 Cs-I   5  -1.0000000000      0.41569 4.5100E+00 4.5100E+00 S  2  1  3 I
+     cesium_iodide_CsI
+cesium iodide (CsI)
+     553.1   6.2807   0.0395   3.3353  0.25381   2.6657     0.00
+        53  1.000000  0.488451
+        55  1.000001  0.511549
+melti                           621.            Caesium iodide
+boili                           1280.           Caesium iodide
+Index                       1.7873            CRC2006 10-147
+----------------------------------------------------------------------------
+ 142 Chlor  5  -1.0000000000      0.51529 1.1058E+00 1.1058E+00 L  3  5  0 O
+     chlorobenzene
+chlorobenzene C%6#H%5#Cl
+      89.1   3.8201   0.1714   2.9272  0.09856   3.3797     0.00
+         1  5.000000  0.044772
+         6  6.000428  0.640254
+        17  1.000054  0.314974
+----------------------------------------------------------------------------
+ 143 Chlor  5  -1.0000000000      0.48585 1.4832E+00 1.4832E+00 L  3  1  0 O
+     chloroform
+chloroform (CHCl%3#)
+     156.0   4.7055   0.1786   2.9581  0.16959   3.0627     0.00
+         1  1.000000  0.008443
+         6  1.000054  0.100613
+        17  3.000123  0.890944
+----------------------------------------------------------------------------
+ 144 Concr  5  -1.0000000000      0.50274 2.3000E+00 2.3000E+00 S 10  1  2 M
+     shielding_concrete
+shielding concrete
+     135.2   3.9464   0.1301   3.0466  0.07515   3.5467     0.00
+         1  1.000000  0.010000
+         6  0.008392  0.001000
+         8  3.333301  0.529107
+        11  0.070149  0.016000
+        12  0.008294  0.002000
+        13  0.126534  0.033872
+        14  1.209510  0.337021
+        19  0.033514  0.013000
+        20  0.110658  0.044000
+        26  0.025268  0.014000
+Note: Standard shielding blocks, typical composition O%2# 0.52, Si 0.325, Ca 0.06, Na 0.015, Fe 0.02, Al 0.04
+      plus reinforcing iron bars, from CERN-LRL-RHEL Shielding exp., UCRA-17841.
+----------------------------------------------------------------------------
+ 145 Cyclo  5  -1.0000000000      0.57034 7.7900E-01 7.7900E-01 L  2 12  0 O
+     cyclohexane
+cyclohexane (C%6#H%12#)
+      56.4   3.1544   0.1728   2.5549  0.12035   3.4278     0.00
+         1 12.000000  0.143711
+         6  6.000369  0.856289
+----------------------------------------------------------------------------
+ 146 Dichl  5  -1.0000000000      0.50339 1.3048E+00 1.3048E+00 L  3  4  0 O
+     12-dichlorobenzene
+1,2-dichlorobenzene (C%6#H%4#Cl%2#)
+     106.5   4.0348   0.1587   2.8276  0.16010   3.0836     0.00
+         1  4.000000  0.027425
+         6  6.000428  0.490233
+        17  2.000110  0.482342
+----------------------------------------------------------------------------
+ 147 Dichl  5  -1.0000000000      0.51744 1.2199E+00 1.2199E+00 L  4  8  0 O
+     dichlorodiethyl_ether
+dichlorodiethyl ether C%4#Cl%2#H%8#O
+     103.3   4.0135   0.1773   3.1586  0.06799   3.5250     0.00
+         1  8.000000  0.056381
+         6  4.000257  0.335942
+         8  1.000040  0.111874
+        17  2.000096  0.495802
+----------------------------------------------------------------------------
+ 148 Dichl  5  -1.0000000000      0.50526 1.2351E+00 1.2351E+00 L  3  4  0 O
+     12-dichloroethane
+1,2-dichloroethane C%2#H%4#C%12#
+     111.9   4.1849   0.1375   2.9529  0.13383   3.1675     0.00
+         1  4.000000  0.040740
+         6  2.000126  0.242746
+        17  2.000090  0.716515
+----------------------------------------------------------------------------
+ 149 Dieth  5  -1.0000000000      0.56663 7.1378E-01 7.1378E-01 L  3 10  0 O
+     diethyl_ether
+diethyl ether [(CH%3#CH%2#)%2#O]
+      60.0   3.3721   0.2231   2.6745  0.10550   3.4586     0.00
+         1 10.000000  0.135978
+         6  4.000252  0.648171
+         8  1.000038  0.215851
+----------------------------------------------------------------------------
+ 150 Dimet  5  -1.0000000000      0.54724 9.4870E-01 9.4870E-01 S  4  7  0 O
+     mn-dimethyl_formamide
+mn-dimethyl formamide (C%3#H%6#NOH)
+      66.6   3.3311   0.1977   2.6686  0.11470   3.3710     0.00
+         1  7.000000  0.096523
+         6  3.000196  0.492965
+         7  1.000039  0.191625
+         8  1.000042  0.218887
+----------------------------------------------------------------------------
+ 151 Dimet  5  -1.0000000000      0.53757 1.1014E+00 1.1014E+00 S  4  6  0 O
+     dimethyl_sulfoxide
+dimethyl sulfoxide (CH%3#)%2#SO
+      98.6   3.9844   0.2021   3.1263  0.06619   3.5708     0.00
+         1  6.000000  0.077403
+         6  2.000130  0.307467
+         8  1.000037  0.204782
+        16  0.999852  0.410348
+----------------------------------------------------------------------------
+ 152 Ethan  5  -1.0000000000      0.59861 1.2532E-03 1.2630E-03 G  2  6  4 O
+     ethane
+ethane (C%2#H%6#)
+      45.4   9.1043   1.5107   3.8743  0.09627   3.6095     0.00
+         1  6.000000  0.201115
+         6  2.000126  0.798885
+Boiling point            -88.6
+Triple point             -89.88
+Melting point            -182.79
+Note: Density of liquid at - 88.6 C is 0.5645
+----------------------------------------------------------------------------
+ 153 Ethan  5  -1.0000000000      0.56437 7.8930E-01 7.8930E-01 L  3  6  3 O
+     ethanol
+ethanol (C%2#H%5#OH)
+      62.9   3.3699   0.2218   2.7052  0.09878   3.4834     0.00
+         1  6.000000  0.131269
+         6  2.000130  0.521438
+         8  1.000040  0.347294
+Index of refraction           1.36
+Melting point                 -114.14
+Boiling point                 78.29
+----------------------------------------------------------------------------
+ 154 Ethyl  5  -1.0000000000      0.54405 1.1300E+00 1.1300E+00 S  3 22  0 P
+     ethyl_cellulose
+ethyl cellulose ([C%12#H%22#O5)%n#]
+      69.3   3.2415   0.1683   2.6527  0.11077   3.4098     0.00
+         1 22.000000  0.090027
+         6 12.000718  0.585182
+         8  5.000172  0.324791
+----------------------------------------------------------------------------
+ 155 Ethyl  5  -1.0000000000      0.57034 1.1750E-03 1.1750E-03 G  2  4  0 O
+     ethylene
+ethylene (C%2#H%4#)
+      50.7   9.4380   1.5528   3.9327  0.10636   3.5387     0.00
+         1  4.000000  0.143711
+         6  2.000123  0.856289
+----------------------------------------------------------------------------
+ 156 Eye-l  5  -1.0000000000      0.54977 1.1000E+00 1.1000E+00 S  4  1  0 B
+     eye_lens_ICRP
+eye lens (ICRP)
+      73.3   3.3720   0.2070   2.7446  0.09690   3.4550     0.00
+         1  1.000000  0.099269
+         6  0.163759  0.193710
+         7  0.038616  0.053270
+         8  0.414887  0.653751
+----------------------------------------------------------------------------
+ 157 Fe2-O  5  -1.0000000000      0.47592 5.2000E+00 5.2000E+00 S  2  3  0 I
+     ferric_oxide
+ferric oxide (Fe%2#O%3#)
+     227.3   4.2245  -0.0074   3.2573  0.10478   3.1313     0.00
+         8  3.000000  0.300567
+        26  2.000071  0.699433
+----------------------------------------------------------------------------
+ 158 Fe-B   5  -1.0000000000      0.46507 7.1500E+00 7.1500E+00 S  2  1  0 I
+     ferroboride_FeB
+ferroboride (FeB)
+     261.0   4.2057  -0.0988   3.1749  0.12911   3.0240     0.00
+         5  1.000000  0.162174
+        26  1.000125  0.837826
+----------------------------------------------------------------------------
+ 159 Fe-O   5  -1.0000000000      0.47323 5.7000E+00 5.7000E+00 S  2  1  0 I
+     ferrous_oxide_FeO
+ferrous oxide (FeO)
+     248.6   4.3175  -0.0279   3.2002  0.12959   3.0168     0.00
+         8  1.000000  0.222689
+        26  1.000036  0.777311
+----------------------------------------------------------------------------
+ 160 Fe-su  5  -1.0000000000      0.55329 1.0240E+00 1.0240E+00 L  7  1  0 B
+     ferrous_sulfate_dosimeter_solution
+ferrous sulfate dosimeter solution
+      76.4   3.5183   0.2378   2.8254  0.08759   3.4923     0.00
+         1  1.000000  0.108259
+         7  0.000018  0.000027
+         8  0.511300  0.878636
+        11  0.000009  0.000022
+        16  0.003765  0.012968
+        17  0.000009  0.000034
+        26  0.000009  0.000054
+----------------------------------------------------------------------------
+ 161 Freon  5  -1.0000000000      0.47969 1.1200E+00 1.1200E+00 G  3  1  0 O
+     Freon-12
+Freon-12 (CF%2#Cl%2#)
+     143.0   4.8251   0.3035   3.2659  0.07978   3.4626     0.00
+         6  1.000000  0.099335
+         9  1.999954  0.314247
+        17  1.999972  0.586418
+----------------------------------------------------------------------------
+ 162 Freon  5  -1.0000000000      0.44901 1.8000E+00 1.8000E+00 G  3  1  0 O
+     Freon-12B2
+Freon-12B2 (CF%2#Br%2#)
+     284.9   5.7976   0.3406   3.7956  0.05144   3.5565     0.00
+         6  1.000000  0.057245
+         9  1.999966  0.181096
+        35  1.999967  0.761659
+----------------------------------------------------------------------------
+ 163 Freon  5  -1.0000000000      0.47966 9.5000E-01 9.5000E-01 G  3  1  0 O
+     Freon-13
+Freon-13 (CF%3#Cl)
+     126.6   4.7483   0.3659   3.2337  0.07238   3.5551     0.00
+         6  1.000000  0.114983
+         9  2.999918  0.545622
+        17  0.999982  0.339396
+----------------------------------------------------------------------------
+ 164 Freon  5  -1.0000000000      0.45665 1.5000E+00 1.5000E+00 G  3  1  0 O
+     Freon-13b1
+Freon-13b1 (CF%3#Br)
+     210.5   5.3555   0.3522   3.7554  0.03925   3.7194     0.00
+         6  1.000000  0.080659
+         9  2.999939  0.382749
+        35  0.999980  0.536592
+----------------------------------------------------------------------------
+ 165 Freon  5  -1.0000000000      0.43997 1.8000E+00 1.8000E+00 G  3  1  0 O
+     Freon-13i1
+Freon-13i1 (CF%3#I)
+     293.5   5.8774   0.2847   3.7280  0.09112   3.1658     0.00
+         6  1.000000  0.061309
+         9  2.999898  0.290924
+        53  0.999968  0.647767
+----------------------------------------------------------------------------
+ 166 Gd2-O  5  -1.0000000000      0.42266 7.4400E+00 7.4400E+00 S  3  2  0 I
+     gadolinium_oxysulfide
+gadolinium oxysulfide (Gd%2#O%2#S)
+     493.3   5.5347  -0.1774   3.4045  0.22161   2.6300     0.00
+         8  2.000000  0.084528
+        16  0.999817  0.084690
+        64  1.999998  0.830782
+----------------------------------------------------------------------------
+ 167 Ga-As  5  -1.0000000000      0.44247 5.3100E+00 5.3100E+00 S  2  1  0 I
+     gallium_arsenide_GaAs
+gallium arsenide (GaAs)
+     384.9   5.3299   0.1764   3.6420  0.07152   3.3356     0.00
+        31  1.000000  0.482019
+        33  1.000043  0.517981
+----------------------------------------------------------------------------
+ 168 Photo  5  -1.0000000000      0.53973 1.2914E+00 1.2914E+00 S  5  1  0 M
+     gel_in_photographic_emulsion
+gel in photographic emulsion
+      74.8   3.2687   0.1709   2.7058  0.10102   3.4418     0.00
+         1  1.000000  0.081180
+         6  0.430104  0.416060
+         7  0.098607  0.111240
+         8  0.295390  0.380640
+        16  0.004213  0.010880
+----------------------------------------------------------------------------
+ 169 Pyrex  5  -1.0000000000      0.49707 2.2300E+00 2.2300E+00 S  6  1  0 M
+     borosilicate_glass_Pyrex_Corning_7740
+borosilicate glass (Pyrex Corning 7740)
+     134.0   3.9708   0.1479   2.9933  0.08270   3.5224     0.00
+         5  1.000000  0.040061
+         8  9.100880  0.539564
+        11  0.330918  0.028191
+        13  0.116461  0.011644
+        14  3.624571  0.377220
+        19  0.022922  0.003321
+----------------------------------------------------------------------------
+ 170 Lead   5  -1.0000000000      0.42101 6.2200E+00 6.2200E+00 S  5  1  0 M
+     lead_glass
+lead glass
+     526.4   5.8476   0.0614   3.8146  0.09544   3.0740     0.00
+         8  1.000000  0.156453
+        14  0.294445  0.080866
+        22  0.017288  0.008092
+        33  0.003618  0.002651
+        82  0.371118  0.751938
+----------------------------------------------------------------------------
+ 171 Glass  5  -1.0000000000      0.49731 2.4000E+00 2.4000E+00 S  4  1  0 M
+     plate_glass
+plate glass
+     145.4   4.0602   0.1237   3.0649  0.07678   3.5381     0.00
+         8  1.000000  0.459800
+        11  0.145969  0.096441
+        14  0.416971  0.336553
+        20  0.093077  0.107205
+----------------------------------------------------------------------------
+ 172 Gluco  5  -1.0000000000      0.53499 1.5400E+00 1.5400E+00 S  3 14  0 O
+     glucose_dextrose_monohydrate
+glucose (dextrose monohydrate) (C%6#H%12#O%6#.H%2#O))
+      77.2   3.1649   0.1411   2.6700  0.10783   3.3946     0.00
+         1 14.000000  0.071204
+         6  6.000342  0.363652
+         8  7.000253  0.565144
+----------------------------------------------------------------------------
+ 173 Gluta  5  -1.0000000000      0.53371 1.4600E+00 1.4600E+00 S  4 10  0 O
+     glutamine
+glutamine (C%5#H%10#N%2#O%3#)
+      73.3   3.1167   0.1347   2.6301  0.11931   3.3254     0.00
+         1 10.000000  0.068965
+         6  5.000360  0.410926
+         7  2.000082  0.191681
+         8  3.000137  0.328427
+----------------------------------------------------------------------------
+ 174 Glyce  5  -1.0000000000      0.54292 1.2613E+00 1.2613E+00 L  3  8  0 O
+     glycerol
+glycerol (C%3#H%5#(OH)%3#)
+      72.6   3.2267   0.1653   2.6862  0.10168   3.4481     0.00
+         1  8.000000  0.087554
+         6  3.000185  0.391262
+         8  3.000108  0.521185
+----------------------------------------------------------------------------
+ 175 Guani  5  -1.0000000000      0.51612 1.5800E+00 1.5800E+00 S  4  5  0 O
+     guanine
+guanine (C%5#H%5#N%5#O)
+      75.0   3.1171   0.1163   2.4296  0.20530   3.0186     0.00
+         1  5.000000  0.033346
+         6  5.000329  0.397380
+         7  5.000189  0.463407
+         8  1.000041  0.105867
+----------------------------------------------------------------------------
+ 176 Gypsu  5  -1.0000000000      0.51113 2.3200E+00 2.3200E+00 S  4  4  0 I
+     gypsum_plaster_of_Paris
+gypsum (plaster of Paris, CaSO%4#$\cdot$H%2#O)
+     129.7   3.8382   0.0995   3.1206  0.06949   3.5134     0.00
+         1  4.000000  0.023416
+         8  6.000387  0.557572
+        16  0.999889  0.186215
+        20  1.000123  0.232797
+----------------------------------------------------------------------------
+ 177 Hepta  5  -1.0000000000      0.57992 6.8376E-01 6.8376E-01 L  2 16  0 O
+     n-heptane
+n-heptane (C%7#H%16#)
+      54.4   3.1978   0.1928   2.5706  0.11255   3.4885     0.00
+         1 16.000000  0.160937
+         6  7.000435  0.839063
+----------------------------------------------------------------------------
+ 178 Hexan  5  -1.0000000000      0.59020 6.6030E-01 6.6030E-01 L  2 14  0 O
+     n-hexane
+n-hexane C%6#H%14#
+      54.0   3.2156   0.1984   2.5757  0.11085   3.5027     0.00
+         1 14.000000  0.163741
+         6  6.000366  0.836259
+----------------------------------------------------------------------------
+ 179 Kapto  5  -1.0000000000      0.51264 1.4200E+00 1.4200E+00 S  4 10  0 P
+     polyimide_film
+polyimide film [(C%22#H%10#N%2#O%5#)%n#]
+      79.6   3.3497   0.1509   2.5631  0.15972   3.1921     0.00
+         1 10.000000  0.026362
+         6 22.001366  0.691133
+         7  2.000071  0.073270
+         8  5.000195  0.209235
+----------------------------------------------------------------------------
+ 180 La-O-  5  -1.0000000000      0.42599 6.2800E+00 6.2800E+00 S  3  1  0 I
+     lanthanum_oxybromide_LaOBr
+lanthanum oxybromide (LaOBr)
+     439.7   5.4666  -0.0350   3.3288  0.17830   2.8457     0.00
+         8  1.000000  0.068138
+        35  1.000000  0.340294
+        57  0.999999  0.591568
+----------------------------------------------------------------------------
+ 181 La2-O  5  -1.0000000000      0.42706 5.8600E+00 5.8600E+00 S  3  2  0 I
+     lanthanum_oxysulfide
+lanthanum oxysulfide La%2#O%2#S
+     421.2   5.4470  -0.0906   3.2664  0.21501   2.7298     0.00
+         8  2.000000  0.093600
+        16  0.999802  0.093778
+        57  1.999986  0.812622
+----------------------------------------------------------------------------
+ 182 Pb-O   5  -1.0000000000      0.40323 9.5300E+00 9.5300E+00 S  2  1  0 I
+     lead_oxide_PbO
+lead oxide (PbO)
+     766.7   6.2162   0.0356   3.5456  0.19645   2.7299     0.00
+         8  1.000000  0.071682
+        82  1.000001  0.928318
+----------------------------------------------------------------------------
+ 183 Li-N-  5  -1.0000000000      0.52257 1.1780E+00 1.1780E+00 S  3  2  0 I
+     lithium_amide
+lithium amide (LiNH%2#)
+      55.5   2.7961   0.0198   2.5152  0.08740   3.7534     0.00
+         1  2.000000  0.087783
+         3  1.000036  0.302262
+         7  1.000035  0.609955
+----------------------------------------------------------------------------
+ 184 LI2-C  5  -1.0000000000      0.49720 2.1100E+00 2.1100E+00 S  3  2  0 I
+     lithium_carbonate
+lithium carbonate (Li%2#C-O%3#)
+      87.9   3.2029   0.0551   2.6598  0.09936   3.5417     0.00
+         3  2.000000  0.187871
+         6  1.000025  0.162550
+         8  2.999995  0.649579
+----------------------------------------------------------------------------
+ 185 Li-F   5  -1.0000000000      0.46262 2.6350E+00 2.6350E+00 S  2  1  3 I
+     lithium_fluoride_LiF
+lithium fluoride (LiF)
+      94.0   3.1667   0.0171   2.7049  0.07593   3.7478     0.00
+         3  1.000000  0.267585
+         9  1.000001  0.732415
+melti                           848.2           Lithium flouride
+boili                           1673.           Lithium flouride
+Index of ref                1.392               old RPP value
+----------------------------------------------------------------------------
+ 186 Li-H   5  -1.0000000000      0.50321 8.2000E-01 8.2000E-01 S  2  1  1 I
+     lithium_hydride_LiH
+lithium hydride (LiH)
+      36.5   2.3580  -0.0988   1.4515  0.90567   2.5849     0.00
+         1  1.000000  0.126797
+         3  1.000043  0.873203
+Melting point                692
+----------------------------------------------------------------------------
+ 187 Li-I   5  -1.0000000000      0.41939 3.4940E+00 3.4940E+00 S  2  1  0 I
+     lithium_iodide_LiI
+lithium iodide (LiI)
+     485.1   6.2671   0.0892   3.3702  0.23274   2.7146     0.00
+         3  1.000000  0.051858
+        53  1.000006  0.948142
+----------------------------------------------------------------------------
+ 188 Li2-O  5  -1.0000000000      0.46952 2.0130E+00 2.0130E+00 S  2  2  0 I
+     lithium_oxide
+lithium oxide Li%2#O
+      73.6   2.9340  -0.0511   2.5874  0.08035   3.7878     0.00
+         3  2.000000  0.464570
+         8  1.000000  0.535430
+----------------------------------------------------------------------------
+ 189 Li2-B  5  -1.0000000000      0.48487 2.4400E+00 2.4400E+00 S  3  2  0 I
+     lithium_tetraborate
+lithium tetraborate Li%2#B%4#O%7#
+      94.6   3.2093   0.0737   2.6502  0.11075   3.4389     0.00
+         3  2.000000  0.082085
+         5  3.999624  0.255680
+         8  6.999978  0.662235
+----------------------------------------------------------------------------
+ 190 Lung   5  -1.0000000000      0.54965 1.0500E+00 1.0500E+00 S 13  1  0 B
+     lung_ICRP
+lung (ICRP)
+      75.3   3.4708   0.2261   2.8001  0.08588   3.5353     0.00
+         1  1.000000  0.101278
+         6  0.084775  0.102310
+         7  0.020357  0.028650
+         8  0.470926  0.757072
+        11  0.000797  0.001840
+        12  0.000299  0.000730
+        15  0.000257  0.000800
+        16  0.000698  0.002250
+        17  0.000747  0.002660
+        19  0.000494  0.001940
+        20  0.000022  0.000090
+        26  0.000066  0.000370
+        30  0.000002  0.000010
+----------------------------------------------------------------------------
+ 191 M3-wa  5  -1.0000000000      0.55512 1.0500E+00 1.0500E+00 S  5  1  0 B
+     M3_WAX
+M3 WAX
+      67.9   3.2540   0.1523   2.7529  0.07864   3.6412     0.00
+         1  1.000000  0.114318
+         6  0.481436  0.655823
+         8  0.050800  0.092183
+        12  0.048898  0.134792
+        20  0.000634  0.002883
+----------------------------------------------------------------------------
+ 192 Mg-C-  5  -1.0000000000      0.49814 2.9580E+00 2.9580E+00 S  3  1  0 I
+     magnesium_carbonate
+magnesium carbonate MgCO%3#
+     118.0   3.4319   0.0860   2.7997  0.09219   3.5003     0.00
+         6  1.000000  0.142455
+         8  2.999932  0.569278
+        12  0.999977  0.288267
+----------------------------------------------------------------------------
+ 193 Mg-F2  5  -1.0000000000      0.48153 3.0000E+00 3.0000E+00 S  2  2  0 I
+     magnesium_fluoride
+magnesium fluoride MgF%2#
+     134.3   3.7105   0.1369   2.8630  0.07934   3.6485     0.00
+         9  2.000000  0.609883
+        12  1.000000  0.390117
+----------------------------------------------------------------------------
+ 194 Mg-O   5  -1.0000000000      0.49622 3.5800E+00 3.5800E+00 S  2  1  0 I
+     magnesium_oxide_MgO
+magnesium oxide MgO
+     143.8   3.6404   0.0575   2.8580  0.08313   3.5968     0.00
+         8  1.000000  0.396964
+        12  1.000000  0.603036
+----------------------------------------------------------------------------
+ 195 Mg-B4  5  -1.0000000000      0.49014 2.5300E+00 2.5300E+00 S  3  4  0 I
+     magnesium_tetraborate
+magnesium tetraborate MgB%4#O%7#
+     108.3   3.4328   0.1147   2.7635  0.09703   3.4893     0.00
+         5  4.000000  0.240837
+         8  7.000634  0.623790
+        12  1.000090  0.135373
+----------------------------------------------------------------------------
+ 196 Hg-I2  5  -1.0000000000      0.40933 6.3600E+00 6.3600E+00 S  2  2  0 I
+     mercuric_iodide
+mercuric iodide HgI%2#
+     684.5   6.3787   0.1040   3.4728  0.21513   2.7264     0.00
+        53  2.000000  0.558560
+        80  0.999999  0.441440
+----------------------------------------------------------------------------
+ 197 Metha  5  -1.0000000000      0.62334 6.6715E-04 6.6715E-04 G  2  4  3 O
+     methane
+methane (CH%4#)
+      41.7   9.5243   1.6263   3.9716  0.09253   3.6257     0.00
+         1  4.000000  0.251306
+         6  1.000064  0.748694
+Boiling point                  -161.48
+Melting point                    -182.47
+Index of ref (n-1)*E6           444.0         http://www.kayelaby.npl.co.uk/
+----------------------------------------------------------------------------
+ 198 Metha  5  -1.0000000000      0.56176 7.9140E-01 7.9140E-01 L  3  4  0 O
+     methanol
+methanol (CH%3#OH)
+      67.6   3.5160   0.2529   2.7639  0.08970   3.5477     0.00
+         1  4.000000  0.125822
+         6  1.000068  0.374852
+         8  1.000043  0.499326
+----------------------------------------------------------------------------
+ 199 mix-D  5  -1.0000000000      0.56479 9.9000E-01 9.9000E-01 S  5  1  0 B
+     mix_D_wax
+mix D wax
+      60.9   3.0780   0.1371   2.7145  0.07490   3.6823     0.00
+         1  1.000000  0.134040
+         6  0.487068  0.777960
+         8  0.016459  0.035020
+        12  0.011941  0.038594
+        22  0.002260  0.014386
+----------------------------------------------------------------------------
+ 200 MS20   5  -1.0000000000      0.53886 1.0000E+00 1.0000E+00 S  6  1  0 B
+     ms20_tissue_substitute
+ms20 tissue substitute
+      75.1   3.5341   0.1997   2.8033  0.08294   3.6061     0.00
+         1  1.000000  0.081192
+         6  0.603046  0.583442
+         7  0.015774  0.017798
+         8  0.144617  0.186381
+        12  0.066547  0.130287
+        17  0.000315  0.000900
+----------------------------------------------------------------------------
+ 201 Skelm  5  -1.0000000000      0.54938 1.0400E+00 1.0400E+00 S 13  1  0 B
+     skeletal_muscle_ICRP
+skeletal muscle (ICRP)
+      75.3   3.4809   0.2282   2.7999  0.08636   3.5330     0.00
+         1  1.000000  0.100637
+         6  0.089918  0.107830
+         7  0.019793  0.027680
+         8  0.472487  0.754773
+        11  0.000327  0.000750
+        12  0.000078  0.000190
+        15  0.000582  0.001800
+        16  0.000753  0.002410
+        17  0.000223  0.000790
+        19  0.000774  0.003020
+        20  0.000007  0.000030
+        26  0.000007  0.000040
+        30  0.000008  0.000050
+----------------------------------------------------------------------------
+ 202 Strim  5  -1.0000000000      0.55005 1.0400E+00 1.0400E+00 S  9  1  0 B
+     striated_muscle_ICRU
+striated muscle (ICRU)
+      74.7   3.4636   0.2249   2.8032  0.08507   3.5383     0.00
+         1  1.000000  0.101997
+         6  0.101201  0.123000
+         7  0.024693  0.035000
+         8  0.450270  0.729003
+        11  0.000344  0.000800
+        12  0.000081  0.000200
+        15  0.000638  0.002000
+        16  0.001541  0.005000
+        19  0.001264  0.005000
+----------------------------------------------------------------------------
+ 203 Eqvmu  5  -1.0000000000      0.54828 1.1100E+00 1.1100E+00 L  4  1  0 B
+     muscle-equivalent_liquid_with_sucrose
+muscle-equivalent liquid with sucrose
+      74.3   3.3910   0.2098   2.7550  0.09481   3.4699     0.00
+         1  1.000000  0.098234
+         6  0.133452  0.156214
+         7  0.025970  0.035451
+         8  0.455395  0.710100
+----------------------------------------------------------------------------
+ 204 Eqvmu  5  -1.0000000000      0.55014 1.0700E+00 1.0700E+00 L  4  1  0 B
+     muscle-equivalent_liquid_without_sucrose
+muscle-equivalent liquid without sucrose
+      74.2   3.4216   0.2187   2.7680  0.09143   3.4982     0.00
+         1  1.000000  0.101969
+         6  0.098807  0.120058
+         7  0.025018  0.035451
+         8  0.458746  0.742522
+----------------------------------------------------------------------------
+ 205 Napht  5  -1.0000000000      0.53053 1.1450E+00 1.1450E+00 S  2  8  0 O
+     naphtalene
+naphtalene (C%10#H%8#)
+      68.4   3.2274   0.1374   2.5429  0.14766   3.2654     0.00
+         1  8.000000  0.062909
+         6 10.000584  0.937091
+----------------------------------------------------------------------------
+ 206 Nitro  5  -1.0000000000      0.51986 1.1987E+00 1.1987E+00 L  4  5  0 O
+     nitrobenzene
+nitrobenzene (C%6#H%5#NO%2#)
+      75.8   3.4073   0.1777   2.6630  0.12727   3.3091     0.00
+         1  5.000000  0.040935
+         6  6.000329  0.585374
+         7  1.000028  0.113773
+         8  2.000058  0.259918
+----------------------------------------------------------------------------
+ 207 N2-O   5  -1.0000000000      0.49985 1.8309E-03 1.8309E-03 G  2  2  0 I
+     nitrous_oxide
+nitrous oxide (N%2#O)
+      84.9  10.1575   1.6477   4.1565  0.11992   3.3318     0.00
+         7  2.000000  0.636483
+         8  1.000003  0.363517
+----------------------------------------------------------------------------
+ 208 Elvam  5  -1.0000000000      0.55063 1.0800E+00 1.0800E+00 S  4  1  0 P
+     Nylon_du_Pont_Elvamide_8062M
+Nylon du Pont Elvamide 8062M
+      64.3   3.1250   0.1503   2.6004  0.11513   3.4044     0.00
+         1  1.000000  0.103509
+         6  0.525704  0.648415
+         7  0.069199  0.099536
+         8  0.090405  0.148539
+----------------------------------------------------------------------------
+ 209 Nylon  5  -1.0000000000      0.54790 1.1400E+00 1.1800E+00 S  4 11  0 P
+     Nylon_type_6_6-6
+Nylon (type 6, 6/6) [(CH(CH%2#)%5#NO)%n#]
+      63.9   3.0634   0.1336   2.5834  0.11818   3.3826     0.00
+         1 11.000000  0.097976
+         6  6.000405  0.636856
+         7  1.000040  0.123779
+         8  1.000045  0.141389
+----------------------------------------------------------------------------
+ 210 Nylon  5  -1.0000000000      0.55236 1.1400E+00 1.1400E+00 S  4 15  0 P
+     Nylon_type_6-10
+Nylon type 6/10 [(CH(CH%2#)%7#NO)%n#]
+      63.2   3.0333   0.1304   2.5681  0.11852   3.3912     0.00
+         1 15.000000  0.107062
+         6  8.000514  0.680449
+         7  1.000039  0.099189
+         8  1.000039  0.113300
+----------------------------------------------------------------------------
+ 211 Rilsa  5  -1.0000000000      0.55649 1.4250E+00 1.4250E+00 S  4 21  0 P
+     Nylon_type_11_Rilsan
+Nylon type 11 Rilsan ([C%11#H%21#ON)%n#], [(CH(CH%2#)%10#NO)%n#])
+      61.6   2.7514   0.0678   2.4281  0.14868   3.2576     0.00
+         1 21.000000  0.115476
+         6 11.000696  0.720819
+         7  1.000035  0.076417
+         8  1.000042  0.087289
+----------------------------------------------------------------------------
+ 212 Octan  5  -1.0000000000      0.57778 7.0260E-01 7.0260E-01 L  2 18  2 O
+     octane
+octane (C%8#H%18#)
+      54.7   3.1834   0.1882   2.5664  0.11387   3.4776     0.00
+         1 18.000000  0.158821
+         6  8.000541  0.841179
+Boiling point                 125.6
+Melting point                -58.7
+----------------------------------------------------------------------------
+ 213 Paraf  5  -1.0000000000      0.57275 9.3000E-01 9.3000E-01 S  2 52  0 O
+     paraffin
+paraffin (CH%3#(CH%2#)%n\approx23#CH%3#)
+      55.9   2.9551   0.1289   2.5084  0.12087   3.4288     0.00
+         1 52.000000  0.148605
+         6 25.001575  0.851395
+----------------------------------------------------------------------------
+ 214 Penta  5  -1.0000000000      0.58212 6.2620E-01 6.2620E-01 L  2 12  1 O
+     n-pentane
+n-pentane (C%5#H%12#)
+      53.6   3.2504   0.2086   2.5855  0.10809   3.5265     0.00
+         1 12.000000  0.167635
+         6  5.000308  0.832365
+Index of ref (n-1)*E6          1711.0         http://www.kayelaby.npl.co.uk/
+----------------------------------------------------------------------------
+ 215 Photo  5  -1.0000000000      0.45453 3.8150E+00 3.8150E+00 S  8  1  0 M
+     photographic_emulsion
+photographic emulsion
+     331.0   5.3319   0.1009   3.4866  0.12399   3.0094     0.00
+         1  1.000000  0.014100
+         6  0.430082  0.072261
+         7  0.098602  0.019320
+         8  0.295338  0.066101
+        16  0.004213  0.001890
+        35  0.312321  0.349103
+        47  0.314193  0.474105
+        53  0.001757  0.003120
+----------------------------------------------------------------------------
+ 216 Plast  5  -1.0000000000      0.54141 1.0320E+00 1.0320E+00 S  2 10  1 P
+     polyvinyltoluene
+polyvinyltoluene [(2-CH%3#C%6#H%4#CHCH%2#)%n#]
+      64.7   3.1997   0.1464   2.4855  0.16101   3.2393     0.00
+         1 10.000000  0.085000
+         6  9.033760  0.915000
+Index of refraction           1.58
+----------------------------------------------------------------------------
+ 217 Pu-O2  5  -1.0000000000      0.40583 1.1460E+01 1.1460E+01 S  2  2  0 I
+     plutonium_dioxide
+plutonium dioxide (PuO%2#)
+     746.5   5.9719  -0.2311   3.5554  0.20594   2.6522     0.00
+         8  2.000000  0.118055
+        94  0.979460  0.881945
+----------------------------------------------------------------------------
+ 218 Pacry  5  -1.0000000000      0.52767 1.1700E+00 1.1700E+00 S  3  3  0 P
+     polyacrylonitrile
+polyacrylonitrile [(C%3#H%3#N)%n#]
+      69.6   3.2459   0.1504   2.5159  0.16275   3.1975     0.00
+         1  3.000000  0.056983
+         6  3.000184  0.679056
+         7  1.000034  0.263962
+----------------------------------------------------------------------------
+ 219 Lexan  5  -1.0000000000      0.52697 1.2000E+00 1.2000E+00 S  3 14  0 P
+     polycarbonate_Lexan
+polycarbonate (Lexan, [OC%6#H%4#C(CH%3#)%2#C%6#H%4#OCO)%n#])
+      73.1   3.3201   0.1606   2.6225  0.12860   3.3288     0.00
+         1 14.000000  0.055491
+         6 16.001127  0.755751
+         8  3.000142  0.188758
+----------------------------------------------------------------------------
+ 220 Pchlo  5  -1.0000000000      0.52518 1.3000E+00 1.3000E+00 S  3 18  0 P
+     polychlorostyrene
+polychlorostyrene [(C%17#H%18#C%l2#)%n#]
+      81.7   3.4659   0.1238   2.9241  0.07530   3.5441     0.00
+         1 18.000000  0.061869
+         6 17.001129  0.696325
+        17  2.000101  0.241806
+----------------------------------------------------------------------------
+ 221 Polye  5  -1.0000000000      0.57034 9.4000E-01 8.9000E-01 S  2  2  0 P
+     polyethylene
+polyethylene [(CH%2#CH%2#)%n#]
+      57.4   3.0016   0.1370   2.5177  0.12108   3.4292     0.00
+         1  2.000000  0.143711
+         6  1.000062  0.856289
+----------------------------------------------------------------------------
+ 222 Poly   5  -1.0000000000      0.52037 1.4000E+00 1.4000E+00 S  3  4  0 P
+     polyethylene_terephthalate_Mylar
+polyethylene terephthalate (Mylar) [(C%10#H%8#O%4#)%n#]
+      78.7   3.3262   0.1562   2.6507  0.12679   3.3076     0.00
+         1  4.000000  0.041959
+         6  5.000266  0.625017
+         8  2.000059  0.333025
+----------------------------------------------------------------------------
+ 223 Acryl  5  -1.0000000000      0.53937 1.1900E+00 1.1900E+00 S  3  8  1 P
+     polymethylmethacrylate_acrylic
+polymethylmethacrylate (acrylic, [(CH%2#C(CH%3#)(COOCH%3#))%n#]
+      74.0   3.3297   0.1824   2.6681  0.11433   3.3836     0.00
+         1  8.000000  0.080538
+         6  5.000308  0.599848
+         8  2.000073  0.319614
+Index of refraction        1.49
+----------------------------------------------------------------------------
+ 224 Polyo  5  -1.0000000000      0.53287 1.4250E+00 1.4250E+00 S  3  2  0 P
+     polyoxymethylene
+polyoxymethylene [(CH%2#O)%n#]
+      77.4   3.2514   0.1584   2.6838  0.10808   3.4002     0.00
+         1  2.000000  0.067135
+         6  1.000059  0.400017
+         8  1.000035  0.532848
+----------------------------------------------------------------------------
+ 225 Polyp  5  -1.0000000000      0.55998 9.4000E-01 9.0500E-01 S  2  3  2 P
+     polypropylene
+polypropylene [(CH(CH%3#)CH%2#)%n#]
+      57.4   3.0016   0.1370   2.5177  0.12108   3.4292     0.00
+         1  2.000000  0.143711
+         6  1.000062  0.856289
+Note: Chem formula wrong in Sternheimer. <i>I</i> and density effect constants
+      for polyethylene, scaled with density, were used for these calculations.
+----------------------------------------------------------------------------
+ 226 Polys  5  -1.0000000000      0.53768 1.0600E+00 1.0600E+00 S  2  8  1 P
+     polystyrene
+polystyrene [(C%6#H%5#CHCH%2#)%n#]
+      68.7   3.2999   0.1647   2.5031  0.16454   3.2224     0.00
+         1  8.000000  0.077418
+         6  8.000541  0.922582
+Index of ref               1.59
+----------------------------------------------------------------------------
+ 227 Teflo  5  -1.0000000000      0.47992 2.2000E+00 2.2000E+00 S  2  1  0 P
+     polytetrafluoroethylene_Teflon
+polytetrafluoroethylene (Teflon, [(CF%2#CF%2#)%n#])
+      99.1   3.4161   0.1648   2.7404  0.10606   3.4046     0.00
+         6  1.000000  0.240183
+         9  1.999945  0.759817
+----------------------------------------------------------------------------
+ 228 KEL-F  5  -1.0000000000      0.48081 2.1000E+00 2.1000E+00 S  3  2  0 P
+     polytrifluorochloroethylene
+polytrifluorochloroethylene [(C%2#F%3#Cl)%n#]
+     120.7   3.8551   0.1714   3.0265  0.07727   3.5085     0.00
+         6  2.000000  0.206250
+         9  2.999925  0.489354
+        17  0.999983  0.304395
+----------------------------------------------------------------------------
+ 229 Pviny  5  -1.0000000000      0.53432 1.1900E+00 1.1900E+00 S  3  6  0 P
+     polyvinylacetate
+polyvinylacetate [(CH%2#CHOCOCH%3#)%n#]
+      73.7   3.3309   0.1769   2.6747  0.11442   3.3762     0.00
+         1  6.000000  0.070245
+         6  4.000256  0.558066
+         8  2.000076  0.371689
+----------------------------------------------------------------------------
+ 230 Pviny  5  -1.0000000000      0.54480 1.3000E+00 1.3000E+00 S  3  4  0 P
+     polyvinyl_alcohol
+polyvinyl alcohol [(C%2#H3-O-H)%n#]
+      69.7   3.1115   0.1401   2.6315  0.11178   3.3893     0.00
+         1  4.000000  0.091517
+         6  2.000131  0.545298
+         8  1.000039  0.363185
+----------------------------------------------------------------------------
+ 231 Pviny  5  -1.0000000000      0.54537 1.1200E+00 1.1200E+00 S  3 13  0 P
+     polyvinyl_butyral
+polyvinyl butyral [(C%8#H%13#0%2#)%n#]
+      67.2   3.1865   0.1555   2.6186  0.11544   3.3983     0.00
+         1 13.000000  0.092802
+         6  8.000543  0.680561
+         8  2.000082  0.226637
+----------------------------------------------------------------------------
+ 232 PVC    5  -1.0000000000      0.51201 1.3000E+00 1.3000E+00 S  3  3  0 P
+     polyvinylchloride_PVC
+polyvinylchloride (PVC) [(CH%2#CHCl)%n#]
+     108.2   4.0532   0.1559   2.9415  0.12438   3.2104     0.00
+         1  3.000000  0.048380
+         6  2.000138  0.384360
+        17  1.000053  0.567260
+----------------------------------------------------------------------------
+ 233 Saran  5  -1.0000000000      0.49513 1.7000E+00 1.7000E+00 S  3  2  0 P
+     polyvinylidene_chloride_Saran
+polyvinylidene chloride (Saran) [(C%2#H%2#Cl%2#)%n#]
+     134.3   4.2506   0.1314   2.9009  0.15466   3.1020     0.00
+         1  2.000000  0.020793
+         6  2.000176  0.247793
+        17  2.000142  0.731413
+----------------------------------------------------------------------------
+ 234 Pvnyd  5  -1.0000000000      0.49973 1.7600E+00 1.7600E+00 S  3  2  0 P
+     polyvinylidene_fluoride
+polyvinylidene fluoride [(CH%2#CHF%2#)%n#]
+      88.8   3.3793   0.1717   2.7375  0.10316   3.4200     0.00
+         1  2.000000  0.031480
+         6  2.000121  0.375141
+         9  2.000069  0.593379
+----------------------------------------------------------------------------
+ 235 Pvnyl  5  -1.0000000000      0.53984 1.2500E+00 1.2500E+00 S  4  9  0 P
+     polyvinyl_pyrrolidone
+polyvinyl pyrrolidone [(C%6#H%9#NO)%n#]
+      67.7   3.1017   0.1324   2.5867  0.12504   3.3326     0.00
+         1  9.000000  0.081616
+         6  6.000414  0.648407
+         7  1.000042  0.126024
+         8  1.000044  0.143953
+----------------------------------------------------------------------------
+ 236 K-I    5  -1.0000000000      0.43373 3.1300E+00 3.1300E+00 S  2  1  0 I
+     potassium_iodide_KI
+potassium iodide (KI)
+     431.9   6.1088   0.1044   3.3442  0.22053   2.7558     0.00
+        19  1.000000  0.235528
+        53  1.000000  0.764472
+----------------------------------------------------------------------------
+ 237 K2-O   5  -1.0000000000      0.48834 2.3200E+00 2.3200E+00 S  2  1  0 I
+     potassium_oxide
+potassium oxide (K%2#O)
+     189.9   4.6463   0.0480   3.0110  0.16789   3.0121     0.00
+         8  1.000000  0.169852
+        19  2.000003  0.830148
+----------------------------------------------------------------------------
+ 238 Propa  5  -1.0000000000      0.58962 1.8794E-03 1.8680E-03 G  2  8  2 O
+     propane
+propane (C%3#H%8#)
+      47.1   8.7878   1.4326   3.7998  0.09916   3.5920     0.00
+         1  8.000000  0.182855
+         6  3.000189  0.817145
+Boiling point                -42.1
+Melting point                -187.63
+----------------------------------------------------------------------------
+ 239 Propa  5  -1.0000000000      0.58962 4.3000E-01 4.9300E-01 L  2  8  2 O
+     liquid_propane
+liquid propane (C%3#H%8#)
+      52.0   3.5529   0.2861   2.6568  0.10329   3.5620     0.00
+         1  8.000000  0.182855
+         6  3.000189  0.817145
+Boiling point                -42.1
+Melting point                -187.63
+----------------------------------------------------------------------------
+ 240 n-pro  5  -1.0000000000      0.56577 8.0350E-01 8.0350E-01 L  3  8  0 O
+     n-propyl_alcohol
+n-propyl alcohol (C%3#H%7#OH)
+      61.1   3.2915   0.2046   2.6681  0.09644   3.5415     0.00
+         1  8.000000  0.134173
+         6  3.000193  0.599595
+         8  1.000037  0.266232
+----------------------------------------------------------------------------
+ 241 Pyrid  5  -1.0000000000      0.53096 9.8190E-01 9.8190E-01 L  3  5  0 O
+     pyridine
+pyridine (C%5#H%5#N)
+      66.2   3.3148   0.1670   2.5245  0.16399   3.1977     0.00
+         1  5.000000  0.063710
+         6  5.000285  0.759217
+         7  1.000028  0.177073
+----------------------------------------------------------------------------
+ 242 Rubbe  5  -1.0000000000      0.57034 9.2000E-01 9.2000E-01 S  2  8  0 O
+     rubber_butyl
+rubber butyl ([C%4#H8)%n#]
+      56.5   2.9915   0.1347   2.5154  0.12108   3.4296     0.00
+         1  8.000000  0.143711
+         6  4.000246  0.856289
+----------------------------------------------------------------------------
+ 243 Rubbe  5  -1.0000000000      0.55785 9.2000E-01 9.2000E-01 S  2  8  0 O
+     rubber_natural
+rubber natural [(C%5#H8)%n#]
+      59.8   3.1272   0.1512   2.4815  0.15058   3.2879     0.00
+         1  8.000000  0.118371
+         6  5.000309  0.881629
+----------------------------------------------------------------------------
+ 244 Rubbe  5  -1.0000000000      0.51956 1.2300E+00 1.2300E+00 S  3  5  0 O
+     rubber_neoprene
+rubber neoprene [(C%4#H%5#Cl)%n#]
+      93.0   3.7911   0.1501   2.9461  0.09763   3.3632     0.00
+         1  5.000000  0.056920
+         6  4.000259  0.542646
+        17  1.000049  0.400434
+----------------------------------------------------------------------------
+ 245 Si-O2  5  -1.0000000000      0.49930 2.3200E+00 2.2000E+00 S  2  2  3 I
+     silicon_dioxide_fused_quartz
+silicon dioxide (fused quartz) (SiO%2#)
+     139.2   4.0029   0.1385   3.0025  0.08408   3.5064     0.00
+         8  2.000000  0.532565
+        14  1.000000  0.467435
+Melting point                   1713.
+Boiling point                   2950.
+Index of refraction             1.458
+----------------------------------------------------------------------------
+ 246 Ag-Br  5  -1.0000000000      0.43670 6.4730E+00 6.4730E+00 S  2  1  0 I
+     silver_bromide_AgBr
+silver bromide (AgBr)
+     486.6   5.6139   0.0352   3.2109  0.24582   2.6820     0.00
+        35  1.000000  0.425537
+        47  1.000000  0.574463
+----------------------------------------------------------------------------
+ 247 Ag-Cl  5  -1.0000000000      0.44655 5.5600E+00 5.5600E+00 S  2  1  0 I
+     silver_chloride_AgCl
+silver chloride (AgCl)
+     398.4   5.3437  -0.0139   3.2022  0.22968   2.7041     0.00
+        17  1.000000  0.247368
+        47  0.999989  0.752632
+----------------------------------------------------------------------------
+ 248 Ag-ha  5  -1.0000000000      0.43663 6.4700E+00 6.4700E+00 S  3  1  0 M
+     ag_halides_in_phot_emulsion
+ag halides in phot emulsion
+     487.1   5.6166   0.0353   3.2117  0.24593   2.6814     0.00
+        35  1.000000  0.422895
+        47  1.004995  0.573748
+        53  0.004998  0.003357
+----------------------------------------------------------------------------
+ 249 Ag-I   5  -1.0000000000      0.42594 6.0100E+00 6.0100E+00 S  2  1  0 I
+     silver_iodide_AgI
+silver iodide (AgI)
+     543.5   5.9342   0.0148   3.2908  0.25059   2.6572     0.00
+        47  1.000000  0.459458
+        53  1.000000  0.540542
+----------------------------------------------------------------------------
+ 250 Skin   5  -1.0000000000      0.54932 1.1000E+00 1.1000E+00 S 13  1  0 B
+     skin_ICRP
+skin (ICRP)
+      72.7   3.3546   0.2019   2.7526  0.09459   3.4643     0.00
+         1  1.000000  0.100588
+         6  0.190428  0.228250
+         7  0.033209  0.046420
+         8  0.387683  0.619002
+        11  0.000031  0.000070
+        12  0.000025  0.000060
+        15  0.000107  0.000330
+        16  0.000497  0.001590
+        17  0.000755  0.002670
+        19  0.000218  0.000850
+        20  0.000038  0.000150
+        26  0.000002  0.000010
+        30  0.000002  0.000010
+----------------------------------------------------------------------------
+ 251 Na2-C  5  -1.0000000000      0.49062 2.5320E+00 2.5320E+00 S  3  1  0 I
+     sodium_carbonate
+sodium carbonate (Na%2#CO%3#)
+     125.0   3.7178   0.1287   2.8591  0.08715   3.5638     0.00
+         6  1.000000  0.113323
+         8  2.999933  0.452861
+        11  1.999955  0.433815
+----------------------------------------------------------------------------
+ 252 Na-I   5  -1.0000000000      0.42697 3.6670E+00 3.6670E+00 S  2  1  3 I
+     sodium_iodide_NaI
+sodium iodide (NaI)
+     452.0   6.0572   0.1203   3.5920  0.12516   3.0398     0.00
+        11  1.000000  0.153373
+        53  1.000002  0.846627
+Melting point               660.
+Boiling point              1304.
+Index of ref                1.775
+----------------------------------------------------------------------------
+ 253 Na2-O  5  -1.0000000000      0.48404 2.2700E+00 2.2700E+00 S  2  1  0 I
+     sodium_monoxide
+sodium monoxide (Na%2#O)
+     148.8   4.1892   0.1652   2.9793  0.07501   3.6943     0.00
+         8  1.000000  0.258143
+        11  1.999995  0.741857
+----------------------------------------------------------------------------
+ 254 Na-N-  5  -1.0000000000      0.49415 2.2610E+00 2.2610E+00 S  3  1  0 I
+     sodium_nitrate
+sodium nitrate (NaNO%3#)
+     114.6   3.6502   0.1534   2.8221  0.09391   3.5097     0.00
+         7  1.000000  0.164795
+         8  3.000009  0.564720
+        11  1.000004  0.270485
+----------------------------------------------------------------------------
+ 255 Stilb  5  -1.0000000000      0.53260 9.7070E-01 9.7070E-01 S  2 12  0 O
+     stilbene
+stilbene (C%6#H%5#)CHCH(C%6#H%5#)
+      67.7   3.3680   0.1734   2.5142  0.16659   3.2168     0.00
+         1 12.000000  0.067101
+         6 14.000813  0.932899
+----------------------------------------------------------------------------
+ 256 Sucro  5  -1.0000000000      0.53170 1.5805E+00 1.5805E+00 S  3 22  0 O
+     sucrose
+sucrose (C%12#H%22#O%11#)
+      77.5   3.1526   0.1341   2.6558  0.11301   3.3630     0.00
+         1 22.000000  0.064779
+         6 12.000771  0.421070
+         8 11.000442  0.514151
+----------------------------------------------------------------------------
+ 257 Terph  5  -1.0000000000      0.52148 1.2340E+00 1.2340E+00 S  2 10  0 O
+     terphenyl
+terphenyl (C%18#H%10#)
+      71.7   3.2639   0.1322   2.5429  0.14964   3.2685     0.00
+         1 10.000000  0.044543
+         6 18.001057  0.955457
+----------------------------------------------------------------------------
+ 258 Teste  5  -1.0000000000      0.55108 1.0400E+00 1.0400E+00 S 13  1  0 B
+     testes_ICRP
+testes (ICRP)
+      75.0   3.4698   0.2274   2.7988  0.08533   3.5428     0.00
+         1  1.000000  0.104166
+         6  0.074336  0.092270
+         7  0.013775  0.019940
+         8  0.468038  0.773884
+        11  0.000951  0.002260
+        12  0.000044  0.000110
+        15  0.000391  0.001250
+        16  0.000441  0.001460
+        17  0.000666  0.002440
+        19  0.000515  0.002080
+        20  0.000024  0.000100
+        26  0.000003  0.000020
+        30  0.000003  0.000020
+----------------------------------------------------------------------------
+ 259 C2-Cl  5  -1.0000000000      0.48241 1.6250E+00 1.6250E+00 L  2  2  0 O
+     tetrachloroethylene
+tetrachloroethylene (C%2#C%l4#)
+     159.2   4.6619   0.1713   2.9083  0.18595   3.0156     0.00
+         6  2.000000  0.144856
+        17  3.999924  0.855144
+----------------------------------------------------------------------------
+ 260 Tl-Cl  5  -1.0000000000      0.40861 7.0040E+00 7.0040E+00 S  2  1  0 I
+     thallium_chloride_TlCl
+thallium chloride (TlCl)
+     690.3   6.3009   0.0705   3.5716  0.18599   2.7690     0.00
+        17  1.000000  0.147822
+        81  0.999999  0.852187
+----------------------------------------------------------------------------
+ 261 Soft   5  -1.0000000000      0.55121 1.0000E+00 1.0000E+00 S 13  1  0 B
+     soft_tissue_ICRP
+soft tissue (ICRP)
+      72.3   3.4354   0.2211   2.7799  0.08926   3.5110     0.00
+         1  1.000000  0.104472
+         6  0.186513  0.232190
+         7  0.017138  0.024880
+         8  0.380046  0.630238
+        11  0.000474  0.001130
+        12  0.000052  0.000130
+        15  0.000414  0.001330
+        16  0.000599  0.001990
+        17  0.000365  0.001340
+        19  0.000491  0.001990
+        20  0.000055  0.000230
+        26  0.000009  0.000050
+        30  0.000004  0.000030
+----------------------------------------------------------------------------
+ 262 Tissu  5  -1.0000000000      0.54975 1.0000E+00 1.0000E+00 S  4  1  0 B
+     soft_tissue_ICRU_four-component
+soft tissue (ICRU four-component)
+      74.9   3.5087   0.2377   2.7908  0.09629   3.4371     0.00
+         1  1.000000  0.101172
+         6  0.092072  0.111000
+         7  0.018493  0.026000
+         8  0.474381  0.761828
+----------------------------------------------------------------------------
+ 263 TE-ga  5  -1.0000000000      0.54993 1.0641E-03 1.0641E-03 G  4  1  0 B
+     tissue-equivalent_gas_Methane_based
+tissue-equivalent gas (Methane based)
+      61.2   9.9500   1.6442   4.1399  0.09946   3.4708     0.00
+         1  1.000000  0.101869
+         6  0.375802  0.456179
+         7  0.024846  0.035172
+         8  0.251564  0.406780
+----------------------------------------------------------------------------
+ 264 TE-ga  5  -1.0000000000      0.55027 1.8263E-03 1.8263E-03 G  4  1  0 B
+     tissue-equivalent_gas_Propane_based
+tissue-equivalent gas (Propane based)
+      59.5   9.3529   1.5139   3.9916  0.09802   3.5159     0.00
+         1  1.000000  0.102672
+         6  0.465030  0.568940
+         7  0.024546  0.035022
+         8  0.180007  0.293366
+----------------------------------------------------------------------------
+ 265 Ti-O2  5  -1.0000000000      0.47572 4.2600E+00 4.2600E+00 S  2  2  0 I
+     titanium_dioxide
+titanium dioxide (TiO%2#)
+     179.5   3.9522  -0.0119   3.1647  0.08569   3.3267     0.00
+         8  2.000000  0.400592
+        22  1.000271  0.599408
+----------------------------------------------------------------------------
+ 266 Tolue  5  -1.0000000000      0.54265 8.6690E-01 8.6690E-01 L  2  8  0 O
+     toluene
+toluene (C%6#H%5#CH%3#)
+      62.5   3.3026   0.1722   2.5728  0.13284   3.3558     0.00
+         1  8.000000  0.087510
+         6  7.000463  0.912490
+----------------------------------------------------------------------------
+ 267 C2-H-  5  -1.0000000000      0.48710 1.4600E+00 1.4600E+00 L  3  1  0 O
+     trichloroethylene
+trichloroethylene (C%2#HCl%3#)
+     148.1   4.6148   0.1803   2.9140  0.18272   3.0137     0.00
+         1  1.000000  0.007671
+         6  2.000158  0.182831
+        17  3.000193  0.809498
+----------------------------------------------------------------------------
+ 268 Triet  5  -1.0000000000      0.53800 1.0700E+00 1.0700E+00 S  4 15  0 O
+     triethyl_phosphate
+triethyl phosphate C%6#H%15#PO%4#
+      81.2   3.6242   0.2054   2.9428  0.06922   3.6302     0.00
+         1 15.000000  0.082998
+         6  6.000356  0.395628
+         8  4.000136  0.351334
+        15  1.000036  0.170040
+----------------------------------------------------------------------------
+ 269 W-F6   5  -1.0000000000      0.42976 2.4000E+00 2.4000E+00 S  2  6  0 I
+     tungsten_hexafluoride
+tungsten hexafluoride (WF%6#)
+     354.4   5.9881   0.3020   4.2602  0.03658   3.5134     0.00
+         9  6.000000  0.382723
+        74  1.000055  0.617277
+----------------------------------------------------------------------------
+ 270 U-C2   5  -1.0000000000      0.39687 1.1280E+01 1.1280E+01 S  2  2  0 I
+     uranium_dicarbide
+uranium dicarbide (UC%2#)
+     752.0   6.0247  -0.2191   3.5208  0.21120   2.6577     0.00
+         6  2.000000  0.091669
+        92  0.999978  0.908331
+----------------------------------------------------------------------------
+ 271 U-C    5  -1.0000000000      0.39194 1.3630E+01 1.3630E+01 S  2  1  0 I
+     uranium_monocarbide_UC
+uranium monocarbide (UC)
+     862.0   6.1210  -0.2524   3.4941  0.22972   2.6169     0.00
+         6  1.000000  0.048036
+        92  0.999982  0.951964
+----------------------------------------------------------------------------
+ 272 U-O2   5  -1.0000000000      0.39996 1.0960E+01 1.0960E+01 S  2  2  0 I
+     uranium_oxide
+uranium oxide (UO%2#)
+     720.6   5.9605  -0.1938   3.5292  0.20463   2.6711     0.00
+         8  2.000000  0.118502
+        92  0.999999  0.881498
+----------------------------------------------------------------------------
+ 273 Urea   5  -1.0000000000      0.53284 1.3230E+00 1.3230E+00 S  4  4  0 O
+     urea
+urea (CO(NH%2#)%2#)
+      72.8   3.2032   0.1603   2.6525  0.11609   3.3461     0.00
+         1  4.000000  0.067131
+         6  1.000072  0.199999
+         7  2.000083  0.466459
+         8  1.000046  0.266411
+----------------------------------------------------------------------------
+ 274 Valin  5  -1.0000000000      0.54632 1.2300E+00 1.2300E+00 S  4 11  0 O
+     valine
+valine (C%5#H%11#NOi%2#)
+      67.7   3.1059   0.1441   2.6227  0.11386   3.3774     0.00
+         1 11.000000  0.094641
+         6  5.000305  0.512645
+         7  1.000035  0.119565
+         8  2.000072  0.273150
+----------------------------------------------------------------------------
+ 275 Viton  5  -1.0000000000      0.48585 1.8000E+00 1.8000E+00 S  3  2  0 P
+     viton_fluoroelastomer
+viton fluoroelastomer [(C%5#H%2#F8)%n#]
+      98.6   3.5943   0.2106   2.7874  0.09965   3.4556     0.00
+         1  2.000000  0.009417
+         6  5.000366  0.280555
+         9  8.000378  0.710028
+----------------------------------------------------------------------------
+ 276 Water  5  -1.0000000000      0.55509 1.0000E+00 1.0000E+00 L  2  2  3 I
+     water_liquid
+water (liquid) (H%2#O)
+      79.7   3.5017   0.2400   2.8004  0.09116   3.4773     0.00
+         1  2.000000  0.111894
+         8  1.000044  0.888106
+Index of refraction         1.333
+Melting point                0.0
+Boiling point               99.964             CRC2006 4-98
+----------------------------------------------------------------------------
+ 277 Water  5  -1.0000000000      0.55509 7.5618E-04 7.5618E-04 G  2  2  0 I
+     water_vapor
+water (vapor) (H%2#O)
+      71.6  10.5962   1.7952   4.3437  0.08101   3.5901     0.00
+         1  2.000000  0.111894
+         8  1.000044  0.888106
+----------------------------------------------------------------------------
+ 278 Xylen  5  -1.0000000000      0.54631 8.7000E-01 8.7000E-01 L  2 10  0 O
+     xylene
+xylene (C%8#H%10#)
+      61.8   3.2698   0.1695   2.5675  0.13216   3.3564     0.00
+         1 10.000000  0.094935
+         6  8.000548  0.905065
+----------------------------------------------------------------------------
+ 279 Heavy  5  -1.0000000000      0.40594 1.9300E+01 1.9300E+01 S  3  1  1 M
+     heavymet_in_ATLAS_calorimeter
+heavymet in ATLAS calorimeter
+     727.0   5.4059   0.2167   3.4960  0.15509   2.8447     0.14
+        28  1.000000  0.035000
+        29  0.395844  0.015000
+        74  8.665723  0.950000
+Note: Tungsten properties except for average Z/A used in calculations
+----------------------------------------------------------------------------
+ 280 Heavy  5  -1.0000000000      0.40915 1.9300E+01 1.9300E+01 S  3  1  1 M
+     heavymet_in_Rochester_gamma_stop
+heavymet as Rochester gamma stop
+     727.0   5.4059   0.2167   3.4960  0.15509   2.8447     0.14
+        28  1.000000  0.060000
+        29  0.615758  0.040000
+        74  4.788952  0.900000
+Note: Tungsten properties except for average Z/A used in calculations
+----------------------------------------------------------------------------
+ 281 Std-R  0  11.0000000000   9  0.50000 2.6500E+00 2.6500E+00 S  2  1  1 M
+     standard_rock
+standard rock
+     136.4   3.7738   0.0492   3.0549  0.08301   3.4120     0.00
+        11  1.000000  1.000000
+        12  0.000000  0.000000
+Note:  <A HREF="../standardrock.html">Explanation of "Standard Rock."
+----------------------------------------------------------------------------
+ 282 Hydro  3   1.0080000000   7  0.99212 6.0000E-02 7.0800E-02 L  1  1  1 E
+H    nonsense           
+    Liquid hydrogen (H%2#)
+      21.8   2.8438   0.2000   2.0000  0.32969   3.0000     0.00
+         1  1.000000  1.000000
+Note: This looks like nonsense.  ind = 85 is correct!
+----------------------------------------------------------------------------
+ 283 Heliu  6   4.0026020000   2  0.49967 1.2490E-01 1.2490E-01 L  1  1  2 E
+He   liquid_helium
+liquid helium (He)
+      41.8   4.5180   0.4729   2.0000  0.65713   3.0000     0.00
+         2  1.000000  1.000000
+Boiling point                   -268.93
+Index of ref                    1.024
+----------------------------------------------------------------------------
+ 284 Nitro  3  14.0070000000   2  0.49976 8.0700E-01 8.0700E-01 L  1  1  4 E
+N   liquid_nitrogen
+liquid nitrogen (N%2#)
+      82.0   3.9996   0.3039   2.0000  0.53289   3.0000     0.00
+         7  1.000000  1.000000
+Melting point                   -210.00
+Boiling point                   -195.86
+Index of ref                    1.19876              CRC2006 4-148
+Note: Index of refraction at boiling point, 1 atm.
+----------------------------------------------------------------------------
+ 285 Oxyge  3  15.9990000000   3  0.50002 1.1410E+00 1.1410E+00 L  1  1  4 E
+O   liquid_oxygen
+liquid oxygen (O%2#)
+      95.0   3.9471   0.2868   2.0000  0.52231   3.0000     0.00
+         8  1.000000  1.000000
+Melting point (C)               -218.79
+Boiling point (C)               -182.95
+Index of ref                    1.2243
+Note: Index of refraction at boiling point, 1 atm.
+----------------------------------------------------------------------------
+ 286 Fluor  9  18.9984031630   6  0.47372 1.5070E+00 1.5070E+00 L  1  1  2 E
+F   liquid_fluorine
+liquid fluorine (F%2#)
+     115.0   4.1050   0.2000   3.0000  0.14504   3.0000     0.00
+         9  1.000000  1.000000
+Melting point                   -219.62
+Boiling point                   -188.12
+----------------------------------------------------------------------------
+ 287 Neon   4  20.1797000000   6  0.49555 1.2040E+00 1.2040E+00 L  1  1  3 E
+Ne   liquid_neon
+liquid neon (Ne)
+     137.0   4.6345   0.2000   3.0000  0.16916   3.0000     0.00
+        10  1.000000  1.000000
+Boiling point                -246.08
+Melting point                -248.59
+Index of ref                  1.092
+----------------------------------------------------------------------------
+ 288 Chlor  3  35.4530000000   2  0.47951 1.5740E+00 1.5740E+00 L  1  1  2 E
+Cl   liquid_chlorine
+liquid chlorine (Cl%2#)
+     174.0   4.8776   0.2000   3.0000  0.18024   3.0000     0.00
+        17  1.000000  1.000000
+Melting point             -101.5
+Boiling point             -34.04
+----------------------------------------------------------------------------
+ 289 Argon  3  39.9480000000   1  0.45059 1.3960E+00 1.3960E+00 L  1  1  3 E
+Ar   liquid_argon
+liquid argon (Ar)
+     188.0   5.2146   0.2000   3.0000  0.19559   3.0000     0.00
+        18  1.000000  1.000000
+Boiling point              -185.85
+Melting point                -189.36
+Index of ref                1.233
+----------------------------------------------------------------------------
+ 290 Bromi  3  79.9040000000   1  0.43803 3.1028E+00 3.1028E+00 L  1  1  2 E
+Br   liquid_bromine
+bromine liquid (Br%2#)
+     357.0   0.0000   0.0000   0.0000  0.0000   0.0000     0.00
+        35  1.000000  1.000000
+melting point              -7.2
+boiling point              58.78
+----------------------------------------------------------------------------
+ 291 Krypt  3  83.7980000000   2  0.42960 2.4180E+00 2.4180E+00 L  1  1  4 E
+Kr   liquid_krypton_Kr
+liquid krypton (Kr)
+     352.0   5.9674   0.4454   3.0000  0.23491   3.0000     0.00
+        36  1.000000  1.000000
+melting point              -157.36
+boiling point              -153.22
+Index refraction          1.3032                 CRC2006 4-148
+Note: Index of refraction at boiling point, 1 atm.
+----------------------------------------------------------------------------
+ 292 Xenon  3 131.2930000000   6  0.41129 2.9530E+00 2.9530E+00 L  1  1  4 E
+Xe   liquid_xenon_Xe
+liquid xenon (Xe)
+     482.0   6.4396   0.5993   3.0000  0.26595   3.0000     0.00
+        54  1.000000  1.000000
+Melting point             -111.75
+Boiling point             -108.0
+Index refraction          1.3918                 CRC2006 4-148
+Note: Index of refraction at boiling point, 1 atm.
+----------------------------------------------------------------------------
+ 293 C-O2   5  -1.0000000000      0.49989 1.5630E+00 1.5630E+00 S  2  2  1 I
+     solid_carbon_dioxide_dry_ice
+solid carbon dioxide (dry ice, CO%2#)
+      85.0   3.4513   0.2000   2.0000  0.43387   3.0000     0.00
+         6  2.000000  0.272916
+         8  4.000010  0.727084
+Note: Sublimation point  194.7 K =  -78.4 C
+----------------------------------------------------------------------------
+ 294 Hydro  5   1.0079400000   7  0.99212 6.0000E-02 6.0000E-02 L  1  1  0 E
+H   bubble_chamber_H_liquid
+Hydrogen BC liquid DEG calc to check code
+      21.8   3.0093   0.2000   2.0000  0.35807   3.0000     0.00
+         1  1.000000  1.000000
+----------------------------------------------------------------------------
+ 295 Water  5  -1.0000000000      0.55509 1.0000E+00 1.0000E+00 L  2  2  0 I
+     water_as_calc_from_steam_to_check_code
+water as calc from steam to check code
+      71.6   3.5017   0.2000   2.0000  0.44251   3.0000     0.00
+         1  2.000000  0.111894
+         8  1.000044  0.888106
+----------------------------------------------------------------------------
+ 296 Aerog  5  -1.0000000000      0.50093 2.0000E-01 2.0000E-01 S  3  2  1 M
+     silica_aerogel
+silica aerogel for rho = 0.2 (0.03 H%2#O, 0.97 SiO%2#)
+     139.2   6.4507   0.6029   3.0000  0.26675   3.0000     0.00
+         8  2.000000  0.543192
+        14  1.000000  0.453451
+         1  2.000000  0.003357
+Note: See A. R. Buzykaev et al, NIM A433 396 (1999)
+----------------------------------------------------------------------------
+ 297 Carbo  4  12.0107000000   8  0.49955 2.2650E+00 3.5200E+00 S  1  1  2 E
+C   carbon_gem_diamond
+carbon (gem diamond)
+      78.0   2.8680  -0.0178   2.3415  0.26142   2.8697     0.12
+         6  1.000000  1.000000
+Note: variety of melting points found, e.g. 4400 C, 3675 C
+Index of ref (n-1)*E6           2.419
+----------------------------------------------------------------------------
+ 298 Deute  9   2.014101764   13  0.49650 1.8000E-04 1.6770E-04 D  1  1  3 E
+D   deuterium_gas
+deuterium gas (D%2#)
+      19.2   9.5835   1.8639   3.2718  0.14092   5.7273     0.00
+         1  1.000000  1.000000
+Boiling point (C)                -249.5       (mass from Phys. Rev. A 47, 3433 - 3436 (1993))
+Triple point                   -254.461       CRC2006
+Index of ref (n-1)*E6           138.0
+----------------------------------------------------------------------------
+ 299 D-liq  9   2.014101764   13  0.49650 1.4320E-01 1.6380E-01 L  1  1  3 E
+D   liquid_deuterium
+liquid deuterium (D%2#)
+      21.8   3.2632   0.4759   1.9215  0.13483   5.6249     0.00
+         1  1.000000  1.000000
+Boiling point                    -249.5
+Triple point                   -254.461       CRC2006
+Index of ref                    1.112
+----------------------------------------------------------------------------
+ 300 Salt   5  -1.0000000000      0.47910 2.1650E+00 2.1700E+00 S  2  2  3 I
+     sodium_chloride_NaCl
+sodium chloride (NaCl)
+     175.3   4.4250   0.2000   3.0000  0.15962   3.0000     0.00
+        11  1.000000  0.393375
+        17  1.000000  0.606626
+Melting point  (C)                 802.018     CRC2008  15-11
+Boiling point  (C)                 1465.
+Index of refraction            1.544
+----------------------------------------------------------------------------
+ 301 PbWO4  5  -1.0000000000      0.41315 8.3900E+00 8.3000E+00 S  3  1  2 I
+     lead_tungstate
+lead tungstate (PbWO%4#)
+     600.7   5.8420   0.4045   3.0000  0.22758   3.0000     0.00
+        82  1.000000  0.455347
+        74  1.000000  0.404011
+         8  4.000000  0.140462
+Melting point               1123.
+Index of refraction         2.20
+----------------------------------------------------------------------------
+ 302 Calif  5 251.0795900000   3  0.39031 1.5100E+00 1.5100E+01 S  1  1  3 R
+Cf   californium_Cf
+californium (Cf)
+     966.0   6.3262   0.5623   3.0000  0.25796   3.0000     0.00
+        98  1.000000  1.000000
+melting                      900.
+Note: Since there is no stable isotope, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+Note: I<SUB><I>eff</I></SUB> = 966 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 303 Einst  4 252.0830000000   4  0.39273 0.0000E+00 1.4000E+01 S  1  1  3 R
+Es   einsteinium_Es
+einsteinium (Es)
+     980.0   6.3488   0.5697   3.0000  0.25952   3.0000     0.00
+        99  1.000000  1.000000
+melting                       860.
+Note: Since there is no stable isotope, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = 980 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 304 Fermi  5 257.0951000000   5  0.38896 0.0000E+00 1.4000E+01 S  1  1  3 R
+Fm   fermium_Fm
+fermium (Fm)
+     994.0   6.3868   0.5821   3.0000  0.26219   3.0000     0.00
+       100  1.000000  1.000000
+Melting:            1527.
+Note: Since there is no stable isotope, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = 994 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 305 Mende  5 258.0984300000   3  0.39132 0.0000E+00 1.4000E+01 S  1  1  3 R
+Md   mendelevium_Md
+mendelevium (Md)
+    1007.0   6.4068   0.5886   3.0000  0.26360   3.0000     0.00
+       101  1.000000  1.000000
+Melting                 827.
+Note: Since there is no stable isotope, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = 1007 eV assumed in calculating critical energies and <I><I>dE/dx</I></I>.
+----------------------------------------------------------------------------
+ 306 Nobel  4 259.1010000000   7  0.39367 0.0000E+00 1.4000E+01 S  1  1  2 R
+No   nobelium_No
+nobelium (No)
+    1020.0   6.4264   0.5950   3.0000  0.26500   3.0000     0.00
+       102  1.000000  1.000000
+Note: Since there is no stable isotope, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = 1020 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 307 Lawre  5 262.1096100000   2  0.39296 0.0000E+00 1.4000E+01 S  1  1  2 R
+Lr   lawrencium_Lr
+lawrencium (Lr)
+    1034.0   6.4555   0.6045   3.0000  0.26710   3.0000     0.00
+       103  1.000000  1.000000
+Note: Since there is no stable isotope, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = Z*10.0 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 308 Ruthe  5 267.1217900000   4  0.38934 0.0000E+00 1.4000E+01 S  1  1  2 R
+Rf   rutherfordium_Rf
+rutherfordium (Rf)
+    1047.0   6.4898   0.6157   3.0000  0.26960   3.0000     0.00
+       104  1.000000  1.000000
+Note: Since there is no stable isotope, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = 1047 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 309 Dubni  5 268.1256700000   4  0.39161 0.0000E+00 1.4000E+01 S  1  1  2 R
+Db   dubnium_Db
+dubnium (Db)
+    1061.0   6.5105   0.6224   3.0000  0.27114   3.0000     0.00
+       105  1.000000  1.000000
+Note: Since there is no stable isotope, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = 1061 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 310 Seabo  5 269.1286300000   5  0.39095 0.0000E+00 1.4000E+01 S  1  1  2 R
+Sg   seaborgium_Sg
+seaborgium (Sg)
+    1074.0   6.5365   0.6309   3.0000  0.27308   3.0000     0.00
+       106  1.000000  1.000000
+Note: Since there is no stable isotope, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = 1074 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 311 Bohri  5 270.1333600000   4  0.39610 0.0000E+00 1.4000E+01 S  1  1  2 R
+Bh   bohrium_Bh
+bohrium (Bh)
+    1087.0   6.5549   0.6369   3.0000  0.27447   3.0000     0.00
+       107  1.000000  1.000000
+Note: Since there is no stable isotope, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = 1087 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 312 Hassi  5 269.1337500000  13  0.40129 0.0000E+00 1.4000E+01 S  1  1  2 R
+Hs   hassium_Hs
+hassium (Hs)
+    1102.0   6.5913   0.6488   3.0000  0.27724   3.0000     0.00
+       108  1.000000  1.000000
+Note: Since there is no stable isotope, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = 1102 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 313 Meitn  4 278.1563000000   7  0.39471 0.0000E+00 1.4000E+01 S  1  1  2 R
+Mt   meitnerium_Mt
+meitnerium (Mt)
+    1115.0   6.6019   0.6522   3.0000  0.27805   3.0000     0.00
+       109  1.000000  1.000000
+Note: Since there is no stable isotope, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = 1115 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 314 Darms  4 281.1645000000   6  0.39123 0.0000E+00 1.4000E+01 S  1  1  2 R
+Ds   darmstadtium_Ds
+darmstadtium (Ds)
+    1129.0   6.6357   0.6632   3.0000  0.28068   3.0000     0.00
+       110  1.000000  1.000000
+Note: Since there is no stable isotope, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = 1129 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 315 Roent  4 282.1691200000   7  0.39620 0.0000E+00 1.4000E+01 S  1  1  2 R
+Rg   roentgenium_Rg
+roentgenium (Rg)
+    1143.0   6.6477   0.6672   3.0000  0.28162   3.0000     0.00
+       111  1.000000  1.000000
+Note: Since there are no stable isotopes, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = 1143 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 316 Coper  5 285.17712        5  0.39274 0.0000E+00 1.4000E+01 S  1  1  2 R
+Cn   copernicium_Cn
+copernicium (Cn)
+    1156.0   6.6791   0.6774   3.0000  0.28410   3.0000     0.00
+       112  1.000000  1.000000
+Note: Since there are no stable isotopes, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = Z*10.0 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 317 nihon  5 286.1822100000   6  0.39764 0.0000E+00 1.4000E+01 S  1  1  1 R
+Nh   nihonium_Nh   
+nihonium (Nh)
+    1171.0   6.6925   0.6818   3.0000  0.28517   3.0000     0.00
+       113  1.000000  1.000000
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = 1171 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 318 flero  5 289.1904200000   5  0.39421 0.0000E+00 1.4000E+01 S  1  1  1 R
+Fl   flerovium_Fl
+flerovium (Fl)
+    1185.0   6.7249   0.6923   3.0000  0.28779   3.0000     0.00
+       114  1.000000  1.000000
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = 1185 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 319 mosco  5 289.1936300000   6  0.39904 0.0000E+00 1.4000E+01 S  1  1  1 R
+Mc   moscovium_Mc  
+moscovium (Mc)  
+    1199.0   6.7363   0.6960   3.0000  0.28871   3.0000     0.00
+       115  1.000000  1.000000
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = 1199 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 320 liver  4 293.2045000000   6  0.39563 0.0000E+00 1.4000E+01 S  1  1  1 R
+Lv   livermorium_Lv
+livermorium (Lv)
+    1213.0   6.7571   0.7028   3.0000  0.29041   3.0000     0.00
+       116  1.000000  1.000000
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = 1213 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 321 tenne  4 294.2105100000   7  0.39796 0.0000E+00 1.4000E+01 S  1  1  1 R
+Ts   tennessine_Ts 
+tennessine (Ts)
+    1227.0   6.7800   0.7103   3.0000  0.29231   3.0000     0.00
+       117  1.000000  1.000000
+Note: Density 14.0 g/cm<SUP>3</SUP> and I<SUB><I>eff</I></SUB> = 1227 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 322 ogane  5 294.2139220000   8  0.40107 1.2000E-02 1.2000E-02 G  1  1  2 R
+Og   oganesson_Og  
+oganesson (Og)   
+    1242.0  13.8662   2.0204  -1.9972 -0.07035   3.0000     0.00
+       118  1.000000  1.000000
+Note: Density is that of an ideal monatomic gas.
+Note: I<SUB><I>eff</I></SUB> = 1242 eV assumed in calculating critical energies and <I>dE/dx</I>.
+----------------------------------------------------------------------------
+ 323 Astat  5 209.9871500000   6  0.40479 0.0000E+00 5.0000E+00 S  1  1  3 R
+At   astatine_At
+astatine (At)
+     825.0   7.0039   0.7833   3.0000  0.31184   3.0000     0.00
+        85  1.000000  1.000000
+Melting :                     302.
+Note: Since there are no stable isotopes, [atomic mass] is that of the longest-lived isotope (8.1 hr).
+Note: Density 5.0 g/cm<SUP>3</SUP> assumed.
+----------------------------------------------------------------------------
+ 324 Franc  5 223.0197400000   2  0.39010 1.8700E+00 1.8700E+00 S  1  1  4 R
+Fr   francium_Fr
+francium (Fr)
+     827.0   8.0292   1.1175   3.0000  0.43214   3.0000     0.00
+        87  1.000000  1.000000
+Melting                     27.
+Boiling                    677.
+Note: Francium is less stable than any other element lighter than nobelium, element 102.
+Note: Since there are no stable isotopes, [atomic mass] is that of the longest-lived isotope known as of Jun 2017.
+----------------------------------------------------------------------------
+ 325 Ice    5  -1.0000000000      0.55509 1.0000E+00 0.9180E+00 L  2  2  3 I
+     water_ice
+water (ice) (H%2#O)
+      79.7   3.5017   0.2400   2.8004  0.09116   3.4773     0.00
+         1  2.000000  0.111894
+         8  1.000044  0.888106
+Index of refraction         1.309
+Melting point                0.0
+Boiling point               99.964             CRC2006 4-98
+----------------------------------------------------------------------------
+ 326 CF4    5  -1.0000000000      0.47721 3.78E-3    3.78E-3    G  2  1  4 O
+     carbon_tetrafluoride
+carbon tetrafluoride (CF%4#)
+     115.0   0.0      0.        .0000  0.         .0000     0.00
+         6  1.000000  0.136548
+         9  4.000000  0.86345
+Melting :                     -183.6
+boiling                       -127.8
+Note: Physical properties such as gas density are not well vetted
+Note: Ieff supplied by Hans Bichsel
+----------------------------------------------------------------------------
+ 327 LaBr3  5  -1.0000000000      0.42787 5.2900e+00 5.2900e+00 S  2  1  1 I
+     lanthanum_bromide
+lanthanum bromide (LaBr%3#)
+     454.5   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        57  1.000000  0.366875
+        35  3.000000  0.633124
+Note: Ieff calculated using the ICRU37 algorithm given in Table 5.1
+----------------------------------------------------------------------------
+ 328 YBr3   5  -1.0000000000      0.43820 5.2900e+00 5.2900e+00 S  2  1  1 I
+     yttrium_bromide
+yttrium bromide (YBr%3#)
+     410.0   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        39  1.000000  0.270545
+        35  3.000000  0.729455
+Note: Ieff calculated using the ICRU37 algorithm given in Table 5.1
+----------------------------------------------------------------------------
+ 329 BSO    5  -1.0000000000      0.42260 9.2000e+00 7.1200e+00 S  3 12  3 I
+     bismuth_silicate_BSO
+bismuth silicate (BSO) [(Bi%2#O%3#)%2#(SiO%2#)%3#]
+     519.2   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+         8 12.000000  0.172629
+        14  3.000000  0.075759
+        83  4.000000  0.751613
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+Note: Evalite structure; less common is Bi{12}SiO{20}
+Note: Check density. Probably wrong
+----------------------------------------------------------------------------
+ 330 PbF2   5  -1.0000000000      0.40784 7.7700e+00 7.7700e+00 S  2  1  1 I
+     lead_fluoride
+lead fluoride (PbF%2#)
+     635.4   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        82  1.000000  0.845035
+         9  2.000000  0.154965
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+----------------------------------------------------------------------------
+ 331 LaF3   5  -1.0000000000      0.42879 5.9000e+00 5.9000e+00 S  2  1  1 I
+     lanthanum_fluoride
+lanthanum fluoride (LaF%3#)
+     336.3   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        57  1.000000  0.709061
+         9  3.000000  0.290939
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+----------------------------------------------------------------------------
+ 332 CeF3   5  -1.0000000000      0.43123 6.1600e+00 6.1600e+00 S  2  1  1 I
+     cerium_fluoride
+cerium fluoride (CeF%3#)
+     348.4   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        58  1.000000  0.710847
+         9  3.000000  0.289153
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+----------------------------------------------------------------------------
+ 333 LuF3   5  -1.0000000000      0.42248 8.3000e+00 8.3000e+00 S  2  1  1 I
+     lutetium_fluoride
+lutetium fluoride (LuF%3#)
+     458.7   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        71  1.000000  0.754291
+         9  3.000000  0.245709
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+----------------------------------------------------------------------------
+ 334 LaCl3  5  -1.0000000000      0.44034 3.8600e+00 3.8600e+00 S  2  1  1 I
+     lanthanum_chloride
+lanthanum chloride (LaCl%3#)
+     329.5   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        57  1.000000  0.566350
+        17  3.000000  0.433650
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+----------------------------------------------------------------------------
+ 335 LuAlO  5  -1.0000000000      0.43209 8.3000e+00 8.3000e+00 S  3  1  1 I
+     lutetium_aluminum_oxide_1
+lutetium aluminum oxide (1) (LuAlO%3#)
+     423.2   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        71  1.000000  0.700017
+        13  1.000000  0.107949
+         8  3.000000  0.192034
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+----------------------------------------------------------------------------
+ 336 LuAlO  5  -1.0000000000      0.43907 6.7300e+00 6.7300e+00 S  3  3  1 I
+     lutetium_aluminum_oxide_2
+lutetium aluminum oxide (2) (Lu%3#Al%5#O%12#)
+     365.9   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        71  3.000000  0.616224
+        13  5.000000  0.158379
+         8 12.000000  0.225396
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+----------------------------------------------------------------------------
+ 337 LuSiO  5  -1.0000000000      0.42793 7.4000e+00 7.4000e+00 S  3  2  1 I
+     lutetium_silicon_oxide
+lutetium silicon oxide (Lu%2#SiO%5#)
+     472.0   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        71  2.000000  0.764020
+        14  1.000000  0.061320
+         8  5.000000  0.174660
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+----------------------------------------------------------------------------
+ 338 YAlO-1 5  -1.0000000000      0.46374 5.5000e+00 5.5000e+00 S  3  1  1 I
+     yttrium_aluminum_oxide_1
+yttrium aluminum oxide (1) (YAlO%3#)
+     239.3   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        39  1.000000  0.542487
+        13  1.000000  0.164636
+         8  3.000000  0.292876
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+----------------------------------------------------------------------------
+ 339 YAlO-2 5  -1.0000000000      0.46831 4.5600e+00 4.5600e+00 S  3  3  1 I
+     yttrium_aluminum_oxide_2
+yttrium aluminum oxide (2) (Y%3#Al%5#O%12#)
+     218.0   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        39  3.000000  0.449308
+        13  5.000000  0.227263
+         8 12.000000  0.323428
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+----------------------------------------------------------------------------
+ 340 YSiO   5  -1.0000000000      0.46171 4.5400e+00 4.5400e+00 S  3  2  1 I
+     yttrium_silicon_oxide
+yttrium silicon oxide (Y%2#SiO%5#)
+     258.1   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        39  2.000000  0.621949
+        14  1.000000  0.098237
+         8  5.000000  0.279813
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+----------------------------------------------------------------------------
+ 341 GdSiO  5  -1.0000000000      0.43069 6.7100e+00 6.7100e+00 S  3  2  1 I
+     gadolinium_silicate
+gadolinium silicate (Gd%2#SiO%5#)
+     405.4   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        64  2.000000  0.744233
+        14  1.000000  0.066462
+         8  5.000000  0.189305
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+----------------------------------------------------------------------------
+ 342 baksa  5  -1.0000000000      0.49228 2.7400e+00 2.7400e+00 S  2  0  1 I
+      baksan_rock
+baksan rock
+     175.6   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        11  0.100000  0.095103
+        12  0.900000  0.904897
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+---------------------------------------------------------------------------
+ 343 bakst  5  -1.0000000000      0.49228 2.7400e+00 2.6500e+00 S  2  0  1 I
+      baksan_rock_st
+baksan rock, std rock density
+     175.6   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        11  0.100000  0.095103
+        12  0.900000  0.904897
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+---------------------------------------------------------------------------
+ 344 MtBla  5  -1.0000000000      0.48003 2.6000e+00 2.6000e+00 S  2  0  1 I
+      MtBlanc_rock
+Mt Blanc rock
+     159.2   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+         6  0.132000  0.073601
+        11  0.868000  0.926399
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+---------------------------------------------------------------------------
+ 345 MtBst  5  -1.0000000000      0.48003 2.6000e+00 2.6500e+00 S  2  0  1 I
+      MtBlanc_rock_sd
+Mt Blanc rock, std rock density
+     159.2   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+         6  0.132000  0.073601
+        11  0.868000  0.926399
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+---------------------------------------------------------------------------
+ 346 KGFst  5  -1.0000000000      0.48605 3.0200e+00 2.6500e+00 S  2  0  1 I
+      KGF_rock_st
+Kolar Gold Fields rock, std rock density
+     183.4   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        12  0.380000  0.355713
+        13  0.620000  0.644287
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+---------------------------------------------------------------------------
+ 347   KGF  5  -1.0000000000      0.48605 3.0200e+00 3.0200e+00 S  2  0  1 I
+      KGF_rock
+Kolar Gold Fields rock
+     183.4   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        12  0.380000  0.355713
+        13  0.620000  0.644287
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+---------------------------------------------------------------------------
+ 348    UD  5  -1.0000000000      0.49602 2.7000e+00 2.7000e+00 S 11  0  1 I
+      UD_rock
+UD rock for doug
+     145.4   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        14  0.245239  0.334025
+        22  0.001368  0.003176
+        13  0.056485  0.073911
+        26  0.009477  0.025666
+        25  0.000148  0.000394
+        12  0.004120  0.004856
+        20  0.009895  0.019232
+        11  0.041643  0.046428
+        19  0.001606  0.003045
+        15  0.000592  0.000889
+         8  0.629426  0.488377
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+---------------------------------------------------------------------------
+ 349   LMP  5  -1.0000000000      0.49641 2.7000e+00 2.7000e+00 S 11  0  1 I
+      LMP_rock
+LMP rock for Doug
+     145.9   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        14  0.248086  0.335584
+        22  0.001242  0.002863
+        13  0.066504  0.086423
+        26  0.008725  0.023467
+        25  0.000146  0.000386
+        12  0.010053  0.011768
+        20  0.007152  0.013805
+        11  0.002935  0.003250
+        19  0.015537  0.029258
+        15  0.000437  0.000652
+         8  0.639181  0.492543
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+---------------------------------------------------------------------------
+ 350    UM  5  -1.0000000000      0.49407 2.7000e+00 2.7000e+00 S 11  0  1 I
+      UM_rock
+UM rock for Doug
+     152.7   0.0000   0.0000   0.0000  0.00000   0.0000     0.00
+        14  0.184026  0.238952
+        22  0.002244  0.004966
+        13  0.069046  0.086130
+        26  0.030831  0.079602
+        25  0.000822  0.002088
+        12  0.042435  0.047684
+        20  0.031499  0.058365
+        11  0.025503  0.027107
+        19  0.000642  0.001160
+        15  0.000791  0.001133
+         8  0.612161  0.452813
+Note: Ieff calculated using the ICRU37 Table 5.1 algorithm for liquids and solids
+---------------------------------------------------------------------------
diff --git a/Processes/EnergyLoss/ReadData.py b/Processes/EnergyLoss/ReadData.py
new file mode 100644
index 0000000000000000000000000000000000000000..377f3992d7a8ff7888b7a01ef5b202e019533016
--- /dev/null
+++ b/Processes/EnergyLoss/ReadData.py
@@ -0,0 +1,73 @@
+#!/usr/bin/python
+
+import os
+import sys
+import string
+
+
+data = open("Properties8.dat", "r")
+
+nEl = 0
+nOpt = 0
+count = 0 # the data comes with flexible row-blocks, need to count
+for line in data.readlines():
+    line = line.rstrip()
+    if line == "" or line[0] == "#":
+        continue
+
+#    print str(count) + " " + line
+    
+    if count == 0:
+        index = int(line[0:4].strip()) # sternheimers index
+        name = line[5:11].strip() # tag
+        sig = int(line[11:14].strip()) # significant figures of atomic mass if element
+        weight = float(line[16:27].strip()) # atomic weight, if element
+        weight_error = int((line[31:32].strip() or "0"))# error in last place
+        ZoverA = float(line[34:42].strip()) # Z/A
+        rho = float(line[42:52].strip())          # Sternheimers density
+        rho_corr = float(line[52:63].strip())# Corrected density
+        state = line[64].strip() # Solid Liquid Gas Diatomicgas
+        nEl = int(line[66:69].strip()) # number of elements
+        nAtom = int(line[70:72].strip()) # atoms of el. 1
+        nOpt = int(line[73:74].strip()) # number of optional lines
+        type = line[75] # type: Element, Radiactive element, Inorganic compound, Organic compound, Polymer, Mixture, Biological
+
+    elif count == 1:
+        short = line[0:4].strip() # if element
+        long = line[4:100].strip()
+                   
+    elif count == 2:
+        desc = line # description and formula
+                   
+    elif count == 3:
+        Ieff = float(line[0:10].strip()) # ieff
+        Cbar = float(line[11:19].strip()) # cbar
+        x0 = float(line[21:28].strip()) # x0
+        x1 = float(line[30:37].strip()) # x1
+        aa = float(line[39:46].strip()) # a / aa
+        sk = float(line[48:55].strip()) # k / sk
+        delta0 = float(line[59:].strip()) # delta0  / dlt0
+                   
+    elif count == 4 and count < 4+nEl:
+        elZ = int(line[0:11].strip()) # Z
+        # num frac.
+        # weigh frac.
+        pass
+                   
+    elif count>=4+nEl and count<=4+nEl+nOpt:
+        # print "opt : " + str(count) + " " + str(4+nEl+nOpt) + " " + line
+        # property A25
+        # value F20
+        # if 1:5 is "Note:" following lines are extra comments
+        if (count == 4+nEl+nOpt):
+            count = -1
+
+            print str(elZ) + " " + long + " " + str(Ieff) + " " + str(ZoverA) + " " + state + " " + type + " " + str(rho_corr) + " " + str(delta0) + " " + str(x0)  + " " + str(x1)  + " " + str(aa)  + " " + str(sk) + " " + str(Cbar)
+
+            
+    count += 1
+
+                  
+if (count != 0):
+    print ("Error " + str(count))
+                
diff --git a/Processes/EnergyLoss/SummaryPropTable.dat b/Processes/EnergyLoss/SummaryPropTable.dat
new file mode 100644
index 0000000000000000000000000000000000000000..2ebc9d2e630ce5b3bd1e32e30cd00e5f3eb6f166
--- /dev/null
+++ b/Processes/EnergyLoss/SummaryPropTable.dat
@@ -0,0 +1,138 @@
+# RU Mo 18. Feb 14:07:40 CET 2019
+# Data table obtained from http://pdg.lbl.gov/2018/AtomicNuclearProperties/summary_prop_table.dat
+# see also http://pdg.lbl.gov/2018/AtomicNuclearProperties/expert.html
+#  Z      A      density  dEmin    Xo       lam_I    lam_pi_I  E_c (elec)  E_c (pstrn) state
+   1   1.00794      0.00  4.103   63.04     52.01     80.26    344.80    338.33      D
+   1   1.00794      0.07  4.034   63.04     52.01     80.26    278.02    271.50      L
+   1   2.01410      0.00  2.053  125.98     71.78    110.12    345.50    339.03      D
+   1   2.01410      0.17  2.019  125.98     71.78    110.12    278.02    271.50      L
+   2   4.00260      0.00  1.937   94.32     71.00    103.61    257.13    252.23      G
+   2   4.00260      0.12  1.936   94.32     71.00    103.61    208.25    203.34      L
+   3   6.94100      0.53  1.639   82.78     71.34    103.26    149.06    145.33      S
+   4   9.01218      1.85  1.595   65.19     77.80    109.90    113.70    110.68      S
+   5  10.81100      2.37  1.623   52.69     83.32    115.54     93.95     91.41      S
+   6  12.01070      2.00  1.749   42.70     85.81    117.79     82.08     79.85      S
+   6  12.01070      2.21  1.742   42.70     85.81    117.79     81.74     79.51      S
+   6  12.01070      2.27  1.745   42.70     85.81    117.79     81.67     79.44      S
+   6  12.01070      3.52  1.725   42.70     85.81    117.79     80.17     77.94      S
+   7  14.00670      0.00  1.825   37.99     89.68    121.69     91.73     89.71      D
+   7  14.00670      0.81  1.813   37.99     89.68    121.69     75.47     73.49      L
+   8  15.99940      0.00  1.801   34.24     90.17    121.91     81.45     79.62      D
+   8  15.99940      1.14  1.788   34.24     90.17    121.91     66.82     65.04      L
+   9  18.99840      0.00  1.676   32.93     97.42    127.24     73.15     71.48      D
+   9  18.99840      1.51  1.634   32.93     97.42    127.24     59.81     58.17      L
+  10  20.17970      0.00  1.724   28.93     98.99    128.66     67.02     65.47      G
+  10  20.17970      1.20  1.695   28.93     98.99    128.66     55.10     53.59      L
+  11  22.98977      0.97  1.639   27.74    102.55    132.22     51.38     49.99      S
+  12  24.30500      1.74  1.674   25.03    104.12    133.65     46.55     45.25      S
+  13  26.98154      2.70  1.615   24.01    107.16    136.67     42.70     41.48      S
+  14  28.08550      2.33  1.664   21.82    108.35    137.74     40.19     39.05      S
+  15  30.97376      2.20  1.613   21.21    111.36    140.72     37.92     36.84      S
+  16  32.06500      2.00  1.652   19.50    112.44    141.70     35.85     34.83      S
+  17  35.45300      0.00  1.630   19.28    115.70    144.94     40.05     39.04      D
+  17  35.45300      1.57  1.608   19.28    115.70    144.94     34.32     33.35      L
+  18  39.94800      0.00  1.519   19.55    119.73    148.99     38.03     37.06      G
+  18  39.94800      1.40  1.508   19.55    119.73    148.99     32.84     31.91      L
+  19  39.09830      0.86  1.623   17.32    118.98    148.08     31.62     30.72      S
+  20  40.07800      1.55  1.655   16.14    119.83    148.83     29.56     28.71      S
+  21  44.95591      2.99  1.522   16.55    123.90    152.91     27.61     26.79      S
+  22  47.86700      4.54  1.477   16.16    126.20    155.17     26.01     25.23      S
+  23  50.94150      6.11  1.436   15.84    128.54    157.46     24.67     23.91      S
+  24  51.99610      7.18  1.456   14.94    129.31    158.16     23.52     22.79      S
+  25  54.93804      7.44  1.428   14.64    131.44    160.24     22.59     21.89      S
+  26  55.84500      7.87  1.451   13.84    132.08    160.80     21.68     21.00      S
+  27  58.93319      8.90  1.419   13.62    134.23    162.90     20.82     20.16      S
+  28  58.69340      8.90  1.468   12.68    134.06    162.64     20.05     19.41      S
+  29  63.54600      8.96  1.403   12.86    137.30    165.87     19.42     18.79      S
+  30  65.38000      7.13  1.411   12.43    138.49    166.99     18.93     18.33      S
+  31  69.72300      5.90  1.379   12.47    141.22    169.69     18.57     17.98      S
+  32  72.64000      5.32  1.370   12.25    143.00    171.42     18.16     17.58      S
+  33  74.92159      5.73  1.370   11.94    144.36    172.73     17.65     17.09      S
+  34  78.97100      4.50  1.343   11.91    146.71    175.04     17.34     16.79      S
+  35  79.90400      0.01  1.388   11.42    147.24    175.51     19.16     18.60      D
+  35  79.90400      3.10  1.380   11.42    147.24    175.51     17.28     16.75      L
+  36  83.79800      0.00  1.357   11.37    149.42    177.65     18.61     18.06      G
+  36  83.79800      2.42  1.357   11.37    149.42    177.65     17.03     16.51      L
+  37  85.46780      1.53  1.356   11.03    150.34    178.51     16.61     16.10      S
+  38  87.62000      2.54  1.353   10.76    151.50    179.62     15.97     15.47      S
+  39  88.90584      4.47  1.359   10.41    152.18    180.26     15.30     14.81      S
+  40  91.22400      6.51  1.349   10.20    153.41    181.44     14.74     14.27      S
+  41  92.90637      8.57  1.343    9.92    154.28    182.26     14.23     13.77      S
+  42  95.95000     10.22  1.329    9.80    155.84    183.78     13.85     13.39      S
+  43  97.90722     11.50  1.325    9.58    156.83    184.72     13.46     13.01      S
+  44 101.07000     12.41  1.307    9.48    158.40    186.25     13.12     12.68      S
+  45 102.90550     12.41  1.310    9.27    159.30    187.11     12.84     12.41      S
+  46 106.42000     12.02  1.289    9.20    161.00    188.76     12.57     12.15      S
+  47 107.86820     10.50  1.299    8.97    161.68    189.41     12.36     11.94      S
+  48 112.41400      8.65  1.277    9.00    163.81    191.49     12.21     11.80      S
+  49 114.81800      7.31  1.278    8.85    164.91    192.55     12.06     11.65      S
+  50 118.71000      7.31  1.263    8.82    166.67    194.27     11.86     11.46      S
+  51 121.76000      6.69  1.259    8.73    168.02    195.58     11.70     11.31      S
+  52 127.60000      6.24  1.227    8.83    170.56    198.08     11.54     11.16      S
+  53 126.90447      4.93  1.263    8.48    170.25    197.74     11.42     11.04      S
+  54 131.29300      0.01  1.255    8.48    172.12    199.56     12.30     11.91      G
+  54 131.29300      2.95  1.255    8.48    172.12    199.56     11.66     11.28      L
+  55 132.90545      1.87  1.254    8.31    172.79    200.20     11.34     10.97      S
+  56 137.32700      3.50  1.231    8.31    174.62    201.98     10.98     10.62      S
+  57 138.90547      6.14  1.231    8.14    175.26    202.59     10.63     10.27      S
+  58 140.11600      6.77  1.234    7.96    175.75    203.04     10.40     10.04      S
+  59 140.90766      6.77  1.243    7.76    176.07    203.32     10.21      9.86      S
+  60 144.24200      7.01  1.231    7.71    177.40    204.62     10.02      9.68      S
+  61 144.91275      7.26  1.240    7.51    177.66    204.85      9.83      9.49      S
+  62 150.36000      7.52  1.210    7.57    179.79    206.95      9.66      9.32      S
+  63 151.96400      5.24  1.219    7.44    180.41    207.53      9.59      9.26      S
+  64 157.25000      7.90  1.188    7.48    182.42    209.50      9.34      9.01      S
+  65 158.92535      8.23  1.188    7.36    183.05    210.10      9.17      8.85      S
+  66 162.50000      8.55  1.175    7.32    184.38    211.39      9.02      8.70      S
+  67 164.93033      8.80  1.170    7.23    185.27    212.25      8.86      8.55      S
+  68 167.25900      9.03  1.168    7.14    186.12    213.07      8.73      8.42      S
+  69 168.93422      9.32  1.170    7.03    186.72    213.64      8.59      8.28      S
+  70 173.05400      6.90  1.159    7.02    188.19    215.08      8.52      8.22      S
+  71 174.96680      9.84  1.160    6.92    188.87    215.72      8.36      8.06      S
+  72 178.49000     13.31  1.152    6.89    190.10    216.93      8.22      7.93      S
+  73 180.94788     16.65  1.149    6.82    190.96    217.75      8.09      7.79      S
+  74 183.84000     19.30  1.145    6.76    191.95    218.71      7.97      7.68      S
+  75 186.20700     21.02  1.143    6.69    192.75    219.49      7.85      7.57      S
+  76 190.23000     22.57  1.132    6.68    194.11    220.81      7.75      7.47      S
+  77 192.21700     22.42  1.134    6.59    194.77    221.45      7.67      7.39      S
+  78 195.08400     21.45  1.128    6.54    195.72    222.37      7.59      7.31      S
+  79 196.96657     19.32  1.134    6.46    196.34    222.96      7.53      7.26      S
+  80 200.59000     13.55  1.130    6.44    197.52    224.11      7.53      7.26      L
+  81 204.38330     11.72  1.125    6.42    198.75    225.30      7.50      7.23      S
+  82 207.20000     11.35  1.122    6.37    199.64    226.17      7.43      7.16      S
+  83 208.98040      9.75  1.128    6.29    200.21    226.71      7.39      7.13      S
+  84 208.98243      9.32  1.141    6.16    200.21    226.69      7.33      7.06      S
+  85 209.98715      5.00  1.160    6.07    200.52    226.98      7.60      7.33      S
+  86 222.01758      0.01  1.116    6.28    204.25    230.66      7.71      7.43      G
+  87 223.01974      1.87  1.118    6.19    204.56    230.94      7.59      7.32      S
+  88 226.02541      5.00  1.111    6.15    205.47    231.83      7.19      6.94      S
+  89 227.02775     10.07  1.112    6.06    205.77    232.11      7.00      6.75      S
+  90 232.03770     11.72  1.098    6.07    207.26    233.57      6.91      6.66      S
+  91 231.03588     15.37  1.107    5.93    206.96    233.25      6.77      6.52      S
+  92 238.02891     18.95  1.081    6.00    209.02    235.28      6.65      6.41      S
+  93 237.04817     20.25  1.095    5.87    208.73    234.97      6.57      6.33      S
+  94 244.06420     19.84  1.071    5.93    210.77    236.98      6.49      6.25      S
+  95 243.06138     13.67  1.089    5.80    210.48    236.67      6.50      6.25      S
+  96 247.07035     13.51  1.082    5.79    211.63    237.79      6.44      6.20      S
+  97 247.07031     14.00  1.106    5.69    211.63    237.77      6.59      6.35      S
+  98 251.07959     14.00  1.097    5.68    212.77    238.88      6.53      6.29      S
+  99 252.08300     14.00  1.102    5.61    213.05    239.15      6.47      6.24      S
+ 100 257.09510     14.00  1.090    5.62    214.45    240.52      6.42      6.19      S
+ 101 258.09843     14.00  1.095    5.55    214.73    240.78      6.37      6.13      S
+ 102 259.10100     14.00  1.099    5.48    215.00    241.04      6.31      6.08      S
+ 103 262.11000     14.00  1.096    5.45    215.83    241.84      6.26      6.03      S
+ 104 267.12200     14.00  1.084    5.47    217.20    243.19      6.21      5.98      S
+ 105 268.12500     14.00  1.088    5.40    217.48    243.44      6.16      5.93      S
+ 106 271.13300     14.00  1.085    5.38    218.29    244.23      6.11      5.89      S
+ 107 270.13400     14.00  1.097    5.27    218.02    243.95      6.06      5.84      S
+ 108 269.13410     14.00  1.110    5.17    217.75    243.66      6.01      5.79      S
+ 109 276.15100     14.00  1.090    5.23    219.63    245.51      5.97      5.75      S
+ 110 281.16200     14.00  1.079    5.24    220.96    246.82      5.92      5.71      S
+ 111 280.16400     14.00  1.091    5.14    220.69    246.54      5.88      5.66      S
+ 112 285.00000     14.00  1.080    5.16    221.96    247.78      5.83      5.61      S
+ 113 284.17800     14.00  1.091    5.07    221.75    247.55      5.79      5.57      S
+ 114 289.18700     14.00  1.080    5.08    223.05    248.83      5.75      5.53      S
+ 115 288.19200     14.00  1.092    4.99    222.79    248.56      5.71      5.49      S
+ 116 293.20000     14.00  1.081    5.00    224.08    249.83      5.67      5.45      S
+ 117 294.00000     14.00  1.086    4.95    224.29    250.01      5.62      5.41      S
+ 118 294.21500      0.01  1.092    4.88    224.34    250.05      5.67      5.45      G
diff --git a/Processes/HadronicElasticModel/HadronicElasticModel.h b/Processes/HadronicElasticModel/HadronicElasticModel.h
index f03963872164cdd4d48b9c09ccc3053348f93ea8..7f37905de1672f740f1ea7ec44051c5a730d1037 100644
--- a/Processes/HadronicElasticModel/HadronicElasticModel.h
+++ b/Processes/HadronicElasticModel/HadronicElasticModel.h
@@ -44,8 +44,8 @@ namespace corsika::process::HadronicElasticModel {
     using SquaredHEPEnergyType = decltype(corsika::units::si::HEPEnergyType() *
                                           corsika::units::si::HEPEnergyType());
 
-    using eV2 = decltype(units::si::detail::static_pow<2>(units::si::electronvolt));
-    using inveV2 = decltype(units::si::detail::static_pow<-2>(units::si::electronvolt));
+    using eV2 = decltype(units::si::square(units::si::electronvolt));
+    using inveV2 = decltype(1 / units::si::square(units::si::electronvolt));
 
     corsika::random::RNG& fRNG =
         corsika::random::RNGManager::GetInstance().GetRandomStream(
diff --git a/Processes/Pythia/CMakeLists.txt b/Processes/Pythia/CMakeLists.txt
index de1630fd928355c70bf23683408c83757891220f..adc953090c31505acf4fd4c6c85dd85435ca136c 100644
--- a/Processes/Pythia/CMakeLists.txt
+++ b/Processes/Pythia/CMakeLists.txt
@@ -29,7 +29,7 @@ set_target_properties (
   PROPERTIES
   VERSION ${PROJECT_VERSION}
   SOVERSION 1
-  PUBLIC_HEADER "${MODEL_HEADERS}"
+#  PUBLIC_HEADER "${MODEL_HEADERS}"
   )
 
 # target dependencies on other libraries (also the header onlys)
@@ -50,17 +50,12 @@ target_include_directories (
   $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>
   $<INSTALL_INTERFACE:include/include>
   )
-# do it again, since we want -isystem for pythia exteranls
-target_include_directories (
-  ProcessPythia
-  SYSTEM PUBLIC
-  ${PYTHIA8_INCLUDE_DIR}
-  )
 
 target_include_directories (
   ProcessPythia
-  PRIVATE
-  ${PYTHIA8_INCLUDE_DIR}
+  SYSTEM
+  PUBLIC ${PYTHIA8_INCLUDE_DIR}
+  INTERFACE ${PYTHIA8_INCLUDE_DIR}
   )
 
 install (
diff --git a/Processes/Pythia/Decay.cc b/Processes/Pythia/Decay.cc
index 8bdfb554fb44538c816e76440acb8e0cf0845609..77241b106dff5d6f674f60ec9a2acfe763ca09be 100644
--- a/Processes/Pythia/Decay.cc
+++ b/Processes/Pythia/Decay.cc
@@ -8,9 +8,9 @@
  * the license.
  */
 
+#include <Pythia8/Pythia.h>
 #include <corsika/process/pythia/Decay.h>
 #include <corsika/process/pythia/Random.h>
-#include <Pythia8/Pythia.h>
 
 #include <corsika/setup/SetupStack.h>
 #include <corsika/setup/SetupTrajectory.h>
@@ -28,45 +28,44 @@ using Track = Trajectory;
 namespace corsika::process::pythia {
 
   Decay::Decay(vector<particles::Code> pParticles)
-	: fTrackedParticles(pParticles) {}
-  
+      : fTrackedParticles(pParticles) {}
+
   Decay::~Decay() { cout << "Pythia::Decay n=" << fCount << endl; }
-  
+
   void Decay::Init() {
-    
+
     Decay::SetParticleListStable(fTrackedParticles);
 
     // set random number generator in pythia
     Pythia8::RndmEngine* rndm = new corsika::process::pythia::Random();
-    fPythia.setRndmEnginePtr( rndm );
+    fPythia.setRndmEnginePtr(rndm);
 
     fPythia.readString("Next:numberShowInfo = 0");
     fPythia.readString("Next:numberShowProcess = 0");
     fPythia.readString("Next:numberShowEvent = 0");
 
     fPythia.readString("Print:quiet = on");
-    
+
     fPythia.readString("ProcessLevel:all = off");
     fPythia.readString("ProcessLevel:resonanceDecays = off");
 
     fPythia.particleData.readString("59:m0 = 101.00");
-    
+
     fPythia.init();
   }
 
   void Decay::SetParticleListStable(const vector<particles::Code> particleList) {
-    for (auto p : particleList)
-      Decay::SetStable( p );
+    for (auto p : particleList) Decay::SetStable(p);
   }
 
   void Decay::SetUnstable(const particles::Code pCode) {
     cout << "Pythia::Decay: setting " << pCode << " unstable.." << endl;
-    fPythia.particleData.mayDecay( static_cast<int>( particles::GetPDG(pCode) ) , true);
+    fPythia.particleData.mayDecay(static_cast<int>(particles::GetPDG(pCode)), true);
   }
 
   void Decay::SetStable(const particles::Code pCode) {
     cout << "Pythia::Decay: setting " << pCode << " stable.." << endl;
-    fPythia.particleData.mayDecay( static_cast<int>( particles::GetPDG(pCode) ) , false);
+    fPythia.particleData.mayDecay(static_cast<int>(particles::GetPDG(pCode)), false);
   }
 
   template <>
@@ -95,29 +94,29 @@ namespace corsika::process::pythia {
 
     // coordinate system, get global frame of reference
     geometry::CoordinateSystem& rootCS =
-      geometry::RootCoordinateSystem::GetInstance().GetRootCoordinateSystem();
-    
+        geometry::RootCoordinateSystem::GetInstance().GetRootCoordinateSystem();
+
     fCount++;
 
     // pythia stack
     Pythia8::Event& event = fPythia.event;
     event.reset();
-    
+
     // set particle unstable
-    Decay::SetUnstable( p.GetPID() );
+    Decay::SetUnstable(p.GetPID());
 
     // input particle PDG
-    auto const pdgCode = static_cast<int>( particles::GetPDG( p.GetPID() ));
+    auto const pdgCode = static_cast<int>(particles::GetPDG(p.GetPID()));
 
-    auto const pcomp =     p.GetMomentum().GetComponents();
-    double px = pcomp[0] / 1_GeV ;
-    double py = pcomp[1] / 1_GeV ;
-    double pz = pcomp[2] / 1_GeV ;
+    auto const pcomp = p.GetMomentum().GetComponents();
+    double px = pcomp[0] / 1_GeV;
+    double py = pcomp[1] / 1_GeV;
+    double pz = pcomp[2] / 1_GeV;
     double en = p.GetEnergy() / 1_GeV;
-    double m = particles::GetMass( p.GetPID() ) / 1_GeV;
+    double m = particles::GetMass(p.GetPID()) / 1_GeV;
 
     // add particle to pythia stack
-    event.append( pdgCode, 1, 0, 0, px, py, pz, en, m);
+    event.append(pdgCode, 1, 0, 0, px, py, pz, en, m);
 
     if (!fPythia.next())
       cout << "Pythia::Decay: decay failed!" << endl;
@@ -130,27 +129,27 @@ namespace corsika::process::pythia {
     // loop over final state
     for (int i = 0; i < event.size(); ++i)
       if (event[i].isFinal()) {
-	auto const pyId = particles::ConvertFromPDG(static_cast<particles::PDGCode>(event[i].id()));
-	HEPEnergyType pyEn = event[i].e() * 1_GeV;
-	MomentumVector pyP(rootCS, { event[i].px() * 1_GeV,
-				     event[i].py() * 1_GeV,
-				     event[i].pz() * 1_GeV});
-	
-	cout << "particle: id=" << pyId << " momentum=" << pyP.GetComponents() / 1_GeV
-	     << " energy=" << pyEn << endl;
-	
-	p.AddSecondary( tuple<particles::Code, units::si::HEPEnergyType,
-			corsika::stack::MomentumVector, geometry::Point, units::si::TimeType>{
-			  pyId, pyEn, pyP, decayPoint, t0} );
+        auto const pyId =
+            particles::ConvertFromPDG(static_cast<particles::PDGCode>(event[i].id()));
+        HEPEnergyType pyEn = event[i].e() * 1_GeV;
+        MomentumVector pyP(rootCS, {event[i].px() * 1_GeV, event[i].py() * 1_GeV,
+                                    event[i].pz() * 1_GeV});
+
+        cout << "particle: id=" << pyId << " momentum=" << pyP.GetComponents() / 1_GeV
+             << " energy=" << pyEn << endl;
+
+        p.AddSecondary(
+            tuple<particles::Code, units::si::HEPEnergyType,
+                  corsika::stack::MomentumVector, geometry::Point, units::si::TimeType>{
+                pyId, pyEn, pyP, decayPoint, t0});
       }
-    
+
     // set particle stable
-    Decay::SetStable( p.GetPID() );
+    Decay::SetStable(p.GetPID());
 
     // remove original particle from corsika stack
     p.Delete();
     //    if (fCount>10) throw std::runtime_error("stop here");
   }
 
-  
 } // namespace corsika::process::pythia
diff --git a/Processes/Pythia/Decay.h b/Processes/Pythia/Decay.h
index 06f1838867a9be760128eefadaf3e653e8c89598..fc76137160177afabe0d6624b2bc1b708f545ab4 100644
--- a/Processes/Pythia/Decay.h
+++ b/Processes/Pythia/Decay.h
@@ -12,28 +12,28 @@
 #ifndef _include_corsika_process_pythia_decay_h_
 #define _include_corsika_process_pythia_decay_h_
 
+#include <Pythia8/Pythia.h>
 #include <corsika/particles/ParticleProperties.h>
 #include <corsika/process/DecayProcess.h>
-#include <Pythia8/Pythia.h>
 
 namespace corsika::process {
 
   namespace pythia {
 
     typedef corsika::geometry::Vector<corsika::units::si::hepmomentum_d> MomentumVector;
-    
+
     class Decay : public corsika::process::DecayProcess<Decay> {
       const std::vector<particles::Code> fTrackedParticles;
       int fCount = 0;
 
     public:
-      Decay(std::vector<corsika::particles::Code> );
+      Decay(std::vector<corsika::particles::Code>);
       ~Decay();
       void Init();
 
       void SetParticleListStable(const std::vector<particles::Code>);
-      void SetUnstable(const corsika::particles::Code );
-      void SetStable(const corsika::particles::Code );
+      void SetUnstable(const corsika::particles::Code);
+      void SetStable(const corsika::particles::Code);
 
       template <typename Particle>
       corsika::units::si::TimeType GetLifetime(Particle const& p);
@@ -44,7 +44,7 @@ namespace corsika::process {
     private:
       Pythia8::Pythia fPythia;
     };
-    
+
   } // namespace pythia
 } // namespace corsika::process
 
diff --git a/Processes/Pythia/Random.cc b/Processes/Pythia/Random.cc
index 1432cc3cb4267a641118baf8c22e1e37f45ba051..8fcbcf4ee7274ba36252f7969306073f3cffddd5 100644
--- a/Processes/Pythia/Random.cc
+++ b/Processes/Pythia/Random.cc
@@ -12,10 +12,9 @@
 
 namespace corsika::process::pythia {
 
-  double Random::flat(){
+  double Random::flat() {
     std::uniform_real_distribution<double> dist;
     return dist(fRNG);
   }
 
-  
 } // namespace corsika::process::pythia
diff --git a/Processes/Pythia/Random.h b/Processes/Pythia/Random.h
index 885bb598a983079b9b0fe438a78762f109a88067..276fc532ca53ac84b708e8ad12cb16fbaed01c9a 100644
--- a/Processes/Pythia/Random.h
+++ b/Processes/Pythia/Random.h
@@ -12,8 +12,8 @@
 #ifndef _include_corsika_process_pythia_random_h_
 #define _include_corsika_process_pythia_random_h_
 
-#include <corsika/random/RNGManager.h>
 #include <Pythia8/Pythia.h>
+#include <corsika/random/RNGManager.h>
 
 namespace corsika::process {
 
@@ -21,11 +21,12 @@ namespace corsika::process {
 
     class Random : public Pythia8::RndmEngine {
       double flat();
+
     private:
       corsika::random::RNG& fRNG =
-        corsika::random::RNGManager::GetInstance().GetRandomStream("pythia");
+          corsika::random::RNGManager::GetInstance().GetRandomStream("pythia");
     };
-    
+
   } // namespace pythia
 } // namespace corsika::process
 
diff --git a/Processes/Pythia/testPythia.cc b/Processes/Pythia/testPythia.cc
index 9fb2d757a33f1922a8567b1c4b8e8df4dbc2fb7d..418ff6973b6c51cc0c8a9cc6fa96c06e9c8988a3 100644
--- a/Processes/Pythia/testPythia.cc
+++ b/Processes/Pythia/testPythia.cc
@@ -12,6 +12,7 @@
 #include <corsika/process/pythia/Decay.h>
 #include <corsika/process/pythia/Interaction.h>
 #include <Pythia8/Pythia.h>
+#include <corsika/process/pythia/Decay.h>
 
 #include <corsika/random/RNGManager.h>
 
@@ -59,26 +60,23 @@ TEST_CASE("Pythia", "[processes]") {
     // loop over final state
     for (int i = 0; i < pythia.event.size(); ++i)
       if (pythia.event[i].isFinal()) {
-	cout << "particle: id=" << pythia.event[i].id() << endl;
+        cout << "particle: id=" << pythia.event[i].id() << endl;
       }
   }
 
-
   SECTION("pythia interface") {
     using namespace corsika;
-    
+
     const std::vector<particles::Code> particleList = {
         particles::Code::PiPlus, particles::Code::PiMinus, particles::Code::KPlus,
         particles::Code::KMinus, particles::Code::K0Long,  particles::Code::K0Short};
 
     random::RNGManager::GetInstance().RegisterRandomStream("pythia");
-    
+
     process::pythia::Decay model(particleList);
-    
-    model.Init();
 
+    model.Init();
   }
-
 }
 
 #include <corsika/geometry/Point.h>
@@ -127,7 +125,7 @@ TEST_CASE("pythia process"){
   random::RNGManager::GetInstance().RegisterRandomStream("s_rndm");
 
   SECTION("pythia decay") {
-    
+
     setup::Stack stack;
     const HEPEnergyType E0 = 10_GeV;
     HEPMomentumType P0 =
@@ -139,20 +137,18 @@ TEST_CASE("pythia process"){
                    corsika::stack::MomentumVector, geometry::Point, units::si::TimeType>{
             particles::Code::PiPlus, E0, plab, pos, 0_ns});
 
-    
     const std::vector<particles::Code> particleList = {
         particles::Code::PiPlus, particles::Code::PiMinus, particles::Code::KPlus,
         particles::Code::KMinus, particles::Code::K0Long,  particles::Code::K0Short};
 
     random::RNGManager::GetInstance().RegisterRandomStream("pythia");
-    
+
     process::pythia::Decay model(particleList);
-    
+
     model.Init();
     /*[[maybe_unused]] const process::EProcessReturn ret =*/model.DoDecay(particle,
                                                                           stack);
     [[maybe_unused]] const TimeType time = model.GetLifetime(particle);
-    
   }
 
   SECTION("pythia interaction") {
diff --git a/Processes/Sibyll/Decay.cc b/Processes/Sibyll/Decay.cc
index 470ea1819c70b0cd8cfad5b5ddb38b9f4b2f8b0f..3cd009c580d10845ea2219b59322dc1855a88295 100644
--- a/Processes/Sibyll/Decay.cc
+++ b/Processes/Sibyll/Decay.cc
@@ -29,12 +29,12 @@ using Track = Trajectory;
 
 namespace corsika::process::sibyll {
 
-  Decay::Decay(vector<particles::Code>pParticles)
-    : fTrackedParticles(pParticles) {}
+  Decay::Decay(vector<particles::Code> pParticles)
+      : fTrackedParticles(pParticles) {}
   Decay::~Decay() { cout << "Sibyll::Decay n=" << fCount << endl; }
   void Decay::Init() {
     SetHadronsUnstable();
-    SetParticleListStable( fTrackedParticles );
+    SetParticleListStable(fTrackedParticles);
   }
 
   void Decay::SetParticleListStable(const vector<particles::Code> particleList) {
@@ -45,8 +45,7 @@ namespace corsika::process::sibyll {
     // set particles unstable
     SetHadronsUnstable();
     cout << "Interaction: setting tracked hadrons stable.." << endl;
-    for (auto p : particleList) 
-      Decay::SetStable( p );
+    for (auto p : particleList) Decay::SetStable(p);
   }
 
   void Decay::SetUnstable(const particles::Code pCode) {
@@ -108,7 +107,7 @@ namespace corsika::process::sibyll {
     using namespace units::si;
 
     HEPEnergyType E = p.GetEnergy();
-    HEPMassType m = particles::GetMass(p.GetPID());
+    HEPMassType m = p.GetMass();
 
     const double gamma = E / m;
 
@@ -177,7 +176,6 @@ namespace corsika::process::sibyll {
     ss.Clear();
     // remove original particle from corsika stack
     p.Delete();
-
   }
 
 } // namespace corsika::process::sibyll
diff --git a/Processes/Sibyll/Decay.h b/Processes/Sibyll/Decay.h
index 5a1f6323b0cb0dde9d73395d9ecc77f460860c53..7e7a202e7c3172577c6a5662d09eb67bbb9433f2 100644
--- a/Processes/Sibyll/Decay.h
+++ b/Processes/Sibyll/Decay.h
@@ -15,6 +15,8 @@
 #include <corsika/particles/ParticleProperties.h>
 #include <corsika/process/DecayProcess.h>
 
+#include <vector>
+
 namespace corsika::process {
 
   namespace sibyll {
@@ -29,8 +31,8 @@ namespace corsika::process {
       void Init();
 
       void SetParticleListStable(const std::vector<particles::Code>);
-      void SetUnstable(const corsika::particles::Code );
-      void SetStable(const corsika::particles::Code );
+      void SetUnstable(const corsika::particles::Code);
+      void SetStable(const corsika::particles::Code);
       void SetAllStable();
       void SetHadronsUnstable();
 
diff --git a/Processes/Sibyll/Interaction.cc b/Processes/Sibyll/Interaction.cc
index 5594ec39de31270b0e1014f5aa1e4b64c917c99f..b16d48332a76aaa84edd403ed1a3736487a0269e 100644
--- a/Processes/Sibyll/Interaction.cc
+++ b/Processes/Sibyll/Interaction.cc
@@ -35,7 +35,7 @@ using Track = Trajectory;
 namespace corsika::process::sibyll {
 
   Interaction::Interaction(environment::Environment const& env)
-    : fEnvironment(env) {}
+      : fEnvironment(env) {}
 
   Interaction::~Interaction() {
     cout << "Sibyll::Interaction n=" << fCount << " Nnuc=" << fNucCount << endl;
@@ -50,29 +50,30 @@ namespace corsika::process::sibyll {
       sibyll_ini_();
 
       // any decays in sibyll? if yes need to define which particles
-      if( fInternalDecays){
-	// define which particles are passed to corsika, i.e. which particles make it into history
-	// even very shortlived particles like charm or pi0 are of interest here
-	const std::vector<particles::Code> HadronsWeWantTrackedByCorsika = {
-        particles::Code::PiPlus, particles::Code::PiMinus, particles::Code::Pi0,
-        particles::Code::KMinus, particles::Code::KPlus,
-	particles::Code::K0Long,  particles::Code::K0Short,
-	particles::Code::SigmaPlus, particles::Code::SigmaMinus,
-	particles::Code::Lambda0,
-	particles::Code::Xi0, particles::Code::XiMinus,
-	particles::Code::OmegaMinus,
-	particles::Code::DPlus, particles::Code::DMinus, particles::Code::D0, particles::Code::D0Bar};
-	
-	Interaction::SetParticleListStable(HadronsWeWantTrackedByCorsika);
+      if (fInternalDecays) {
+        // define which particles are passed to corsika, i.e. which particles make it into
+        // history even very shortlived particles like charm or pi0 are of interest here
+        const std::vector<particles::Code> HadronsWeWantTrackedByCorsika = {
+            particles::Code::PiPlus,     particles::Code::PiMinus,
+            particles::Code::Pi0,        particles::Code::KMinus,
+            particles::Code::KPlus,      particles::Code::K0Long,
+            particles::Code::K0Short,    particles::Code::SigmaPlus,
+            particles::Code::SigmaMinus, particles::Code::Lambda0,
+            particles::Code::Xi0,        particles::Code::XiMinus,
+            particles::Code::OmegaMinus, particles::Code::DPlus,
+            particles::Code::DMinus,     particles::Code::D0,
+            particles::Code::D0Bar};
+
+        Interaction::SetParticleListStable(HadronsWeWantTrackedByCorsika);
       }
-      
+
       fInitialized = true;
     }
   }
 
-  void Interaction::SetParticleListStable(const std::vector<particles::Code> particleList) {
-    for (auto p : particleList)
-      Interaction::SetStable( p );
+  void Interaction::SetParticleListStable(
+      const std::vector<particles::Code> particleList) {
+    for (auto p : particleList) Interaction::SetStable(p);
   }
 
   void Interaction::SetUnstable(const particles::Code pCode) {
@@ -87,8 +88,6 @@ namespace corsika::process::sibyll {
     s_csydec_.idb[s_id - 1] = (-1) * abs(s_csydec_.idb[s_id - 1]);
   }
 
-  
-  
   tuple<units::si::CrossSectionType, units::si::CrossSectionType>
   Interaction::GetCrossSection(const particles::Code BeamId,
                                const particles::Code TargetId,
@@ -97,8 +96,9 @@ namespace corsika::process::sibyll {
     double sigProd, sigEla, dummy, dum1, dum3, dum4;
     double dumdif[3];
     const int iBeam = process::sibyll::GetSibyllXSCode(BeamId);
-    if( !IsValidCoMEnergy(CoMenergy) ){
-      throw std::runtime_error("Interaction: GetCrossSection: CoM energy outside range for Sibyll!");
+    if (!IsValidCoMEnergy(CoMenergy)) {
+      throw std::runtime_error(
+          "Interaction: GetCrossSection: CoM energy outside range for Sibyll!");
     }
     const double dEcm = CoMenergy / 1_GeV;
     if (particles::IsNucleus(TargetId)) {
@@ -171,13 +171,13 @@ namespace corsika::process::sibyll {
       int i = -1;
       si::CrossSectionType weightedProdCrossSection = 0_mbarn;
       // get weights of components from environment/medium
-      const auto w = mediumComposition.GetFractions();
+      const auto& w = mediumComposition.GetFractions();
       // loop over components in medium
       for (auto const targetId : mediumComposition.GetComponents()) {
         i++;
         cout << "Interaction: get interaction length for target: " << targetId << endl;
 
-        auto const [productionCrossSection, elaCrossSection ] =
+        auto const [productionCrossSection, elaCrossSection] =
             GetCrossSection(corsikaBeamId, targetId, ECoM);
         [[maybe_unused]] auto elaCrossSectionCopy =
             elaCrossSection; // ONLY TO AVOID COMPILER WARNING
@@ -193,8 +193,8 @@ namespace corsika::process::sibyll {
 
       // calculate interaction length in medium
       //#warning check interaction length units
-      GrammageType const int_length =
-          mediumComposition.GetAverageMassNumber() * units::constants::u / weightedProdCrossSection;
+      GrammageType const int_length = mediumComposition.GetAverageMassNumber() *
+                                      units::constants::u / weightedProdCrossSection;
       cout << "Interaction: "
            << "interaction length (g/cm2): " << int_length / (0.001_kg) * 1_cm * 1_cm
            << endl;
@@ -299,8 +299,7 @@ namespace corsika::process::sibyll {
 
       for (size_t i = 0; i < compVec.size(); ++i) {
         auto const targetId = compVec[i];
-        const auto [sigProd, sigEla ] =
-            GetCrossSection(corsikaBeamId, targetId, Ecm);
+        const auto [sigProd, sigEla] = GetCrossSection(corsikaBeamId, targetId, Ecm);
         cross_section_of_components[i] = sigProd;
         [[maybe_unused]] auto sigElaCopy =
             sigEla; // to avoid not used warning in array binding
@@ -329,10 +328,10 @@ namespace corsika::process::sibyll {
       cout << "Interaction: "
            << " DoInteraction: E(GeV):" << eProjectileLab / 1_GeV
            << " Ecm(GeV): " << Ecm / 1_GeV << endl;
-      if( Ecm > GetMaxEnergyCoM() )
-	throw std::runtime_error("Interaction::DoInteraction: CoM energy too high!");
+      if (Ecm > GetMaxEnergyCoM())
+        throw std::runtime_error("Interaction::DoInteraction: CoM energy too high!");
       // FR: removed eProjectileLab < 8.5_GeV ||
-      if ( Ecm < GetMinEnergyCoM() ) {
+      if (Ecm < GetMinEnergyCoM()) {
         cout << "Interaction: "
              << " DoInteraction: should have dropped particle.. "
              << "THIS IS AN ERROR" << endl;
diff --git a/Processes/Sibyll/Interaction.h b/Processes/Sibyll/Interaction.h
index 0f2fc58efc2d27aa337501c9b7d5174c6ef3f460..21d4675b98f6d1733646aaf7184ff615243556ba 100644
--- a/Processes/Sibyll/Interaction.h
+++ b/Processes/Sibyll/Interaction.h
@@ -37,8 +37,8 @@ namespace corsika::process::sibyll {
     void Init();
 
     void SetParticleListStable(const std::vector<particles::Code>);
-    void SetUnstable(const corsika::particles::Code );
-    void SetStable(const corsika::particles::Code );
+    void SetUnstable(const corsika::particles::Code);
+    void SetStable(const corsika::particles::Code);
 
     bool WasInitialized() { return fInitialized; }
     bool IsValidCoMEnergy(corsika::units::si::HEPEnergyType ecm) {
@@ -47,13 +47,11 @@ namespace corsika::process::sibyll {
     int GetMaxTargetMassNumber() { return fMaxTargetMassNumber; }
     corsika::units::si::HEPEnergyType GetMinEnergyCoM() { return fMinEnergyCoM; }
     corsika::units::si::HEPEnergyType GetMaxEnergyCoM() { return fMaxEnergyCoM; }
-    bool IsValidTarget(corsika::particles::Code TargetId)
-    {
-      return ( corsika::particles::GetNucleusA(TargetId) < fMaxTargetMassNumber )
-	&& corsika::particles::IsNucleus( TargetId );
-  }      
-    
-    
+    bool IsValidTarget(corsika::particles::Code TargetId) {
+      return (corsika::particles::GetNucleusA(TargetId) < fMaxTargetMassNumber) &&
+             corsika::particles::IsNucleus(TargetId);
+    }
+
     std::tuple<corsika::units::si::CrossSectionType, corsika::units::si::CrossSectionType>
     GetCrossSection(const corsika::particles::Code BeamId,
                     const corsika::particles::Code TargetId,
@@ -76,10 +74,10 @@ namespace corsika::process::sibyll {
         corsika::random::RNGManager::GetInstance().GetRandomStream("s_rndm");
 
     const bool fInternalDecays = true;
-    const corsika::units::si::HEPEnergyType fMinEnergyCoM = 
-      10. * 1e9 * corsika::units::si::electronvolt;
-    const corsika::units::si::HEPEnergyType fMaxEnergyCoM = 
-      1.e6 * 1e9 * corsika::units::si::electronvolt;
+    const corsika::units::si::HEPEnergyType fMinEnergyCoM =
+        10. * 1e9 * corsika::units::si::electronvolt;
+    const corsika::units::si::HEPEnergyType fMaxEnergyCoM =
+        1.e6 * 1e9 * corsika::units::si::electronvolt;
     const int fMaxTargetMassNumber = 18;
   };
 
diff --git a/Processes/Sibyll/NuclearInteraction.cc b/Processes/Sibyll/NuclearInteraction.cc
index 6c543c3581538976d0c6e84189dba272d773538b..8b37868b6e879d5614cf88379b4222615f7ce140 100644
--- a/Processes/Sibyll/NuclearInteraction.cc
+++ b/Processes/Sibyll/NuclearInteraction.cc
@@ -55,10 +55,11 @@ namespace corsika::process::sibyll {
     if (!fHadronicInteraction.WasInitialized()) fHadronicInteraction.Init();
 
     // check compatibility of energy ranges, someone could try to use low-energy model..
-    if(!fHadronicInteraction.IsValidCoMEnergy(GetMinEnergyPerNucleonCoM())||
-       !fHadronicInteraction.IsValidCoMEnergy(GetMaxEnergyPerNucleonCoM()))
-      throw std::runtime_error("NuclearInteraction: hadronic interaction model incompatible!");
-    
+    if (!fHadronicInteraction.IsValidCoMEnergy(GetMinEnergyPerNucleonCoM()) ||
+        !fHadronicInteraction.IsValidCoMEnergy(GetMaxEnergyPerNucleonCoM()))
+      throw std::runtime_error(
+          "NuclearInteraction: hadronic interaction model incompatible!");
+
     // initialize nuclib
     // TODO: make sure this does not overlap with sibyll
     nuc_nuc_ini_();
@@ -67,117 +68,116 @@ namespace corsika::process::sibyll {
     InitializeNuclearCrossSections();
   }
 
-  void NuclearInteraction::InitializeNuclearCrossSections()
-  {
+  void NuclearInteraction::InitializeNuclearCrossSections() {
     using namespace corsika::particles;
     using namespace units::si;
 
     auto& universe = *(fEnvironment.GetUniverse());
 
     auto const allElementsInUniverse = std::invoke([&]() {
-    std::set<particles::Code> allElementsInUniverse;
-    auto collectElements = [&](auto& vtn) {
-      if (auto const mp = vtn.GetModelPropertiesPtr();
-          mp != nullptr) { // do not query Universe it self, it has no ModelProperties
-        auto const& comp = mp->GetNuclearComposition().GetComponents();
-	for (auto const c : comp)
-	   allElementsInUniverse.insert(c);
-        // std::for_each(comp.cbegin(), comp.cend(),
-        //               [&](particles::Code c) { allElementsInUniverse.insert(c); });
-      }
-    };
-    universe.walk(collectElements);
-    return allElementsInUniverse;
-						   });
+      std::set<particles::Code> allElementsInUniverse;
+      auto collectElements = [&](auto& vtn) {
+        if (auto const mp = vtn.GetModelPropertiesPtr();
+            mp != nullptr) { // do not query Universe it self, it has no ModelProperties
+          auto const& comp = mp->GetNuclearComposition().GetComponents();
+          for (auto const c : comp) allElementsInUniverse.insert(c);
+          // std::for_each(comp.cbegin(), comp.cend(),
+          //               [&](particles::Code c) { allElementsInUniverse.insert(c); });
+        }
+      };
+      universe.walk(collectElements);
+      return allElementsInUniverse;
+    });
 
-    
     cout << "NuclearInteraction: initializing nuclear cross sections..." << endl;
-   
+
     // loop over target components, at most 4!!
-    int k =-1;
-    for(auto &ptarg: allElementsInUniverse){
+    int k = -1;
+    for (auto& ptarg : allElementsInUniverse) {
       ++k;
       cout << "NuclearInteraction: init target component: " << ptarg << endl;
-      const int ib = GetNucleusA( ptarg );
-      if(!fHadronicInteraction.IsValidTarget( ptarg )){
-	cout << "NuclearInteraction::InitializeNuclearCrossSections: target nucleus? id="
-	     << ptarg << endl;
-	throw std::runtime_error(" target can not be handled by hadronic interaction model! ");
+      const int ib = GetNucleusA(ptarg);
+      if (!fHadronicInteraction.IsValidTarget(ptarg)) {
+        cout << "NuclearInteraction::InitializeNuclearCrossSections: target nucleus? id="
+             << ptarg << endl;
+        throw std::runtime_error(
+            " target can not be handled by hadronic interaction model! ");
       }
-      fTargetComponentsIndex.insert( std::pair<Code,int>(ptarg, k) );
+      fTargetComponentsIndex.insert(std::pair<Code, int>(ptarg, k));
       // loop over energies, fNEnBins log. energy bins
-      for(int i=0; i<GetNEnergyBins(); ++i){
-	// hard coded energy grid, has to be aligned to definition in signuc2!!, no comment..
-	const units::si::HEPEnergyType Ecm = pow(10., 1. + 1.*i ) * 1_GeV;
-	// get p-p cross sections
-	auto const protonId = Code::Proton;
-	auto const [siginel, sigela ] =
-	  fHadronicInteraction.GetCrossSection(protonId, protonId, Ecm); 
-	const double dsig = siginel / 1_mbarn;
-	const double dsigela = sigela / 1_mbarn;
-	// loop over projectiles, mass numbers from 2 to fMaxNucleusAProjectile
-	for(int j=1; j<fMaxNucleusAProjectile; ++j){
-	  const int jj = j+1;
-	  double sig_out, dsig_out, sigqe_out, dsigqe_out;
-	  sigma_mc_(jj,ib,dsig,dsigela,fNSample,sig_out,dsig_out,sigqe_out,dsigqe_out);
-	  // write to table
-	  cnucsignuc_.sigma[j][k][i] = sig_out;
-	  cnucsignuc_.sigqe[j][k][i] = sigqe_out;
-	}
+      for (int i = 0; i < GetNEnergyBins(); ++i) {
+        // hard coded energy grid, has to be aligned to definition in signuc2!!, no
+        // comment..
+        const units::si::HEPEnergyType Ecm = pow(10., 1. + 1. * i) * 1_GeV;
+        // get p-p cross sections
+        auto const protonId = Code::Proton;
+        auto const [siginel, sigela] =
+            fHadronicInteraction.GetCrossSection(protonId, protonId, Ecm);
+        const double dsig = siginel / 1_mbarn;
+        const double dsigela = sigela / 1_mbarn;
+        // loop over projectiles, mass numbers from 2 to fMaxNucleusAProjectile
+        for (int j = 1; j < fMaxNucleusAProjectile; ++j) {
+          const int jj = j + 1;
+          double sig_out, dsig_out, sigqe_out, dsigqe_out;
+          sigma_mc_(jj, ib, dsig, dsigela, fNSample, sig_out, dsig_out, sigqe_out,
+                    dsigqe_out);
+          // write to table
+          cnucsignuc_.sigma[j][k][i] = sig_out;
+          cnucsignuc_.sigqe[j][k][i] = sigqe_out;
+        }
       }
     }
-    cout << "NuclearInteraction: cross sections for " << fTargetComponentsIndex.size() << " components initialized!" << endl;
-    for(auto &ptarg: allElementsInUniverse){
+    cout << "NuclearInteraction: cross sections for " << fTargetComponentsIndex.size()
+         << " components initialized!" << endl;
+    for (auto& ptarg : allElementsInUniverse) {
       cout << "cross section table: " << ptarg << endl;
-      PrintCrossSectionTable( ptarg );
+      PrintCrossSectionTable(ptarg);
     }
-
   }
 
-  void NuclearInteraction::PrintCrossSectionTable( corsika::particles::Code pCode)
-  {
+  void NuclearInteraction::PrintCrossSectionTable(corsika::particles::Code pCode) {
     using namespace corsika::particles;
-    const int k = fTargetComponentsIndex.at( pCode );
-    Code pNuclei [] = {Code::Helium, Code::Lithium7, Code::Oxygen,
-		       Code::Neon, Code::Argon, Code::Iron};
+    const int k = fTargetComponentsIndex.at(pCode);
+    Code pNuclei[] = {Code::Helium, Code::Lithium7, Code::Oxygen,
+                      Code::Neon,   Code::Argon,    Code::Iron};
     cout << "en/A ";
-    for(auto &j: pNuclei)
-      cout << std::setw(9) << j;
+    for (auto& j : pNuclei) cout << std::setw(9) << j;
     cout << endl;
 
     // loop over energy bins
-    for(int i=0; i<GetNEnergyBins(); ++i){
+    for (int i = 0; i < GetNEnergyBins(); ++i) {
       cout << " " << i << "  ";
-      for(auto &n: pNuclei){
-	auto const j= GetNucleusA( n );
-	cout << " " << std::setprecision(5) << std::setw(8) << cnucsignuc_.sigma[j-1][k][i];
+      for (auto& n : pNuclei) {
+        auto const j = GetNucleusA(n);
+        cout << " " << std::setprecision(5) << std::setw(8)
+             << cnucsignuc_.sigma[j - 1][k][i];
       }
-      cout << endl;      
+      cout << endl;
     }
   }
-  
-  units::si::CrossSectionType NuclearInteraction::ReadCrossSectionTable(const int ia, particles::Code pTarget, units::si::HEPEnergyType elabnuc)
-  {
+
+  units::si::CrossSectionType NuclearInteraction::ReadCrossSectionTable(
+      const int ia, particles::Code pTarget, units::si::HEPEnergyType elabnuc) {
     using namespace corsika::particles;
     using namespace units::si;
-    const int ib = fTargetComponentsIndex.at( pTarget )+1; // table index in fortran
-    auto const ECoMNuc = sqrt( 2. * corsika::units::constants::nucleonMass * elabnuc );
-    if( ECoMNuc < GetMinEnergyPerNucleonCoM() || ECoMNuc > GetMaxEnergyPerNucleonCoM() )
+    const int ib = fTargetComponentsIndex.at(pTarget) + 1; // table index in fortran
+    auto const ECoMNuc = sqrt(2. * corsika::units::constants::nucleonMass * elabnuc);
+    if (ECoMNuc < GetMinEnergyPerNucleonCoM() || ECoMNuc > GetMaxEnergyPerNucleonCoM())
       throw std::runtime_error("NuclearInteraction: energy outside tabulated range!");
     const double e0 = elabnuc / 1_GeV;
     double sig;
     cout << "ReadCrossSectionTable: " << ia << " " << ib << " " << e0 << endl;
-    signuc2_(ia,ib,e0,sig);
+    signuc2_(ia, ib, e0, sig);
     cout << "ReadCrossSectionTable: sig=" << sig << endl;
     return sig * 1_mbarn;
   }
-  
+
   // TODO: remove elastic cross section?
   template <>
   tuple<units::si::CrossSectionType, units::si::CrossSectionType>
   NuclearInteraction::GetCrossSection(Particle& p, const particles::Code TargetId) {
     using namespace units::si;
-    if ( p.GetPID() != particles::Code::Nucleus)
+    if (p.GetPID() != particles::Code::Nucleus)
       throw std::runtime_error(
           "NuclearInteraction: GetCrossSection: particle not a nucleus!");
 
@@ -200,11 +200,11 @@ namespace corsika::process::sibyll {
     }
 
     if (fHadronicInteraction.IsValidTarget(TargetId)) {
-      auto const sigProd = ReadCrossSectionTable( iBeamA, TargetId, LabEnergyPerNuc );
+      auto const sigProd = ReadCrossSectionTable(iBeamA, TargetId, LabEnergyPerNuc);
       cout << "cross section (mb): " << sigProd / 1_mbarn << endl;
       return std::make_tuple(sigProd, 0_mbarn);
     } else {
-      throw std::runtime_error( "target outside range.");
+      throw std::runtime_error("target outside range.");
     }
     return std::make_tuple(std::numeric_limits<double>::infinity() * 1_mbarn,
                            std::numeric_limits<double>::infinity() * 1_mbarn);
@@ -261,7 +261,8 @@ namespace corsika::process::sibyll {
 
     // energy limits
     // TODO: values depend on hadronic interaction model !! this is sibyll specific
-    if (ElabNuc >= 8.5_GeV && ECoMNN >= fMinEnergyPerNucleonCoM && ECoMNN < fMaxEnergyPerNucleonCoM) {
+    if (ElabNuc >= 8.5_GeV && ECoMNN >= fMinEnergyPerNucleonCoM &&
+        ECoMNN < fMaxEnergyPerNucleonCoM) {
 
       // get target from environment
       /*
@@ -358,7 +359,7 @@ namespace corsika::process::sibyll {
 
     // projectile nucleon number
     const int kAProj = p.GetNuclearA(); // GetNucleusA(ProjId);
-    if (kAProj > GetMaxNucleusAProjectile() )
+    if (kAProj > GetMaxNucleusAProjectile())
       throw std::runtime_error("Projectile nucleus too large for NUCLIB!");
 
     // kinematics
@@ -460,7 +461,7 @@ namespace corsika::process::sibyll {
     if (IsNucleus(targetCode)) kATarget = GetNucleusA(targetCode);
     if (targetCode == particles::Proton::GetCode()) kATarget = 1;
     cout << "NuclearInteraction: nuclib target code: " << kATarget << endl;
-    if(!fHadronicInteraction.IsValidTarget(targetCode))
+    if (!fHadronicInteraction.IsValidTarget(targetCode))
       throw std::runtime_error("target outside range. ");
     // end of target sampling
 
diff --git a/Processes/Sibyll/NuclearInteraction.h b/Processes/Sibyll/NuclearInteraction.h
index ad1d0bc7e06e064d859f0817d0128d6b1d73170e..c62249bbefb0193d603714cc960743e921ee1a5d 100644
--- a/Processes/Sibyll/NuclearInteraction.h
+++ b/Processes/Sibyll/NuclearInteraction.h
@@ -42,10 +42,15 @@ namespace corsika::process::sibyll {
     void Init();
     void InitializeNuclearCrossSections();
     void PrintCrossSectionTable(corsika::particles::Code);
-    corsika::units::si::CrossSectionType ReadCrossSectionTable(const int, corsika::particles::Code, corsika::units::si::HEPEnergyType);
-    corsika::units::si::HEPEnergyType GetMinEnergyPerNucleonCoM() { return fMinEnergyPerNucleonCoM; }
-    corsika::units::si::HEPEnergyType GetMaxEnergyPerNucleonCoM() { return fMaxEnergyPerNucleonCoM; }
-    int GetMaxNucleusAProjectile() {return fMaxNucleusAProjectile; }
+    corsika::units::si::CrossSectionType ReadCrossSectionTable(
+        const int, corsika::particles::Code, corsika::units::si::HEPEnergyType);
+    corsika::units::si::HEPEnergyType GetMinEnergyPerNucleonCoM() {
+      return fMinEnergyPerNucleonCoM;
+    }
+    corsika::units::si::HEPEnergyType GetMaxEnergyPerNucleonCoM() {
+      return fMaxEnergyPerNucleonCoM;
+    }
+    int GetMaxNucleusAProjectile() { return fMaxNucleusAProjectile; }
     int GetMaxNFragments() { return fMaxNFragments; }
     int GetNEnergyBins() { return fNEnBins; }
     template <typename Particle>
@@ -61,7 +66,7 @@ namespace corsika::process::sibyll {
   private:
     corsika::environment::Environment const& fEnvironment;
     corsika::process::sibyll::Interaction& fHadronicInteraction;
-    std::map<corsika::particles::Code,int> fTargetComponentsIndex;
+    std::map<corsika::particles::Code, int> fTargetComponentsIndex;
     corsika::random::RNG& fRNG =
         corsika::random::RNGManager::GetInstance().GetRandomStream("s_rndm");
     const int fNSample = 500; // number of samples in MC estimation of cross section
@@ -70,10 +75,10 @@ namespace corsika::process::sibyll {
     const int fMaxNFragments = 60;
     // energy limits defined by table used for cross section in signuc.f
     // 10**1 GeV to 10**6 GeV
-    const corsika::units::si::HEPEnergyType fMinEnergyPerNucleonCoM = 
-      10. * 1e9 * corsika::units::si::electronvolt;
-    const corsika::units::si::HEPEnergyType fMaxEnergyPerNucleonCoM = 
-      1.e6 * 1e9 * corsika::units::si::electronvolt;
+    const corsika::units::si::HEPEnergyType fMinEnergyPerNucleonCoM =
+        10. * 1e9 * corsika::units::si::electronvolt;
+    const corsika::units::si::HEPEnergyType fMaxEnergyPerNucleonCoM =
+        1.e6 * 1e9 * corsika::units::si::electronvolt;
   };
 
 } // namespace corsika::process::sibyll
diff --git a/Processes/Sibyll/nuclib.h b/Processes/Sibyll/nuclib.h
index ddd1856cd2eea972e257ba2958f6705ae15bcf96..44e86f50ef825bc8bfd7d98763d86be1ab903fa4 100644
--- a/Processes/Sibyll/nuclib.h
+++ b/Processes/Sibyll/nuclib.h
@@ -34,13 +34,12 @@ extern struct {
 */
 extern struct { double ppp[60][3]; } fragments_;
 
-  //        COMMON /cnucsignuc/SIGMA(6,4,56), SIGQE(6,4,56)
-  extern struct
-  {
-    double sigma[56][4][6];
-    double sigqe[56][4][6];
-  } cnucsignuc_;
-  
+//        COMMON /cnucsignuc/SIGMA(6,4,56), SIGQE(6,4,56)
+extern struct {
+  double sigma[56][4][6];
+  double sigqe[56][4][6];
+} cnucsignuc_;
+
 // NUCLIB
 
 // subroutine to initiate nuclib
@@ -56,6 +55,7 @@ void signuc_(const int&, const double&, double&);
 
 void signuc2_(const int&, const int&, const double&, double&);
 
-void sigma_mc_(const int&, const int&, const double&, const double&, const int&, double&, double&, double&, double&);
+void sigma_mc_(const int&, const int&, const double&, const double&, const int&, double&,
+               double&, double&, double&);
 }
 #endif
diff --git a/Stack/NuclearStackExtension/NuclearStackExtension.h b/Stack/NuclearStackExtension/NuclearStackExtension.h
index 11923aba8497123b6ac9175b73ab6b1b27aa9725..6c1fd2b801120bbe0c22c6c76d22ccadc652f4af 100644
--- a/Stack/NuclearStackExtension/NuclearStackExtension.h
+++ b/Stack/NuclearStackExtension/NuclearStackExtension.h
@@ -159,7 +159,24 @@ namespace corsika::stack {
       int GetNuclearZ() const { return GetStackData().GetNuclearZ(GetIndex()); }
       /// @}
 
-      // int GetNucleusRef() const { return GetStackData().GetNucleusRef(GetIndex()); }
+      /**
+       * Overwrite normal GetParticleMass function with nuclear version
+       */
+      corsika::units::si::HEPMassType GetMass() const {
+        if (InnerParticleInterface<StackIteratorInterface>::GetPID() ==
+            corsika::particles::Code::Nucleus)
+          return corsika::particles::GetNucleusMass(GetNuclearA(), GetNuclearZ());
+        return InnerParticleInterface<StackIteratorInterface>::GetMass();
+      }
+      /**
+       * Overwirte normal GetChargeNumber function with nuclear version
+       **/
+      int16_t GetChargeNumber() const {
+        if (InnerParticleInterface<StackIteratorInterface>::GetPID() ==
+            corsika::particles::Code::Nucleus)
+          return GetNuclearZ();
+        return InnerParticleInterface<StackIteratorInterface>::GetChargeNumber();
+      }
 
     protected:
       void SetNucleusRef(const int vR) { GetStackData().SetNucleusRef(GetIndex(), vR); }
diff --git a/Stack/SuperStupidStack/SuperStupidStack.h b/Stack/SuperStupidStack/SuperStupidStack.h
index 365a45aa963c235b34b5e762cd79192af40b56c2..1610aede7ec0cad53a8e5e92d14ffba5ce1ab973 100644
--- a/Stack/SuperStupidStack/SuperStupidStack.h
+++ b/Stack/SuperStupidStack/SuperStupidStack.h
@@ -117,10 +117,22 @@ namespace corsika::stack {
       corsika::units::si::TimeType GetTime() const {
         return GetStackData().GetTime(GetIndex());
       }
+      /**
+       * @name derived quantities
+       *
+       * @{
+       */
       corsika::geometry::Vector<corsika::units::si::dimensionless_d> GetDirection()
           const {
         return GetMomentum() / GetEnergy();
       }
+      corsika::units::si::HEPMassType GetMass() const {
+        return corsika::particles::GetMass(GetPID());
+      }
+      int16_t GetChargeNumber() const {
+        return corsika::particles::GetChargeNumber(GetPID());
+      }
+      ///@}
     };
 
     /**
diff --git a/ThirdParty/phys/units/quantity.hpp b/ThirdParty/phys/units/quantity.hpp
index bec55318685ffb0e69bfeeb19260ef20e6d1eed1..06fbb4b2c760dfc8641d58392aa30062ff7c4e84 100644
--- a/ThirdParty/phys/units/quantity.hpp
+++ b/ThirdParty/phys/units/quantity.hpp
@@ -144,9 +144,18 @@ namespace phys {
           d8 = DX::dim8 + DY::dim8
         };
 
-        typedef Collapse<dimensions<d1, d2, d3, d4, d5, d6, d7, d8>, T> type;
+        typedef dimensions<d1, d2, d3, d4, d5, d6, d7, d8> dim;
+
+        typedef Collapse<dim, T> type;
       };
 
+      /**
+       * convenience type for product dimension
+       */
+
+      template <typename DX, typename DY>
+      using product_d = typename product<DX, DY, Rep>::dim;
+
       template <typename DX, typename DY, typename X, typename Y>
       using Product = typename product<DX, DY, PromoteMul<X, Y>>::type;
 
@@ -166,9 +175,18 @@ namespace phys {
           d8 = DX::dim8 - DY::dim8
         };
 
-        typedef Collapse<dimensions<d1, d2, d3, d4, d5, d6, d7, d8>, T> type;
+        typedef dimensions<d1, d2, d3, d4, d5, d6, d7, d8> dim;
+
+        typedef Collapse<dim, T> type;
       };
 
+      /**
+       * convenience type for quotient dimension
+       */
+
+      template <typename DX, typename DY>
+      using quotient_d = typename quotient<DX, DY, Rep>::dim;
+
       template <typename DX, typename DY, typename X, typename Y>
       using Quotient = typename quotient<DX, DY, PromoteMul<X, Y>>::type;
 
@@ -188,9 +206,18 @@ namespace phys {
           d8 = -D::dim8
         };
 
-        typedef Collapse<dimensions<d1, d2, d3, d4, d5, d6, d7, d8>, T> type;
+        typedef dimensions<d1, d2, d3, d4, d5, d6, d7, d8> dim;
+
+        typedef Collapse<dim, T> type;
       };
 
+      /**
+       * convenience type for reciprocal dimension
+       */
+
+      template <typename DX, typename DY>
+      using reciprocal_d = typename reciprocal<DX, Rep>::dim;
+
       template <typename D, typename X, typename Y>
       using Reciprocal = typename reciprocal<D, PromoteMul<X, Y>>::type;
 
@@ -210,11 +237,20 @@ namespace phys {
           d8 = N * D::dim8
         };
 
-        typedef Collapse<dimensions<d1, d2, d3, d4, d5, d6, d7, d8>, T> type;
+        typedef dimensions<d1, d2, d3, d4, d5, d6, d7, d8> dim;
+
+        typedef Collapse<dim, T> type;
       };
 
+      /**
+       * convenience type for power dimension
+       */
+
+      template <typename DX, int N>
+      using power_d = typename power<DX, N, Rep>::dim;
+
       template <typename D, int N, typename T>
-      using Power = typename detail::power<D, N, T>::type;
+      using Power = typename power<D, N, T>::type;
 
       /**
        * root type generator.
@@ -238,9 +274,17 @@ namespace phys {
           d8 = D::dim8 / N
         };
 
-        typedef Collapse<dimensions<d1, d2, d3, d4, d5, d6, d7, d8>, T> type;
+        typedef dimensions<d1, d2, d3, d4, d5, d6, d7, d8> dim;
+
+        typedef Collapse<dim, T> type;
       };
 
+      /**
+       * convenience type for root dimension
+       */
+      template <typename D, int N>
+      using root_d = typename root<D, N, Rep>::dim;
+
       template <typename D, int N, typename T>
       using Root = typename detail::root<D, N, T>::type;