00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _Frequency_h
00026 #define _Frequency_h
00027
00028 #include "Quantity/Variable.h"
00029 #include "Quantity/Constant.h"
00030 #include "Quantity/QuantityCluster.h"
00031
00032 namespace Quantities {
00033
00034
00035 typedef BSUtilities::Rational<0> Frequency_LE;
00036 typedef BSUtilities::Rational<0> Frequency_M;
00037 typedef BSUtilities::Rational<-1> Frequency_TI;
00038 typedef BSUtilities::Rational<0> Frequency_E;
00039 typedef BSUtilities::Rational<0> Frequency_TE;
00040 typedef BSUtilities::Rational<0> Frequency_A;
00041 typedef BSUtilities::Rational<0> Frequency_LU;
00042 class FrequencyGroup
00043 {
00044 public:
00045 typedef TYPELIST_7(Frequency_LE, Frequency_M, Frequency_TI,
00046 Frequency_E, Frequency_TE, Frequency_A,
00047 Frequency_LU) DimTL;
00048 };
00049
00050 namespace FrequencyUnits {
00051
00052
00053 typedef Units::Unit<FrequencyGroup> FrequencyUnit;
00054
00055
00056 class HertzUnits;
00057
00058
00059
00060 typedef Units::Prefixable<FrequencyGroup, HertzUnits> Hertzs;
00061
00062 typedef Units::Prefixed<Hertzs> Hertz;
00063 typedef Units::Prefixed<Hertzs, Units::Milli> MilliHertz;
00064 typedef Units::Prefixed<Hertzs, Units::Kilo> KiloHertz;
00065 typedef Units::Prefixed<Hertzs, Units::Mega> MegaHertz;
00066 typedef Units::Prefixed<Hertzs, Units::Giga> GigaHertz;
00067
00068 typedef Hertzs::Units FrequencyUnits;
00069
00070
00071
00072 typedef Hertz Hz;
00073 typedef MilliHertz mHz;
00074 typedef MegaHertz MHz;
00075 typedef GigaHertz GHz;
00076
00077 }
00078
00079
00080
00081 typedef Dimensions::Dimension<FrequencyGroup> FrequencyDimension;
00082
00083
00084
00085 typedef Quantity<FrequencyGroup, FrequencyUnits::FrequencyUnits,
00086 FrequencyUnits::Hertz> FrequencyQuantities;
00087
00088 typedef Variable<FrequencyQuantities> Frequency;
00089 typedef Constant<FrequencyQuantities> FrequencyConstant;
00090
00091 typedef VariableVector<FrequencyQuantities> FrequencyVector;
00092
00093 }
00094
00095 #endif