1 #ifndef GCP_UTIL_DELAY_H
2 #define GCP_UTIL_DELAY_H
36 nanoSeconds_ = delayInMeters / lightSpeed_ * nanoSecPerSec_;
43 dNanoSeconds_ = delayRateInMeters / lightSpeed_ * nanoSecPerSec_;
50 nanoSeconds_ = delayInNanoSec;
57 dNanoSeconds_ = delayRateInNanoSec;
64 return nanoSeconds_ / nanoSecPerSec_ * lightSpeed_;
71 return dNanoSeconds_ / nanoSecPerSec_ * lightSpeed_;
78 return nanoSeconds_ / nanoSecPerSec_;
99 return dNanoSeconds_ / nanoSecPerSec_;
121 inline void flipDelay() {
125 inline void flipRate() {
134 static const double lightSpeed_;
135 static const double nanoSecPerSec_;
138 double dNanoSeconds_;
142 std::ostream& operator<<(std::ostream& os, Delay delay);
150 #endif // End #ifndef GCP_UTIL_DELAY_H
Delay operator-(Delay &delay)
Definition: Delay.cc:39
void setDelayRateInMeters(double delayRateInMeters)
Definition: Delay.h:42
void setDelayInNanoSeconds(double delayInNanoSec)
Definition: Delay.h:49
Delay()
Definition: Delay.cc:14
double nanoSecondsPerSecond()
Definition: Delay.h:91
double nanoSeconds()
Definition: Delay.h:84
void setDelayInMeters(double delayInMeters)
Definition: Delay.h:35
virtual ~Delay()
Definition: Delay.cc:23
void setDelayRateInNanoSeconds(double delayRateInNanoSec)
Definition: Delay.h:56
Delay & operator+=(Delay &delay)
Definition: Delay.cc:50
double seconds()
Definition: Delay.h:77
Delay operator+(Delay &delay)
Definition: Delay.cc:28
double secondsPerSecond()
Definition: Delay.h:98
double meters()
Definition: Delay.h:63
double metersPerSecond()
Definition: Delay.h:70
friend std::ostream & operator<<(std::ostream &os, Delay delay)
Delay & operator-=(Delay &delay)
Definition: Delay.cc:60