IAP GITLAB

Skip to content
Snippets Groups Projects
PhysicalUnits.h 1.26 KiB
Newer Older
ralfulrich's avatar
ralfulrich committed
#ifndef _include_PhysicalUnits_h_
#define _include_PhysicalUnits_h_

#include <corsika/units/PhysicalConstants.h>
ralfulrich's avatar
ralfulrich committed

#include <phys/units/io.hpp>
#include <phys/units/quantity.hpp>
ralfulrich's avatar
ralfulrich committed

 * @file PhysicalUnits
 *
 * Define _XeV literals, alowing 10_GeV in the code.
 */
ralfulrich's avatar
ralfulrich committed

namespace phys {
  namespace units {
    namespace literals {
ralfulrich's avatar
ralfulrich committed
      QUANTITY_DEFINE_SCALING_LITERALS(eV, energy_d,
                                       magnitude(corsika::units::constants::eV))
ralfulrich's avatar
ralfulrich committed
    }
  } // namespace units
} // namespace phys
namespace corsika::units {
  using namespace phys::units::literals;
ralfulrich's avatar
ralfulrich committed
  // namespace literals = phys::units::literals;

  using LengthType = phys::units::quantity<phys::units::length_d, double>;
  using TimeType = phys::units::quantity<phys::units::time_interval_d, double>;
  using SpeedType = phys::units::quantity<phys::units::speed_d, double>;
  using FrequencyType = phys::units::quantity<phys::units::frequency_d, double>;
ralfulrich's avatar
ralfulrich committed
  using ElectricChargeType =
      phys::units::quantity<phys::units::electric_charge_d, double>;
  using EnergyType = phys::units::quantity<phys::units::energy_d, double>;

} // end namespace corsika::units

// we want to call the operator<< without namespace... I think
using namespace phys::units::io;

#endif