CARMA C++
DelayManager.h
Go to the documentation of this file.
1 #ifndef SZA_UTIL_DELAYMANAGER_H
2 #define SZA_UTIL_DELAYMANAGER_H
3 
11 #include <vector>
12 
13 #include "carma/szautil/Angle.h"
14 #include "carma/szautil/AntNum.h"
18 #include "carma/szautil/Mutex.h"
19 
20 namespace sza {
21  namespace util {
22 
23  class RegMapDataFrameManager;
24  class MonitorPoint;
25  class MonitorPointManager;
26 
27  class DelayManager : public Mutex {
28  public:
29 
33  DelayManager(RegMapDataFrameManager* frame=0);
34 
38  virtual ~DelayManager();
39 
43  void setSite(Angle longitude, Angle latitude, double altitude);
44 
48  void setAntennaLocation(AntNum::Id antId,
49  double up, double east, double north);
50 
54  void setDelayRefLocation(double up, double east, double north);
55 
59  void setRefAntenna(AntNum::Id antId);
60 
64  DelayAntennaLocation* getAntenna(AntNum::Id antId);
65 
69  DelayAntennaLocation* getDelayRef();
70 
75  void antParamsChanged(DelayAntennaLocation* loc);
76 
81  void locationChanged(DelayLocation* loc);
82 
86  void delaysChanged(DelayLocation* loc);
87 
91  void markAsDiscontinuous(AntNum::Id antSet, bool disc);
92 
99  void extendUt1Utc(double mjdUtc, double ut1Utc);
100 
107  void extendEqnEqx(double mjdTt, double eqnEqx);
108 
109  void updateSiteMonitor(Angle longitude, Angle latitude, double altitude);
110  void updateRefAntMonitor(char* ant);
111  void updateRefLocationMonitor();
112 
113  DelayAntennaLocation* getArbitraryRefLocation() {
114  return &delayRefLocation_;
115  }
116 
117  private:
118 
119  MonitorPointManager* monitor_;
120 
121  MonitorPoint* monLon_;
122  MonitorPoint* monLat_;
123  MonitorPoint* monAlt_;
124  MonitorPoint* monRefAnt_;
125  MonitorPoint* monRefLoc_;
126 
127  // An arbitrary delay reference location
128 
129  DelayAntennaLocation delayRefLocation_;
130 
131  // A vector of antenna locations
132 
133  std::vector<DelayAntennaLocation*> antennaLocations_;
134 
135  // A pointer to the current reference location
136 
137  DelayAntennaLocation* refLoc_;
138 
142  void updateDelays();
143 
144  }; // End class DelayManager
145 
146  } // End namespace util
147 } // End namespace sza
148 
149 
150 
151 #endif // End #ifndef SZA_UTIL_DELAYMANAGER_H
Tagged: Thu Aug 5 09:39:55 PDT 2004.
Tagged: Fri Nov 14 12:39:31 UTC 2003.
Tagged: Sat Mar 27 16:28:13 PST 2004.
Tagged: Thu Aug 5 06:51:59 PDT 2004.
Id
Enumerate known receivers.
Definition: AntNum.h:35
Tagged: Tue May 4 15:49:11 PDT 2004.