12 #include <corsika/framework/core/PhysicalGeometry.hpp> 24 using HEPEnergyTypeSqr = decltype(1_GeV * 1_GeV);
35 return (E - p) * (E + p);
57 return (E - m) * (E + m);
117 return (sqrtS_sqr - static_pow<2>(m_proj) - static_pow<2>(m_targ)) / (2 * m_targ);
130 return sqrt(2 * Elab * m_targ + static_pow<2>(m_proj) + static_pow<2>(m_targ));
auto constexpr calculate_total_energy_sqr(HEPMomentumType const p, HEPMassType const m)
HEPEnergyType constexpr calculate_com_energy(HEPEnergyType Elab, HEPMassType const m_proj, HEPMassType const m_targ)
Import and extend the phys::units package.
HEPEnergyType constexpr calculate_mass(HEPEnergyType const E, HEPMomentumType const p)
auto constexpr calculate_mass_sqr(HEPEnergyType const E, HEPMomentumType const p)
HEPEnergyType constexpr calculate_momentum(HEPEnergyType const E, HEPMassType const m)
HEPEnergyType constexpr calculate_lab_energy(detail::HEPEnergyTypeSqr sqrtS_sqr, HEPMassType const m_proj, HEPMassType const m_targ)
`, since they are used everywhere as integral part of the framework.
auto constexpr calculate_momentum_sqr(HEPEnergyType const E, HEPMassType const m)
Constants are defined with static units, based on the package (namespace) phys::units, imported in PhysicsUnits.hpp.
detail::Root< D, 2, X > constexpr sqrt(quantity< D, X > const &x)
square root.
HEPEnergyType constexpr calculate_total_energy(HEPMomentumType const p, HEPMassType const m)
HEPEnergyType constexpr calculate_kinetic_energy(HEPMomentumType const p, HEPMassType const m)