23 #ifndef SG_VLBI_STATION_INFO_H
24 #define SG_VLBI_STATION_INFO_H
35 #include <QtCore/QString>
36 #include <QtCore/QList>
37 #include <QtCore/QMap>
38 #include <QtCore/QVector>
61 #define MAX_NUMBER_OF_POLYNOMIALS 10
152 SgVlbiStationInfo(
int idx=-1,
const QString& key=
"Unknown",
const QString& aka=
"Unknown too");
428 inline void setOLoadPhase(
int iWave,
int iCoord,
double phase);
539 void checkAuxObs(
const QMap<QString, QString>& scanNameById);
932 std::cout <<
"Warning: r set for " << qPrintable(
getKey()) <<
"; h: " <<
height_
933 <<
"; r: " << r <<
"\n";
1075 if (-1<idx && idx<6)
void geocentric2geodetic(const Sg3dVector &r, double &latitude, double &longitude, double &height, bool useOldEllipsoid)
QMap< QString, SgVlbiStationInfo * >::iterator StationsByName_it
#define MAX_NUMBER_OF_POLYNOMIALS
QMap< QString, SgVlbiStationInfo * > StationsByName
bool isAttr(uint a) const
const QString & getKey() const
SgParameter * pAtmGradN()
const SgParameter * getPZenithDelay() const
double aPrioriClockTerm_0_
void setNeed2useAPrioriClocks(bool)
double getLatitude() const
QMap< QString, SgVlbiAuxObservation * > * auxObservationByScanId()
const Sg3dVector & getV_ea()
static const QString className()
void calcCBEpochs4Export(const QMap< QString, SgVlbiAuxObservation * > &)
double getLongitude() const
void setEstWetZenithDelay(double d, double s)
double estWetZenithDelay_
void setGradientDelay(double d)
void setCableCalMultiplier(double c)
void setR(const Sg3dVector &r)
const QVector< QString > & getTsysIfPolarizations() const
void setFlybyCableCalSource(SgTaskConfig::CableCalSource s)
QVector< QString > & tsysIfSideBands()
static const int maxNumOfPolynomials_
double getOLoadPhase(int iWave, int iCoord) const
CableCalsOrigin getCableCalsOrigin() const
void prepare2Run(SgTaskConfig::CableCalSource src)
double getGradNorth() const
QVector< double > & tsysIfFreqs()
double getAxisOffset() const
double estWetZenithDelaySigma_
QVector< QString > & tsysIfIds()
const Sg3dVector & getV3Ecc() const
void setMeteoDataOriginTxt(const QString &origin)
void setTilt(int i, double v)
bool saveIntermediateResults(QDataStream &) const
SgParameter * pAxisOffset_
SgBreakModel clockBreaks_
void setV_ea(const Sg3dVector &v)
QVector< QString > tsysIfIds_
bool need2useAPrioriClocks_
SgTaskConfig::CableCalSource flybyCableCalSource_
QString tectonicPlateName_
int maxNumOfPolynomials() const
double getGradEast() const
const QString & getTectonicPlateName() const
void setMntType(MountingType m)
double oLoadAmplitudes_[11][3]
CableCalsOrigin cableCalsOrigin_
@ Attr_ESTIMATE_AXO
estimate axis offset;
@ Attr_NOT_VALID
omit the station;
@ Attr_HAS_CCC_FSLG
a station has cable calibrations from FS log file
@ Attr_CONSTRAIN_VEL
constrain station velocity in estimation;
@ Attr_INVERSE_CABLE
cable calibration correction has wrong sign;
@ Attr_ART_METEO
indicates that the station has artificial meteo parameters;
@ Attr_CONSTRAIN_COO
constrain station position in estimation;
@ Attr_APRIORI_CLOCK_MODIFIED
@ Attr_REFERENCE_CLOCKS
the clocks are the reference ones;
@ Attr_ESTIMATE_VEL
estimate station velocity;
@ Attr_HAS_CABLE_CAL
a station has cable calibration readings;
@ Attr_DONT_ESTIMATE_TRPS
do not estimate parameters of troposphere delay for station;
@ Attr_IGNORE_CABLE_CAL
do not apply cable calibration;
@ Attr_HAS_A_PRIORI_AXO
indicates that the station has a priori axis offset;
@ Attr_ESTIMATE_COO
estimate station position;
@ Attr_METEO_MODIFIED
a station has meteo parameters;
@ Attr_USE_LOCAL_ZENITH
use its own setup for the zenith delay parameter;
@ Attr_USE_LOCAL_CLOCKS
use its own setup for the clock parameter;
@ Attr_CABLE_CAL_MODIFIED
a station has cable calibration readings;
@ Attr_HAS_METEO
a station has meteo parameters;
@ Attr_HAS_A_PRIORI_POS
indicates that the station has a priori r and v;
@ Attr_BAD_METEO
indicates that the station has bad meteo parameters;
@ Attr_HAS_CCC_CDMS
a station has cable calibrations from CDMS
@ Attr_HAS_CCC_PCMT
a station has cable calibrations from PCMT
@ Attr_CABLE_CAL_IS_CDMS
FS log file contains /CDMS/ readings instead of /cable/;.
SgParameter * pClocks_[MAX_NUMBER_OF_POLYNOMIALS]
MeteoDataOrigin getMeteoDataOrigin() const
MeteoDataOrigin meteoDataOrigin_
void setGradNorth(double v)
static int mntType2int(MountingType)
QVector< double > tsysIfFreqs_
const SgParameterCfg & getPcClocks() const
double estClockModel_[MAX_NUMBER_OF_POLYNOMIALS]
void setAxisOffset_ea(double v)
bool loadIntermediateResults(QDataStream &)
SgParameterCfg * pcZenith()
SgVlbiAuxObservation::CableCorrectionType cccIdx() const
double cableCalMultiplierDBCal_
void setMeteoDataOrigin(MeteoDataOrigin origin)
void setAPrioriClockTerm_1(double)
void setTectonicPlateName(const QString &name)
const Sg3dVector & getR()
void recalcRLF(bool isSolveCompatible)
void clearEstClockModel()
QVector< QString > tsysIfSideBands_
SgParameterCfg * pcClocks()
void setCdpNumber(int cdp)
double getCableCalMultiplierDBCal() const
QString cableCalsOriginTxt_
const QVector< QString > & getTsysIfSideBands() const
void setCableCalMultiplierDBCal(double c)
SgParameter * pClocks(int i)
bool getIsEccNonZero() const
SgTaskConfig::CableCalSource getFlybyCableCalSource() const
const SgParameterCfg & getPcZenith() const
SgParameter * pAtmGradE()
double cableCalMultiplier_
static MountingType int2mntType(int)
double getOptLoadCoeff(int idx) const
SgParameter * pZenithDelay()
const QString & getCableCalsOriginTxt() const
double getEstWetZenithDelay() const
double estClockModelSigmas_[MAX_NUMBER_OF_POLYNOMIALS]
void setCableCalsOriginTxt(const QString &origin)
double effectiveCableCalMultiplier() const
void setOLoadPhase(int iWave, int iCoord, double phase)
double getCableCalMultiplier() const
SgParameter * pZenithDelay_
double getAxisOffset_ea() const
void setAxisOffset(double v)
void setOptLoadCoeff(int idx, double c)
void checkAuxObs(const QMap< QString, QString > &scanNameById)
void setCableCalsOrigin(CableCalsOrigin origin)
void setOLoadAmplitude(int iWave, int iCoord, double amplitude)
double getTilt(int i) const
const Sg3dVector & getR_ea()
const QVector< double > & getTsysIfFreqs() const
MountingType getMntType() const
SgBreakModel & clockBreaks()
double getAPrioriClockTerm_1() const
const QVector< QString > & getTsysIfIds() const
void clearEstWetZenithDelay()
void setClocksModelOrder(int n)
int getClocksModelOrder() const
void setR_ea(const Sg3dVector &r)
void setGradEast(double v)
double getEstClockModel(int idx) const
QString meteoDataOriginTxt_
SgParameter * pAxisOffset()
QVector< QString > tsysIfPolarizations_
double getEstClockModelSigma(int idx) const
void setAPrioriClockTerm_0(double)
double getOLoadAmplitude(int iWave, int iCoord) const
SgVlbiAuxObservation::CableCorrectionType cccIdx_
bool getNeed2useAPrioriClocks() const
double aPrioriClockTerm_1_
double getEstWetZenithDelaySigma() const
void checkPresenceOfCableCalibratioCorrections()
double getAPrioriClockTerm_0() const
double getGradientDelay() const
const QString & getMeteoDataOriginTxt() const
double oLoadPhases_[11][3]
const char * getSid() const
QVector< QString > & tsysIfPolarizations()
void setPcClocks(const SgParameterCfg &pc)
SgVlbiStationInfo(int idx=-1, const QString &key="Unknown", const QString &aka="Unknown too")
void setPcZenith(const SgParameterCfg &pc)
void setEstClockModel(int idx, double d, double s)
QMap< QString, SgVlbiAuxObservation * > auxObservationByScan_
void setSid(char c1, char c2)