diff --git a/Documentation/Examples/geometry_example.cc b/Documentation/Examples/geometry_example.cc index 9c459db161a116047b87e1ffd18e00c753fef374..6a05974fd6d5e0224d809072b99979e29578f7d2 100644 --- a/Documentation/Examples/geometry_example.cc +++ b/Documentation/Examples/geometry_example.cc @@ -9,7 +9,7 @@ #include <typeinfo> using namespace corsika::geometry; -using namespace corsika::units; +using namespace corsika::units::si; int main() { // define the root coordinate system diff --git a/Documentation/Examples/helix_example.cc b/Documentation/Examples/helix_example.cc index 5caf35a43cf7d7a225161c02c4ecacf6a35475f5..9d6cdb23c5de0e2f4dd879cc63179a0ba3dd6ab7 100644 --- a/Documentation/Examples/helix_example.cc +++ b/Documentation/Examples/helix_example.cc @@ -8,7 +8,7 @@ #include <iostream> using namespace corsika::geometry; -using namespace corsika::units; +using namespace corsika::units::si; int main() { diff --git a/Documentation/Examples/stack_example.cc b/Documentation/Examples/stack_example.cc index e70b7e6c85231ff141c16dcdb8f8dcacf0aaebbe..691cdb38440e916ee97f637705ea2bbfe3db89ba 100644 --- a/Documentation/Examples/stack_example.cc +++ b/Documentation/Examples/stack_example.cc @@ -7,7 +7,7 @@ using namespace std; // using namespace corsika::literals; // using namespace corsika::io; -using namespace corsika::units; +using namespace corsika::units::si; using namespace corsika::stack; void fill(corsika::stack::super_stupid::SuperStupidStack& s) { diff --git a/Framework/Cascade/Cascade.h b/Framework/Cascade/Cascade.h index 8c29a77987316d40f1aebf6df392f1abf581e446..3ef8ce9289cd1240e1d9897ddf87e881fb447c1a 100644 --- a/Framework/Cascade/Cascade.h +++ b/Framework/Cascade/Cascade.h @@ -5,7 +5,7 @@ #include <corsika/geometry/Point.h> // to be removed #include <corsika/units/PhysicalUnits.h> -using namespace corsika::units; +using namespace corsika::units::si; namespace corsika::cascade { @@ -27,8 +27,20 @@ namespace corsika::cascade { void Run() { while (!fStack.IsEmpty()) { while (!fStack.IsEmpty()) { - Particle& p = *fStack.GetNextParticle(); - Step(p); + //Particle& p = *fStack.GetNextParticle(); + EnergyType Emin; + typename Stack::StackIterator pMin(fStack, 0); + bool first = true; + for (typename Stack::StackIterator ip = fStack.begin(); ip!=fStack.end(); ++ip) + { + if (first || ip.GetEnergy()<Emin) { + first = false; + pMin = ip; + Emin = pMin.GetEnergy(); + } + } + + Step(pMin); } // do cascade equations, which can put new particles on Stack, // thus, the double loop @@ -41,7 +53,7 @@ namespace corsika::cascade { corsika::geometry::CoordinateSystem root; Trajectory trajectory( corsika::geometry::Point(root, {0_m, 0_m, 0_m}), - corsika::geometry::Vector<corsika::units::SpeedType::dimension_type>( + corsika::geometry::Vector<corsika::units::si::SpeedType::dimension_type>( root, 0 * 1_m / second, 0 * 1_m / second, 1 * 1_m / second)); fProcesseList.DoContinuous(particle, trajectory, fStack); // if (particle.IsMarkedToBeDeleted()) diff --git a/Framework/Cascade/testCascade.cc b/Framework/Cascade/testCascade.cc index 3f9f1b0fcc61ae6764adb13424fc447dfc2a5d7e..7e0bd76ba6e94655dc8c3a4c83c06c1acd87c7a5 100644 --- a/Framework/Cascade/testCascade.cc +++ b/Framework/Cascade/testCascade.cc @@ -13,6 +13,8 @@ using namespace corsika::units; #include <iostream> using namespace std; +static int fCount = 0; + class ProcessSplit : public corsika::process::BaseProcess<ProcessSplit> { public: ProcessSplit() {} @@ -28,13 +30,13 @@ public: template <typename Particle, typename Stack> void DoDiscrete(Particle& p, Stack& s) const { EnergyType E = p.GetEnergy(); - if (E < 1_GeV) { + if (E < 85_MeV) { p.Delete(); fCount++; } else { p.SetEnergy(E / 2); s.NewParticle().SetEnergy(E / 2); - } + } } void Init() { fCount = 0; } @@ -42,7 +44,6 @@ public: int GetCount() { return fCount; } private: - mutable int fCount = 0; }; class ProcessReport : public corsika::process::BaseProcess<ProcessReport> { @@ -59,17 +60,22 @@ public: template <typename Particle, typename Trajectory, typename Stack> void DoContinuous(Particle& p, Trajectory& t, Stack& s) const { + static int countStep = 0; if (!fReport) return; - static int fCount = 0; - std::cout << "generation " << fCount << std::endl; + //std::cout << "generation " << countStep << std::endl; int i = 0; + EnergyType Etot = 0_GeV; for (auto& iterP : s) { EnergyType E = iterP.GetEnergy(); - std::cout << " particle data: " << i++ << ", id=" << iterP.GetPID() + Etot += E; + /* std::cout << " particle data: " << i++ << ", id=" << iterP.GetPID() << ", E=" << double(E / 1_GeV) << " GeV " << " | " << std::endl; + */ } - fCount++; + countStep++; + //cout << "#=" << countStep << " " << s.GetSize() << " " << Etot/1_GeV << endl; + cout << countStep << " " << s.GetSize() << " " << Etot/1_GeV << " " << fCount << endl; } template <typename Particle, typename Stack> @@ -79,25 +85,32 @@ public: TEST_CASE("Cascade", "[Cascade]") { - ProcessReport p0(false); + ProcessReport p0(true); ProcessSplit p1; const auto sequence = p0 + p1; corsika::stack::super_stupid::SuperStupidStack stack; - + corsika::cascade::Cascade<corsika::geometry::LineTrajectory, decltype(sequence), decltype(stack)> EAS(sequence, stack); + stack.Clear(); + auto particle = stack.NewParticle(); + EnergyType E0 = 100_GeV; + particle.SetEnergy(E0); + EAS.Init(); + EAS.Run(); + SECTION("sectionTwo") { - for (int i = 0; i < 5; ++i) { + for (int i = 0; i < 0; ++i) { stack.Clear(); auto particle = stack.NewParticle(); EnergyType E0 = 100_GeV * pow(10, i); particle.SetEnergy(E0); EAS.Init(); EAS.Run(); - - cout << "E0=" << E0 / 1_GeV << "GeV, count=" << p1.GetCount() << endl; + + //cout << "Result: E0=" << E0 / 1_GeV << "GeV, count=" << p1.GetCount() << endl; } } } diff --git a/Framework/Geometry/BaseTrajectory.h b/Framework/Geometry/BaseTrajectory.h index ec5e4062cfe2be63d1f7be83bdb4a3e02cc1d596..485e4b734d960e77f332a3b09146215af0e7ac6e 100644 --- a/Framework/Geometry/BaseTrajectory.h +++ b/Framework/Geometry/BaseTrajectory.h @@ -15,7 +15,7 @@ namespace corsika::geometry { public: //!< t for \f$ t = 0 \f$, the starting Point shall be returned. - virtual Point GetPosition(corsika::units::TimeType t) const = 0; + virtual Point GetPosition(corsika::units::si::TimeType t) const = 0; }; } // namespace corsika::geometry diff --git a/Framework/Geometry/CoordinateSystem.h b/Framework/Geometry/CoordinateSystem.h index b8a7afc25be0f3ab800fd7d4f4a69ae9646578e1..d30e9b4389ad772de241446bf1eb1c22b5e301e9 100644 --- a/Framework/Geometry/CoordinateSystem.h +++ b/Framework/Geometry/CoordinateSystem.h @@ -10,7 +10,7 @@ typedef Eigen::Translation<double, 3> EigenTranslation; namespace corsika::geometry { - using corsika::units::length_d; + using corsika::units::si::length_d; class CoordinateSystem { CoordinateSystem const* reference = nullptr; diff --git a/Framework/Geometry/Helix.h b/Framework/Geometry/Helix.h index 29bb49438f23387413094c8319486db8eea67e70..af92a68a5bb1e0bfae39390e46e14eafb7b68bf7 100644 --- a/Framework/Geometry/Helix.h +++ b/Framework/Geometry/Helix.h @@ -21,17 +21,17 @@ namespace corsika::geometry { */ class Helix : public BaseTrajectory { - using VelocityVec = Vector<corsika::units::SpeedType::dimension_type>; + using VelocityVec = Vector<corsika::units::si::SpeedType::dimension_type>; Point const r0; - corsika::units::FrequencyType const omegaC; + corsika::units::si::FrequencyType const omegaC; VelocityVec const vPar; VelocityVec const vPerp, uPerp; - corsika::units::LengthType const radius; + corsika::units::si::LengthType const radius; public: - Helix(Point const& pR0, corsika::units::FrequencyType pOmegaC, + Helix(Point const& pR0, corsika::units::si::FrequencyType pOmegaC, VelocityVec const& pvPar, VelocityVec const& pvPerp) : r0(pR0) , omegaC(pOmegaC) @@ -40,7 +40,7 @@ namespace corsika::geometry { , uPerp(vPerp.cross(vPar.normalized())) , radius(pvPar.norm() / abs(pOmegaC)) {} - Point GetPosition(corsika::units::TimeType t) const { + Point GetPosition(corsika::units::si::TimeType t) const { return r0 + vPar * t + (vPerp * (cos(omegaC * t) - 1) + uPerp * sin(omegaC * t)) / omegaC; } diff --git a/Framework/Geometry/LineTrajectory.h b/Framework/Geometry/LineTrajectory.h index 556da4642c52689c492fbd619863a3bfc0729d99..b3aa4423eff2488fd5f2b80d034cb692c4a884ba 100644 --- a/Framework/Geometry/LineTrajectory.h +++ b/Framework/Geometry/LineTrajectory.h @@ -9,7 +9,7 @@ namespace corsika::geometry { class LineTrajectory : public BaseTrajectory { - using VelocityVec = Vector<corsika::units::SpeedType::dimension_type>; + using VelocityVec = Vector<corsika::units::si::SpeedType::dimension_type>; Point const r0; VelocityVec const v0; @@ -19,7 +19,7 @@ namespace corsika::geometry { : r0(pR0) , v0(pV0) {} - Point GetPosition(corsika::units::TimeType t) const override { return r0 + v0 * t; } + Point GetPosition(corsika::units::si::TimeType t) const override { return r0 + v0 * t; } }; } // namespace corsika::geometry diff --git a/Framework/Geometry/Point.h b/Framework/Geometry/Point.h index 108fe87f4aadd5339d93160a0b5f0efaab80199a..debbf91854abdb1852052d487981400d4966da8a 100644 --- a/Framework/Geometry/Point.h +++ b/Framework/Geometry/Point.h @@ -8,8 +8,8 @@ namespace corsika::geometry { - using corsika::units::length_d; - using corsika::units::LengthType; + using corsika::units::si::length_d; + using corsika::units::si::LengthType; /*! * A Point represents a point in position space. It is defined by its diff --git a/Framework/Geometry/QuantityVector.h b/Framework/Geometry/QuantityVector.h index 671a6856092a0811aaf5d407ef68b0f7fbd37e4f..6066e1d50fa181fd653217b115e2afe7b79a764b 100644 --- a/Framework/Geometry/QuantityVector.h +++ b/Framework/Geometry/QuantityVector.h @@ -8,17 +8,18 @@ #include <iostream> #include <utility> -namespace corsika { +namespace corsika::geometry { /*! * A QuantityVector is a three-component container based on Eigen::Vector3d - * with a phys::units::dimension. Arithmethic operators are defined that + * with a phys::units::si::dimension. Arithmethic operators are defined that * propagate the dimensions by dimensional analysis. */ - + template <typename dim> class QuantityVector { protected: + // todo: check if we need to move "quantity" into namespace corsika::units using Quantity = phys::units::quantity<dim, double>; //< the phys::units::quantity // corresponding to the dimension @@ -108,7 +109,7 @@ namespace corsika { } // end namespace corsika template <typename dim> -auto& operator<<(std::ostream& os, corsika::QuantityVector<dim> qv) { +auto& operator<<(std::ostream& os, corsika::geometry::QuantityVector<dim> qv) { using Quantity = phys::units::quantity<dim, double>; os << '(' << qv.eVector(0) << ' ' << qv.eVector(1) << ' ' << qv.eVector(2) << ") " diff --git a/Framework/Geometry/Trajectory.h b/Framework/Geometry/Trajectory.h index 8a640cacd027510a64d0c574c48e66dbe11fd1d9..5c8cc739deb2e40cafd4642ff9fedf04031f1ecd 100644 --- a/Framework/Geometry/Trajectory.h +++ b/Framework/Geometry/Trajectory.h @@ -7,17 +7,17 @@ namespace corsika::geometry { class Trajectory { - corsika::units::TimeType const fTStart, fTEnd; + corsika::units::si::TimeType const fTStart, fTEnd; BaseTrajectory const& fTrajectory; public: - Trajectory(corsika::units::TimeType pTStart, corsika::units::TimeType pTEnd, + Trajectory(corsika::units::si::TimeType pTStart, corsika::units::si::TimeType pTEnd, BaseTrajectory const& pTrajectory) : fTStart(pTStart) , fTEnd(pTEnd) , fTrajectory(pTrajectory) {} - Point GetPosition(corsika::units::TimeType t) const { + Point GetPosition(corsika::units::si::TimeType t) const { return fTrajectory.GetPosition(t + fTStart); } diff --git a/Framework/Geometry/testGeometry.cc b/Framework/Geometry/testGeometry.cc index 469d2dec68643215ac7a0d33bb55edbee3e211ad..ac444ef162a220ea92d51b240bd160d0d50694af 100644 --- a/Framework/Geometry/testGeometry.cc +++ b/Framework/Geometry/testGeometry.cc @@ -12,10 +12,10 @@ #include <cmath> using namespace corsika::geometry; -using namespace corsika::units; +using namespace corsika::units::si; double constexpr absMargin = 1.0e-8; -; + TEST_CASE("transformations between CoordinateSystems") { CoordinateSystem rootCS; @@ -23,10 +23,10 @@ TEST_CASE("transformations between CoordinateSystems") { REQUIRE(CoordinateSystem::GetTransformation(rootCS, rootCS) .isApprox(EigenTransform::Identity())); - corsika::QuantityVector<length_d> const coordinates{0_m, 0_m, 0_m}; + QuantityVector<length_d> const coordinates{0_m, 0_m, 0_m}; Point p1(rootCS, coordinates); - corsika::QuantityVector<magnetic_flux_density_d> components{1. * tesla, 0. * tesla, + QuantityVector<magnetic_flux_density_d> components{1. * tesla, 0. * tesla, 0. * tesla}; Vector<magnetic_flux_density_d> v1(rootCS, components); @@ -41,7 +41,7 @@ TEST_CASE("transformations between CoordinateSystems") { } SECTION("translations") { - corsika::QuantityVector<length_d> const translationVector{0_m, 4_m, 0_m}; + QuantityVector<length_d> const translationVector{0_m, 4_m, 0_m}; CoordinateSystem translatedCS = rootCS.translate(translationVector); @@ -61,13 +61,13 @@ TEST_CASE("transformations between CoordinateSystems") { } SECTION("multiple translations") { - corsika::QuantityVector<length_d> const tv1{0_m, 5_m, 0_m}; + QuantityVector<length_d> const tv1{0_m, 5_m, 0_m}; CoordinateSystem cs2 = rootCS.translate(tv1); - corsika::QuantityVector<length_d> const tv2{3_m, 0_m, 0_m}; + QuantityVector<length_d> const tv2{3_m, 0_m, 0_m}; CoordinateSystem cs3 = rootCS.translate(tv2); - corsika::QuantityVector<length_d> const tv3{0_m, 0_m, 2_m}; + QuantityVector<length_d> const tv3{0_m, 0_m, 2_m}; CoordinateSystem cs4 = cs3.translate(tv3); REQUIRE(cs4.GetReference()->GetReference() == &rootCS); @@ -79,7 +79,7 @@ TEST_CASE("transformations between CoordinateSystems") { } SECTION("rotations") { - corsika::QuantityVector<length_d> const axis{0_m, 0_m, 1_km}; + QuantityVector<length_d> const axis{0_m, 0_m, 1_km}; double const angle = 90. / 180. * M_PI; CoordinateSystem rotatedCS = rootCS.rotate(axis, angle); @@ -94,9 +94,9 @@ TEST_CASE("transformations between CoordinateSystems") { } SECTION("multiple rotations") { - corsika::QuantityVector<length_d> const zAxis{0_m, 0_m, 1_km}; - corsika::QuantityVector<length_d> const yAxis{0_m, 7_nm, 0_m}; - corsika::QuantityVector<length_d> const xAxis{2_m, 0_nm, 0_m}; + QuantityVector<length_d> const zAxis{0_m, 0_m, 1_km}; + QuantityVector<length_d> const yAxis{0_m, 7_nm, 0_m}; + QuantityVector<length_d> const xAxis{2_m, 0_nm, 0_m}; double const angle = 90. / 180. * M_PI; @@ -133,7 +133,7 @@ TEST_CASE("Trajectories") { LineTrajectory const lineTrajectory(r0, v0); CHECK((lineTrajectory.GetPosition(2_s).GetCoordinates() - - corsika::QuantityVector<length_d>(2_m, 0_m, 0_m)) + QuantityVector<length_d>(2_m, 0_m, 0_m)) .norm() .magnitude() == Approx(0).margin(absMargin)); @@ -151,12 +151,12 @@ TEST_CASE("Trajectories") { Helix const helix(r0, omegaC, vPar, vPerp); CHECK((helix.GetPosition(1_s).GetCoordinates() - - corsika::QuantityVector<length_d>(0_m, 0_m, 4_m)) + QuantityVector<length_d>(0_m, 0_m, 4_m)) .norm() .magnitude() == Approx(0).margin(absMargin)); CHECK((helix.GetPosition(0.25_s).GetCoordinates() - - corsika::QuantityVector<length_d>(-1_m / (2 * M_PI), -1_m / (2 * M_PI), 1_m)) + QuantityVector<length_d>(-1_m / (2 * M_PI), -1_m / (2 * M_PI), 1_m)) .norm() .magnitude() == Approx(0).margin(absMargin)); diff --git a/Framework/Particles/ParticleProperties.h b/Framework/Particles/ParticleProperties.h index 23ef2369886f8b102f973c89dd921c0aab731e28..9e3c557d6df2662e3bf3ae58f8121bf51f4ce164 100644 --- a/Framework/Particles/ParticleProperties.h +++ b/Framework/Particles/ParticleProperties.h @@ -31,8 +31,8 @@ namespace corsika::particles { // forward declarations to be used in GeneratedParticleProperties int16_t constexpr GetElectricChargeNumber(Code const); - corsika::units::ElectricChargeType constexpr GetElectricCharge(Code const); - corsika::units::MassType constexpr GetMass(Code const); + corsika::units::si::ElectricChargeType constexpr GetElectricCharge(Code const); + corsika::units::si::MassType constexpr GetMass(Code const); PDGCodeType constexpr GetPDG(Code const); std::string const GetName(Code const); @@ -41,7 +41,7 @@ namespace corsika::particles { /*! * returns mass of particle */ - corsika::units::MassType constexpr GetMass(Code const p) { + corsika::units::si::MassType constexpr GetMass(Code const p) { return masses[static_cast<CodeIntType const>(p)]; } @@ -56,8 +56,8 @@ namespace corsika::particles { return electric_charges[static_cast<CodeIntType const>(p)]; } - corsika::units::ElectricChargeType constexpr GetElectricCharge(Code const p) { - return GetElectricChargeNumber(p) * (corsika::units::constants::e / 3.); + corsika::units::si::ElectricChargeType constexpr GetElectricCharge(Code const p) { + return GetElectricChargeNumber(p) * (corsika::units::si::constants::e / 3.); } std::string const GetName(Code const p) { diff --git a/Framework/Particles/pdxml_reader.py b/Framework/Particles/pdxml_reader.py index 4c271e8fbbcf4b8030b7f6df86f6ae8831681f83..8f39bd7ef193ece82395bc7849f7cb89aa891503 100755 --- a/Framework/Particles/pdxml_reader.py +++ b/Framework/Particles/pdxml_reader.py @@ -216,9 +216,9 @@ def gen_properties(pythia_db): string += "\n" # particle masses table - string += "static constexpr std::array<corsika::units::MassType const, size> masses = {\n" + string += "static constexpr std::array<corsika::units::si::MassType const, size> masses = {\n" for p in pythia_db.values(): - string += " {mass:f} * (1e9 * corsika::units::constants::eV / corsika::units::constants::cSquared), // {name:s}\n".format(mass = p['mass'], name = p['name']) + string += " {mass:f} * (1e9 * corsika::units::si::constants::eV / corsika::units::si::constants::cSquared), // {name:s}\n".format(mass = p['mass'], name = p['name']) string += "};\n\n" # PDG code table @@ -279,8 +279,8 @@ def gen_classes(pythia_db): string += "class " + cname + " {\n" string += " public:\n" string += " static constexpr Code GetCode() { return Type; }\n" - string += " static constexpr corsika::units::MassType GetMass() { return corsika::particles::GetMass(Type); }\n" - string += " static constexpr corsika::units::ElectricChargeType GetCharge() { return corsika::particles::GetElectricCharge(Type); }\n" + string += " static constexpr corsika::units::si::MassType 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 std::string const GetName() { return corsika::particles::GetName(Type); }\n" string += " static constexpr Code GetAntiParticle() { return AntiType; }\n" diff --git a/Framework/Particles/testParticles.cc b/Framework/Particles/testParticles.cc index 12947cb32689bbe9da1cc211a19d1b474039bff9..5e80d0081ed824408484fa38cdb50789df7a6528 100644 --- a/Framework/Particles/testParticles.cc +++ b/Framework/Particles/testParticles.cc @@ -6,7 +6,7 @@ // cpp file #include <catch2/catch.hpp> -using namespace corsika::units; +using namespace corsika::units::si; using namespace corsika::particles; TEST_CASE("ParticleProperties", "[Particles]") { diff --git a/Framework/StackInterface/StackIterator.h b/Framework/StackInterface/StackIterator.h index 8137e9b53b8268679cdcb936c477cba914cb9c8e..a6ca8bed67c4d25fbbd97abab1bda1bb3157e9ec 100644 --- a/Framework/StackInterface/StackIterator.h +++ b/Framework/StackInterface/StackIterator.h @@ -63,9 +63,12 @@ namespace corsika::stack { StackIteratorInterface(const StackIteratorInterface& mit) : fData(mit.fData) , fIndex(mit.fIndex) {} + + public: StackIteratorInterface& operator=(const StackIteratorInterface& mit) { fData = mit.fData; fIndex = mit.fIndex; + return *this; } public: diff --git a/Framework/Units/PhysicalConstants.h b/Framework/Units/PhysicalConstants.h index 5c1b3a91c8bce590416b1889e1021a3e00dcfca9..7add499dd5b000172de38da22074e5427ce36b76 100644 --- a/Framework/Units/PhysicalConstants.h +++ b/Framework/Units/PhysicalConstants.h @@ -27,7 +27,7 @@ #include <phys/units/quantity.hpp> -namespace corsika::units::constants { +namespace corsika::units::si::constants { using namespace phys::units; @@ -56,6 +56,6 @@ namespace corsika::units::constants { // etc. -} // namespace corsika::units::constants +} // namespace corsika::units::si::constants #endif // PHYS_UNITS_PHYSICAL_CONSTANTS_HPP_INCLUDED diff --git a/Framework/Units/PhysicalUnits.h b/Framework/Units/PhysicalUnits.h index c1cf07bb9c05e4b74ff26e7ad4da48d1a22e5ca1..23dbbb871dc7d5b2cd2d8538c2bbe7c6197c6812 100644 --- a/Framework/Units/PhysicalUnits.h +++ b/Framework/Units/PhysicalUnits.h @@ -16,7 +16,7 @@ namespace phys { namespace units { namespace literals { QUANTITY_DEFINE_SCALING_LITERALS(eV, energy_d, - magnitude(corsika::units::constants::eV)) + magnitude(corsika::units::si::constants::eV)) // phys::units::quantity<energy_d/mass_d> Joule2Kg = c2; // 1_Joule / 1_kg; @@ -24,7 +24,7 @@ namespace phys { } // namespace units } // namespace phys -namespace corsika::units { +namespace corsika::units::si { using namespace phys::units; using namespace phys::units::literals; // namespace literals = phys::units::literals; @@ -38,7 +38,7 @@ namespace corsika::units { using EnergyType = phys::units::quantity<phys::units::energy_d, double>; using MassType = phys::units::quantity<phys::units::mass_d, double>; -} // end namespace corsika::units +} // end namespace corsika::units::si // we want to call the operator<< without namespace... I think using namespace phys::units::io; diff --git a/Framework/Units/testUnits.cc b/Framework/Units/testUnits.cc index 619ef5d6cf2f1ebc210b1c5481ef1f6e1619733d..6e77e4a01e62d2e5cd63e6ad286982fca6ef1766 100644 --- a/Framework/Units/testUnits.cc +++ b/Framework/Units/testUnits.cc @@ -6,7 +6,7 @@ #include <array> -using namespace corsika::units; +using namespace corsika::units::si; TEST_CASE("PhysicalUnits", "[Units]") { diff --git a/Stack/DummyStack/SuperStupidStack.h b/Stack/DummyStack/SuperStupidStack.h index a4e931b3949d25d10968c3134ffcd52671f809f7..c1b9215d08c96d6c5f3ca5923718bd64df9ff12a 100644 --- a/Stack/DummyStack/SuperStupidStack.h +++ b/Stack/DummyStack/SuperStupidStack.h @@ -13,8 +13,8 @@ namespace corsika::stack { namespace super_stupid { using corsika::particles::Code; - using corsika::units::EnergyType; - using corsika::units::operator""_GeV; // literals; + using corsika::units::si::EnergyType; + using corsika::units::si::operator""_GeV; // literals; /** * Example of a particle object on the stack. diff --git a/Stack/SuperStupidStack/SuperStupidStack.h b/Stack/SuperStupidStack/SuperStupidStack.h index 2ab8ea790f889cb49035b3904b020fd2fab0debc..a09fe930f5546f807e282376a1afd7ef776b6fc1 100644 --- a/Stack/SuperStupidStack/SuperStupidStack.h +++ b/Stack/SuperStupidStack/SuperStupidStack.h @@ -12,8 +12,8 @@ namespace corsika::stack { namespace super_stupid { using corsika::particles::Code; - using corsika::units::EnergyType; - using corsika::units::operator""_GeV; // literals; + using corsika::units::si::EnergyType; + using corsika::units::si::operator""_GeV; // literals; /** * Example of a particle object on the stack.