24 #ifndef SKA_CHEETAH_DATA_DMCONSTANT_H 25 #define SKA_CHEETAH_DATA_DMCONSTANT_H 27 #pragma GCC diagnostic push 28 #pragma GCC diagnostic ignored "-Wall" 29 #pragma GCC diagnostic ignored "-Wunused-parameter" 30 #pragma GCC diagnostic ignored "-Wpragmas" 31 #include <boost/units/quantity.hpp> 32 #include <boost/units/conversion.hpp> 33 #include <boost/units/io.hpp> 34 #include <boost/units/derived_dimension.hpp> 35 #include <boost/units/systems/cgs/length.hpp> 36 #include <boost/units/systems/cgs/time.hpp> 37 #include <boost/units/systems/si/time.hpp> 38 #include <boost/units/systems/cgs/frequency.hpp> 39 #include <boost/units/physical_dimensions/length.hpp> 40 #include <boost/units/physical_dimensions/frequency.hpp> 41 #include <boost/units/physical_dimensions/time.hpp> 42 #include <boost/units/base_units/astronomical/parsec.hpp> 43 #pragma GCC diagnostic pop 48 namespace dm_constant {
71 typedef boost::units::scaled_base_unit<boost::units::si::second_base_unit, boost::units::scale<10, boost::units::static_rational<6> > > megaseconds_base_unit;
75 typedef boost::units::derived_dimension<
76 megaseconds_base_unit,-2,
77 boost::units::astronomical::parsec_base_unit, -1,
78 boost::units::length_base_dimension, 3,
79 boost::units::time_base_dimension,1
80 >::type DmConstantDimensionType1;
81 typedef boost::units::unit<DmConstantDimensionType1, boost::units::cgs::system> Unit;
88 typedef boost::units::scaled_base_unit<boost::units::si::second_base_unit, boost::units::scale<10, boost::units::static_rational<-3> > > ms_base_unit;
90 typedef boost::units::derived_dimension<
91 megaseconds_base_unit,-2,
92 boost::units::astronomical::parsec_base_unit, -1,
93 boost::units::length_base_dimension, 3,
95 >::type DmConstantDimensionType2;
96 typedef boost::units::unit<DmConstantDimensionType2, boost::units::cgs::system> Unit;
101 BOOST_UNITS_STATIC_CONSTANT(s_mhz_squared_cm_cubed_per_pc, s_mhz::Unit);
102 BOOST_UNITS_STATIC_CONSTANT(ms_mhz_squared_cm_cubed_per_pc, ms_mhz::Unit);
105 static const boost::units::quantity<Unit, double> dm_constant = 4.1493775933609e3 * s_mhz_squared_cm_cubed_per_pc;
109 static const boost::units::quantity<Unit, double> dm_constant = 4.1493775933609e6 * ms_mhz_squared_cm_cubed_per_pc;
117 #endif // SKA_CHEETAH_DATA_DMCONSTANT_H Some limits and constants for FLDO.