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;