3 #ifndef SZA_UTIL_VISIO_H
4 #define SZA_UTIL_VISIO_H
15 #include "carma/szautil/Angle.h"
16 #include "carma/szautil/DecAngle.h"
17 #include "carma/szautil/Frequency.h"
18 #include "carma/szautil/HourAngle.h"
19 #include "carma/szautil/Length.h"
20 #include "carma/szautil/Temperature.h"
21 #include "carma/szautil/Pressure.h"
47 bool hasChangedSinceLastWrite_;
51 hasChangedSinceLastWrite_ =
false;
59 return hasChangedSinceLastWrite_;
64 hasChangedSinceLastWrite_ =
false;
69 hasChangedSinceLastWrite_ =
true;
72 void markAsWritten() {
73 hasChangedSinceLastWrite_ =
false;
82 void setSourceName(std::string srcName);
83 void setRa(HourAngle ra);
84 void setDec(DecAngle dec);
85 void setRaApp(HourAngle ra);
86 void setDecApp(DecAngle dec);
87 void setRaRef(HourAngle ra);
88 void setDecRef(DecAngle dec);
89 void setDRaApp(HourAngle ra);
90 void setDDecApp(DecAngle dec);
96 void setInstrument(std::string instrument);
97 void setTelescopeName(std::string telescope);
98 void setLatitude(Angle& lat);
99 void setLongitude(Angle& longitude);
105 void setNumberOfTelescopes(
unsigned nTel);
106 void setFirstTelescopeNum(
unsigned iTel);
111 void checkNumberOfTelescopes(
unsigned nTel);
112 unsigned getNumberOfTelescopes() {
118 void setTelescopeLocations(std::vector<std::vector<Length> >& locations);
122 void setTelescopeDiameters(std::vector<Length>& diameters);
123 void setTelescopeDiameter(Length& diameter);
125 void setTelescopeAzimuth(std::vector<Angle>& az);
126 void setTelescopeElevation(std::vector<Angle>& el);
130 void setTelescopeApertureEfficiencies(std::vector<float>& apeffs);
131 void setTelescopeApertureEfficiency(
float apeff);
135 void setIntTime(Time& time);
143 void setNumberOfIfs(
unsigned nIf);
144 void setIfFrequencies(std::vector<Frequency>& frequencies);
145 void setDeltaIfFrequencies(std::vector<Frequency>& frequencies);
150 void setStartingIfFrequency(Frequency frequency);
151 void setDeltaIfFrequency(Frequency& frequency);
153 void setNumberOfChannelsPerIf(
unsigned nChan);
154 void setDeltaChannelFrequency(Frequency frequency);
160 void setAirTemperature(Temperature& temp);
161 void setWindDirection(Angle& windDirection);
162 void setWindSpeed(Speed& windSpeed);
163 void setPressure(Pressure& pressure);
164 void setRelativeHumidity(
double relativeHumidity);
170 void setUvw(
double* uvw);
171 void setVisWide(
double* re,
double* im);
172 void setVisSpec(
double* re,
double* im);
173 void setVisFlags(
bool* visFlags);
174 void setRms(
double* rms);
175 void setMjd(
double* mjd);
176 void setLst(
double* lst);
182 void setNumberOfFrames(
unsigned nFrame) {
186 void setNumberOfBaselines(
unsigned nBaseline) {
187 nBaseline_ = nBaseline;
190 unsigned getNumberOfBaselines() {
194 void setBaselines(
unsigned *baselines) {
197 baselines_ = baselines;
198 baselinesPar_.update();
201 void setNumberOfStokesParameters(
unsigned nStokes) {
209 virtual void checkParameters();
210 virtual void openFile(std::string fileName) {};
211 virtual void closeFile() {};
213 void setPurpose(
char purpose);
222 void getTelescopeIndices(
unsigned baslineIndex,
223 unsigned* iRow,
unsigned* iCol,
226 float jyPerK(Length& diameter,
float apeff);
229 void conjugateBaselines(
bool conj);
245 std::string telescope_;
246 std::string instrument_;
252 UvPar instrumentPar_;
258 std::string srcName_;
299 Frequency startingIfFrequency_;
300 Frequency deltaIfFrequency_;
301 std::vector<Frequency> ifFrequencies_;
302 std::vector<Frequency> deltaIfFrequencies_;
303 Frequency ifCenterFrequency_;
307 UvPar deltaIfFreqPar_;
312 Frequency startingFrequency_;
313 Frequency deltaChannelFrequency_;
316 UvPar deltaChannelFrequencyPar_;
324 unsigned nTelescope_;
325 UvPar nTelescopePar_;
327 std::vector<std::vector<Length> > locations_;
329 std::vector<Angle> az_;
330 std::vector<Angle> el_;
333 std::vector<Length> diameters_;
336 std::vector<float> apeffs_;
348 Temperature airTemperature_;
349 Angle windDirection_;
351 float relativeHumidity_;
354 UvPar airTemperaturePar_;
355 UvPar windDirectionPar_;
357 UvPar relativeHumidityPar_;
401 unsigned* baselines_;
403 unsigned firstTelescopeNum_;
417 #endif // End #ifndef SZA_UTIL_VISIO_H