3 #ifndef SZA_ANTENNA_CORBA_SZASHARECORBA_H
4 #define SZA_ANTENNA_CORBA_SZASHARECORBA_H
17 #include "carma/szautil/Angle.h"
20 #include "carma/szautil/Directives.h"
21 #include "carma/szautil/Rx.h"
22 #include "carma/szautil/Temperature.h"
24 #include "carma/antenna/sza/antenna/corba/Corba.h"
27 #include "carma/antenna/common/DriveControl.h"
34 class CarmaMonitorPointHandler;
51 SzaShareCorba(std::string host);
56 virtual ~SzaShareCorba();
58 void initialize(AntennaCorba* antCorba);
60 double getLst(
double utc);
62 void setSite(
double longitude,
double latitude,
double altitude);
68 void setRx(sza::util::Rx::Id rxId);
69 void getRx(sza::util::Rx::Id& rxId);
70 sza::util::Rx::Id getRx();
76 void setTuningPending(
bool pending);
77 bool getTuningPending();
83 void setPosition(Position position);
84 void getPosition(Position& position,
unsigned& nFrame,
bool& pending);
86 void incrementFrame(
bool acquired);
87 void setPending(
bool pending);
89 void setAmbientTemperature(sza::util::Temperature temp);
90 sza::util::Temperature getAmbientTemperature();
92 void setCarmaAzOffset(sza::util::Angle azOff);
93 void setCarmaElOffset(sza::util::Angle elOff);
95 sza::util::Angle getCarmaAzOffset();
96 sza::util::Angle getCarmaElOffset();
97 double getLastMjdCoefficientsChanged();
99 void setCarmaMountAzOffset(sza::util::Angle azOff);
100 void setCarmaMountElOffset(sza::util::Angle elOff);
102 sza::util::Angle getCarmaMountAzOffset();
103 sza::util::Angle getCarmaMountElOffset();
105 void setCarmaApertureAzOffset(sza::util::Rx::Id rxId, sza::util::Angle azOff);
106 void setCarmaApertureElOffset(sza::util::Rx::Id rxId, sza::util::Angle elOff);
107 void setCarmaApertureFlexure(sza::util::Rx::Id rxId, sza::util::Angle flexureSin, sza::util::Angle flexureCos);
109 sza::util::Angle getCarmaApertureAzOffset(sza::util::Rx::Id rxId);
110 sza::util::Angle getCarmaApertureElOffset(sza::util::Rx::Id rxId);
111 void getCarmaApertureFlexure(sza::util::Rx::Id rxId, sza::util::Angle& flexureSin, sza::util::Angle& flexureCos);
113 void getFlexure(sza::util::Angle& flexureSin, sza::util::Angle& flexureCos);
115 sza::util::Angle getTotalXCollimationOffset();
116 sza::util::Angle getTotalYCollimationOffset();
118 void setInitialized(
bool initialized);
119 void getInitialized(
bool& initialized);
123 friend class CarmaMonitorPointHandler;
125 CarmaMonitorPointHandler* monitorPointHandler_;
129 Position lastRequestedPosition_;
130 sza::util::Mutex positionGuard_;
131 unsigned nSinceLastRequest_;
132 bool positionPending_;
134 sza::util::Rx::Id rxId_;
135 sza::util::Mutex rxGuard_;
138 sza::util::Mutex initGuard_;
141 sza::util::Mutex tuningPendingGuard_;
143 sza::util::Temperature ambientTemperature_;
144 sza::util::Mutex tempGuard_;
148 sza::util::Angle azOffset_;
149 sza::util::Angle elOffset_;
151 sza::util::Angle mountAzOffset_;
152 sza::util::Angle mountElOffset_;
154 sza::util::Angle rx30GHzApertureAzOffset_;
155 sza::util::Angle rx30GHzApertureElOffset_;
157 sza::util::Angle rx90GHzApertureAzOffset_;
158 sza::util::Angle rx90GHzApertureElOffset_;
160 sza::util::Angle rx30GHzApertureFlexureSin_;
161 sza::util::Angle rx30GHzApertureFlexureCos_;
163 sza::util::Angle rx90GHzApertureFlexureSin_;
164 sza::util::Angle rx90GHzApertureFlexureCos_;
167 sza::util::Mutex offsetGuard_;
176 void packData(RegMapBlock* blk,
void* data, sza::util::CoordRange* range,
177 sza::util::DataType::Type type,
bool lock=
true);
179 void packData(std::string board, std::string block,
void* data,
180 sza::util::CoordRange* range, sza::util::DataType::Type type,
bool lock=
true);
182 void packValue(RegMapBlock* blk,
void* data, sza::util::CoordRange* range,
183 sza::util::DataType::Type type,
bool lock=
true);
185 void packValue(std::string board, std::string block,
void* data,
186 sza::util::CoordRange* range, sza::util::DataType::Type type,
bool lock=
true);
196 #endif // End #ifndef SZA_ANTENNA_CORBA_SZASHARECORBA_H
Tagged: Tue Jun 22 22:32:16 UTC 2004.
A class for managing timeval/timespec structs.
This class implements various astronomical time computation routines.
Tagged: Thu Nov 13 16:53:54 UTC 2003.
Astronomical Time routines.
An instance of this class is created by AntennaMaster and passed to the constructors of other tasks...
Tagged: Fri Sep 17 15:51:07 PDT 2004.