24 #ifndef PSS_ASTROTYPES_UNITS_DISPERSIONCONSTANT_H
25 #define PSS_ASTROTYPES_UNITS_DISPERSIONCONSTANT_H
30 #pragma GCC diagnostic push
31 #pragma GCC diagnostic ignored "-Wall"
32 #pragma GCC diagnostic ignored "-Wunused-parameter"
33 #pragma GCC diagnostic ignored "-Wpragmas"
34 #include <boost/units/quantity.hpp>
35 #include <boost/units/conversion.hpp>
36 #include <boost/units/io.hpp>
37 #include <boost/units/derived_dimension.hpp>
38 #include <boost/units/physical_dimensions/length.hpp>
39 #include <boost/units/base_units/astronomical/parsec.hpp>
40 #include <boost/units/systems/si/prefixes.hpp>
41 #include <boost/units/systems/cgs/length.hpp>
42 #pragma GCC diagnostic pop
46 namespace astrotypes {
48 namespace dm_constant {
51 typedef boost::units::scaled_base_unit<boost::units::si::frequency::dimension_type, boost::units::scale<10, boost::units::static_rational<6> > >
megahertz_base_unit;
53 typedef boost::units::multiply_typeof_helper<boost::units::si::frequency, boost::units::si::frequency>::type
frequency_squared;
57 typedef boost::units::derived_dimension<
59 boost::units::astronomical::parsec_base_unit, -1,
60 boost::units::length_base_dimension, 3,
61 boost::units::time_base_dimension,1
63 typedef boost::units::unit<DmConstantDimensionType1, boost::units::cgs::system>
Unit;
70 typedef boost::units::scaled_base_unit<boost::units::si::second_base_unit, boost::units::scale<10, boost::units::static_rational<-3> > >
ms_base_unit;
72 typedef boost::units::derived_dimension<
74 boost::units::astronomical::parsec_base_unit, -1,
75 boost::units::length_base_dimension, 3,
78 typedef boost::units::unit<DmConstantDimensionType2, boost::units::cgs::system>
Unit;
86 static const boost::units::quantity<Unit, double> dm_constant(4.1493775933609e3 * s_mhz_squared_cm_cubed_per_pc);
90 static const boost::units::quantity<Unit, double> dm_constant(4.1493775933609e6 * ms_mhz_squared_cm_cubed_per_pc);
98 #endif // PSS_ASTROTYPES_UNITS_DISPERSIONCONSTANT_H
boost::units::derived_dimension< megahertz_base_unit, 2, boost::units::astronomical::parsec_base_unit,-1, boost::units::length_base_dimension, 3, ms_base_unit, 1 >::type DmConstantDimensionType2
boost::units::scaled_base_unit< boost::units::si::second_base_unit, boost::units::scale< 10, boost::units::static_rational<-3 > > > ms_base_unit
boost::units::derived_dimension< megahertz_base_unit, 2, boost::units::astronomical::parsec_base_unit,-1, boost::units::length_base_dimension, 3, boost::units::time_base_dimension, 1 >::type DmConstantDimensionType1
boost::units::scaled_base_unit< boost::units::si::frequency::dimension_type, boost::units::scale< 10, boost::units::static_rational< 6 > > > megahertz_base_unit
boost::units::unit< DmConstantDimensionType2, boost::units::cgs::system > Unit
boost::units::multiply_typeof_helper< boost::units::si::frequency, boost::units::si::frequency >::type frequency_squared
BOOST_UNITS_STATIC_CONSTANT(s_mhz_squared_cm_cubed_per_pc, s_mhz::Unit)
boost::units::unit< DmConstantDimensionType1, boost::units::cgs::system > Unit