1 #ifndef SZA_UTIL_FREQUENCY_H
2 #define SZA_UTIL_FREQUENCY_H
13 #include "carma/szautil/ConformableQuantity.h"
22 class Frequency :
public ConformableQuantity {
27 static const double HzPerGHz_;
28 static const double HzPerMHz_;
29 static Speed lightSpeed_;
38 Frequency(
const MegaHz& units,
double MHz);
39 Frequency(
const GigaHz& units,
double GHz);
40 Frequency(Wavelength& wavelength);
47 virtual void setVal(
double val, std::string units);
51 void setGHz(
double GHz);
55 void setMHz(
double MHz);
59 void setHz(
double Hz);
64 return Hz_ / HzPerGHz_;
70 return Hz_ / HzPerMHz_;
77 Wavelength wavelength();
79 inline unsigned short yigUnits() {
80 return (
unsigned short)MHz();
83 inline unsigned short gunnUnits() {
84 return (
unsigned short)(GHz() * 100);
89 inline double Hz()
const {
96 friend std::ostream& operator<<(std::ostream& os, Frequency& frequency);
98 Frequency operator-(Frequency& frequency);
99 Frequency operator+(Frequency& frequency);
100 bool operator<(Frequency& frequency);
101 bool operator>(Frequency& frequency);
108 friend class CorrelatorBand;
112 Frequency(
double Hz);
125 #endif // End #ifndef SZA_UTIL_FREQUENCY_H
Tagged: Wed Dec 1 23:39:12 PST 2004.