casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DelayModelRow.h
Go to the documentation of this file.
1 
2 /*
3  * ALMA - Atacama Large Millimeter Array
4  * (c) European Southern Observatory, 2002
5  * (c) Associated Universities Inc., 2002
6  * Copyright by ESO (in the framework of the ALMA collaboration),
7  * Copyright by AUI (in the framework of the ALMA collaboration),
8  * All rights reserved.
9  *
10  * This library is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free software Foundation; either
13  * version 2.1 of the License, or (at your option) any later version.
14  *
15  * This library is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY, without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with this library; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
23  * MA 02111-1307 USA
24  *
25  * Warning!
26  * --------------------------------------------------------------------
27  * | This is generated code! Do not modify this file. |
28  * | If you do, all changes will be lost when the file is re-generated. |
29  * --------------------------------------------------------------------
30  *
31  * File DelayModelRow.h
32  */
33 
34 #ifndef DelayModelRow_CLASS
35 #define DelayModelRow_CLASS
36 
37 #include <vector>
38 #include <string>
39 #include <set>
40 
41 #ifndef WITHOUT_ACS
42 #include <asdmIDLC.h>
43 #endif
44 
45 
46 
47 
48 
49 
50 
52 
53 
54 
55 #include <alma/ASDM/ArrayTime.h>
56 
57 
58 
59 #include <alma/ASDM/Frequency.h>
60 
61 
62 
63 #include <alma/ASDM/Tag.h>
64 
65 
66 
67 
68 
69 
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
80 
81 
82 
83 
84 
85 
86 
87 
88 
89 
90 
91 
92 
93 
94 
95 
96 
97 
98 
99 
100 
101 
102 
103 
104 
105 
106 
107 
108 
109 
110 
111 
113 
114 
115 
116 
117 
118 
119 
120 
121 
122 
123 
124 
125 
126 
127 
128 
130 #include <alma/ASDM/NoSuchRow.h>
132 
134 //#include <alma/ASDM/TableStreamReader.h>
135 
136 /*\file DelayModel.h
137  \brief Generated from model's revision "-1", branch ""
138 */
139 
140 namespace asdm {
141 
142 //class asdm::DelayModelTable;
143 
144 
145 // class asdm::AntennaRow;
146 class AntennaRow;
147 
148 // class asdm::SpectralWindowRow;
149 class SpectralWindowRow;
150 
151 // class asdm::FieldRow;
152 class FieldRow;
153 
154 
155 class DelayModelRow;
157 typedef void (DelayModelRow::*DelayModelAttributeFromText) (const std::string& s);
158 
168 //friend class asdm::TableStreamReader<DelayModelTable, DelayModelRow>;
169 
170 public:
171 
172  virtual ~DelayModelRow();
173 
177  DelayModelTable &getTable() const;
178 
183  bool isAdded() const;
184 
186  // Intrinsic Table Attributes //
188 
189 
190  // ===> Attribute timeInterval
191 
192 
193 
194 
195 
200  ArrayTimeInterval getTimeInterval() const;
201 
202 
203 
204 
214  void setTimeInterval (ArrayTimeInterval timeInterval);
215 
216 
217 
218 
219 
220 
221 
222  // ===> Attribute numPoly
223 
224 
225 
226 
227 
232  int getNumPoly() const;
233 
234 
235 
236 
244  void setNumPoly (int numPoly);
245 
246 
247 
248 
249 
250 
251 
252  // ===> Attribute phaseDelay
253 
254 
255 
256 
257 
262  std::vector<double > getPhaseDelay() const;
263 
264 
265 
266 
274  void setPhaseDelay (std::vector<double > phaseDelay);
275 
276 
277 
278 
279 
280 
281 
282  // ===> Attribute phaseDelayRate
283 
284 
285 
286 
287 
292  std::vector<double > getPhaseDelayRate() const;
293 
294 
295 
296 
304  void setPhaseDelayRate (std::vector<double > phaseDelayRate);
305 
306 
307 
308 
309 
310 
311 
312  // ===> Attribute groupDelay
313 
314 
315 
316 
317 
322  std::vector<double > getGroupDelay() const;
323 
324 
325 
326 
334  void setGroupDelay (std::vector<double > groupDelay);
335 
336 
337 
338 
339 
340 
341 
342  // ===> Attribute groupDelayRate
343 
344 
345 
346 
347 
352  std::vector<double > getGroupDelayRate() const;
353 
354 
355 
356 
364  void setGroupDelayRate (std::vector<double > groupDelayRate);
365 
366 
367 
368 
369 
370 
371 
372  // ===> Attribute timeOrigin, which is optional
373 
374 
375 
380  bool isTimeOriginExists() const;
381 
382 
383 
389  ArrayTime getTimeOrigin() const;
390 
391 
392 
393 
401 
402 
403 
404 
408  void clearTimeOrigin ();
409 
410 
411 
412 
413  // ===> Attribute atmosphericGroupDelay, which is optional
414 
415 
416 
421  bool isAtmosphericGroupDelayExists() const;
422 
423 
424 
430  double getAtmosphericGroupDelay() const;
431 
432 
433 
434 
442 
443 
444 
445 
450 
451 
452 
453 
454  // ===> Attribute atmosphericGroupDelayRate, which is optional
455 
456 
457 
463 
464 
465 
471  double getAtmosphericGroupDelayRate() const;
472 
473 
474 
475 
483 
484 
485 
486 
491 
492 
493 
494 
495  // ===> Attribute geometricDelay, which is optional
496 
497 
498 
503  bool isGeometricDelayExists() const;
504 
505 
506 
512  double getGeometricDelay() const;
513 
514 
515 
516 
523  void setGeometricDelay (double geometricDelay);
524 
525 
526 
527 
531  void clearGeometricDelay ();
532 
533 
534 
535 
536  // ===> Attribute geometricDelayRate, which is optional
537 
538 
539 
544  bool isGeometricDelayRateExists() const;
545 
546 
547 
553  double getGeometricDelayRate() const;
554 
555 
556 
557 
565 
566 
567 
568 
572  void clearGeometricDelayRate ();
573 
574 
575 
576 
577  // ===> Attribute numLO, which is optional
578 
579 
580 
585  bool isNumLOExists() const;
586 
587 
588 
594  int getNumLO() const;
595 
596 
597 
598 
605  void setNumLO (int numLO);
606 
607 
608 
609 
613  void clearNumLO ();
614 
615 
616 
617 
618  // ===> Attribute LOOffset, which is optional
619 
620 
621 
626  bool isLOOffsetExists() const;
627 
628 
629 
635  std::vector<Frequency > getLOOffset() const;
636 
637 
638 
639 
646  void setLOOffset (std::vector<Frequency > LOOffset);
647 
648 
649 
650 
654  void clearLOOffset ();
655 
656 
657 
658 
659  // ===> Attribute LOOffsetRate, which is optional
660 
661 
662 
667  bool isLOOffsetRateExists() const;
668 
669 
670 
676  std::vector<Frequency > getLOOffsetRate() const;
677 
678 
679 
680 
687  void setLOOffsetRate (std::vector<Frequency > LOOffsetRate);
688 
689 
690 
691 
695  void clearLOOffsetRate ();
696 
697 
698 
699 
700  // ===> Attribute dispersiveDelay, which is optional
701 
702 
703 
708  bool isDispersiveDelayExists() const;
709 
710 
711 
717  double getDispersiveDelay() const;
718 
719 
720 
721 
728  void setDispersiveDelay (double dispersiveDelay);
729 
730 
731 
732 
736  void clearDispersiveDelay ();
737 
738 
739 
740 
741  // ===> Attribute dispersiveDelayRate, which is optional
742 
743 
744 
749  bool isDispersiveDelayRateExists() const;
750 
751 
752 
758  double getDispersiveDelayRate() const;
759 
760 
761 
762 
770 
771 
772 
773 
777  void clearDispersiveDelayRate ();
778 
779 
780 
781 
782  // ===> Attribute atmosphericDryDelay, which is optional
783 
784 
785 
790  bool isAtmosphericDryDelayExists() const;
791 
792 
793 
799  double getAtmosphericDryDelay() const;
800 
801 
802 
803 
811 
812 
813 
814 
818  void clearAtmosphericDryDelay ();
819 
820 
821 
822 
823  // ===> Attribute atmosphericWetDelay, which is optional
824 
825 
826 
831  bool isAtmosphericWetDelayExists() const;
832 
833 
834 
840  double getAtmosphericWetDelay() const;
841 
842 
843 
844 
852 
853 
854 
855 
859  void clearAtmosphericWetDelay ();
860 
861 
862 
863 
864  // ===> Attribute padDelay, which is optional
865 
866 
867 
872  bool isPadDelayExists() const;
873 
874 
875 
881  double getPadDelay() const;
882 
883 
884 
885 
892  void setPadDelay (double padDelay);
893 
894 
895 
896 
900  void clearPadDelay ();
901 
902 
903 
904 
905  // ===> Attribute antennaDelay, which is optional
906 
907 
908 
913  bool isAntennaDelayExists() const;
914 
915 
916 
922  double getAntennaDelay() const;
923 
924 
925 
926 
933  void setAntennaDelay (double antennaDelay);
934 
935 
936 
937 
941  void clearAntennaDelay ();
942 
943 
944 
945 
946  // ===> Attribute numReceptor, which is optional
947 
948 
949 
954  bool isNumReceptorExists() const;
955 
956 
957 
963  int getNumReceptor() const;
964 
965 
966 
967 
974  void setNumReceptor (int numReceptor);
975 
976 
977 
978 
982  void clearNumReceptor ();
983 
984 
985 
986 
987  // ===> Attribute polarizationType, which is optional
988 
989 
990 
995  bool isPolarizationTypeExists() const;
996 
997 
998 
1004  std::vector<PolarizationTypeMod::PolarizationType > getPolarizationType() const;
1005 
1006 
1007 
1008 
1015  void setPolarizationType (std::vector<PolarizationTypeMod::PolarizationType > polarizationType);
1016 
1017 
1018 
1019 
1023  void clearPolarizationType ();
1024 
1025 
1026 
1027 
1028  // ===> Attribute electronicDelay, which is optional
1029 
1030 
1031 
1036  bool isElectronicDelayExists() const;
1037 
1038 
1039 
1045  std::vector<double > getElectronicDelay() const;
1046 
1047 
1048 
1049 
1056  void setElectronicDelay (std::vector<double > electronicDelay);
1057 
1058 
1059 
1060 
1064  void clearElectronicDelay ();
1065 
1066 
1067 
1068 
1069  // ===> Attribute electronicDelayRate, which is optional
1070 
1071 
1072 
1077  bool isElectronicDelayRateExists() const;
1078 
1079 
1080 
1086  std::vector<double > getElectronicDelayRate() const;
1087 
1088 
1089 
1090 
1097  void setElectronicDelayRate (std::vector<double > electronicDelayRate);
1098 
1099 
1100 
1101 
1105  void clearElectronicDelayRate ();
1106 
1107 
1108 
1109 
1110  // ===> Attribute receiverDelay, which is optional
1111 
1112 
1113 
1118  bool isReceiverDelayExists() const;
1119 
1120 
1121 
1127  std::vector<double > getReceiverDelay() const;
1128 
1129 
1130 
1131 
1138  void setReceiverDelay (std::vector<double > receiverDelay);
1139 
1140 
1141 
1142 
1146  void clearReceiverDelay ();
1147 
1148 
1149 
1150 
1151  // ===> Attribute IFDelay, which is optional
1152 
1153 
1154 
1159  bool isIFDelayExists() const;
1160 
1161 
1162 
1168  std::vector<double > getIFDelay() const;
1169 
1170 
1171 
1172 
1179  void setIFDelay (std::vector<double > IFDelay);
1180 
1181 
1182 
1183 
1187  void clearIFDelay ();
1188 
1189 
1190 
1191 
1192  // ===> Attribute LODelay, which is optional
1193 
1194 
1195 
1200  bool isLODelayExists() const;
1201 
1202 
1203 
1209  std::vector<double > getLODelay() const;
1210 
1211 
1212 
1213 
1220  void setLODelay (std::vector<double > LODelay);
1221 
1222 
1223 
1224 
1228  void clearLODelay ();
1229 
1230 
1231 
1232 
1233  // ===> Attribute crossPolarizationDelay, which is optional
1234 
1235 
1236 
1241  bool isCrossPolarizationDelayExists() const;
1242 
1243 
1244 
1250  double getCrossPolarizationDelay() const;
1251 
1252 
1253 
1254 
1262 
1263 
1264 
1265 
1270 
1271 
1272 
1274  // Extrinsic Table Attributes //
1276 
1277 
1278  // ===> Attribute antennaId
1279 
1280 
1281 
1282 
1283 
1288  Tag getAntennaId() const;
1289 
1290 
1291 
1292 
1302  void setAntennaId (Tag antennaId);
1303 
1304 
1305 
1306 
1307 
1308 
1309 
1310  // ===> Attribute fieldId
1311 
1312 
1313 
1314 
1315 
1320  Tag getFieldId() const;
1321 
1322 
1323 
1324 
1332  void setFieldId (Tag fieldId);
1333 
1334 
1335 
1336 
1337 
1338 
1339 
1340  // ===> Attribute spectralWindowId
1341 
1342 
1343 
1344 
1345 
1350  Tag getSpectralWindowId() const;
1351 
1352 
1353 
1354 
1365 
1366 
1367 
1368 
1369 
1370 
1372  // Links //
1374 
1375 
1376 
1377 
1378 
1386 
1387 
1388 
1389 
1390 
1391 
1392 
1393 
1401 
1402 
1403 
1404 
1405 
1406 
1407 
1408 
1416 
1417 
1418 
1419 
1420 
1421 
1422 
1446  bool compareNoAutoInc(Tag antennaId, Tag spectralWindowId, ArrayTimeInterval timeInterval, int numPoly, std::vector<double > phaseDelay, std::vector<double > phaseDelayRate, std::vector<double > groupDelay, std::vector<double > groupDelayRate, Tag fieldId);
1447 
1448 
1449 
1450 
1468  bool compareRequiredValue(int numPoly, std::vector<double > phaseDelay, std::vector<double > phaseDelayRate, std::vector<double > groupDelay, std::vector<double > groupDelayRate, Tag fieldId);
1469 
1470 
1480 
1481 #ifndef WITHOUT_ACS
1482 
1486  asdmIDL::DelayModelRowIDL *toIDL() const;
1487 
1495  void toIDL(asdmIDL::DelayModelRowIDL& x) const;
1496 #endif
1497 
1498 #ifndef WITHOUT_ACS
1499 
1504  void setFromIDL (asdmIDL::DelayModelRowIDL x) ;
1505 #endif
1506 
1511  std::string toXML() const;
1512 
1519  void setFromXML (std::string rowDoc) ;
1520 
1523  // binary-deserialization material from an EndianIStream //
1525 
1526  std::map<std::string, DelayModelAttributeFromBin> fromBinMethods;
1527 void antennaIdFromBin( EndianIStream& eis);
1530 void numPolyFromBin( EndianIStream& eis);
1531 void phaseDelayFromBin( EndianIStream& eis);
1533 void groupDelayFromBin( EndianIStream& eis);
1535 void fieldIdFromBin( EndianIStream& eis);
1536 
1537 void timeOriginFromBin( EndianIStream& eis);
1542 void numLOFromBin( EndianIStream& eis);
1543 void LOOffsetFromBin( EndianIStream& eis);
1549 void padDelayFromBin( EndianIStream& eis);
1551 void numReceptorFromBin( EndianIStream& eis);
1556 void IFDelayFromBin( EndianIStream& eis);
1557 void LODelayFromBin( EndianIStream& eis);
1559 
1560 
1568  static DelayModelRow* fromBin(EndianIStream& eis, DelayModelTable& table, const std::vector<std::string>& attributesSeq);
1569 
1576  void fromText(const std::string& attributeName, const std::string& t);
1578 
1579 private:
1588 
1589  // This method is used by the Table class when this row is added to the table.
1590  void isAdded(bool added);
1591 
1592 
1602 
1621 
1623  // Intrinsic Table Attributes //
1625 
1626 
1627  // ===> Attribute timeInterval
1628 
1629 
1630 
1631  ArrayTimeInterval timeInterval;
1632 
1633 
1634 
1635 
1636 
1637 
1638  // ===> Attribute numPoly
1639 
1640 
1641 
1642  int numPoly;
1643 
1644 
1645 
1646 
1647 
1648 
1649  // ===> Attribute phaseDelay
1650 
1651 
1652 
1653  std::vector<double > phaseDelay;
1654 
1655 
1656 
1657 
1658 
1659 
1660  // ===> Attribute phaseDelayRate
1661 
1662 
1663 
1664  std::vector<double > phaseDelayRate;
1665 
1666 
1667 
1668 
1669 
1670 
1671  // ===> Attribute groupDelay
1672 
1673 
1674 
1675  std::vector<double > groupDelay;
1676 
1677 
1678 
1679 
1680 
1681 
1682  // ===> Attribute groupDelayRate
1683 
1684 
1685 
1686  std::vector<double > groupDelayRate;
1687 
1688 
1689 
1690 
1691 
1692 
1693  // ===> Attribute timeOrigin, which is optional
1694 
1695 
1697 
1698 
1700 
1701 
1702 
1703 
1704 
1705 
1706  // ===> Attribute atmosphericGroupDelay, which is optional
1707 
1708 
1710 
1711 
1713 
1714 
1715 
1716 
1717 
1718 
1719  // ===> Attribute atmosphericGroupDelayRate, which is optional
1720 
1721 
1723 
1724 
1726 
1727 
1728 
1729 
1730 
1731 
1732  // ===> Attribute geometricDelay, which is optional
1733 
1734 
1736 
1737 
1739 
1740 
1741 
1742 
1743 
1744 
1745  // ===> Attribute geometricDelayRate, which is optional
1746 
1747 
1749 
1750 
1752 
1753 
1754 
1755 
1756 
1757 
1758  // ===> Attribute numLO, which is optional
1759 
1760 
1762 
1763 
1764  int numLO;
1765 
1766 
1767 
1768 
1769 
1770 
1771  // ===> Attribute LOOffset, which is optional
1772 
1773 
1775 
1776 
1777  std::vector<Frequency > LOOffset;
1778 
1779 
1780 
1781 
1782 
1783 
1784  // ===> Attribute LOOffsetRate, which is optional
1785 
1786 
1788 
1789 
1790  std::vector<Frequency > LOOffsetRate;
1791 
1792 
1793 
1794 
1795 
1796 
1797  // ===> Attribute dispersiveDelay, which is optional
1798 
1799 
1801 
1802 
1804 
1805 
1806 
1807 
1808 
1809 
1810  // ===> Attribute dispersiveDelayRate, which is optional
1811 
1812 
1814 
1815 
1817 
1818 
1819 
1820 
1821 
1822 
1823  // ===> Attribute atmosphericDryDelay, which is optional
1824 
1825 
1827 
1828 
1830 
1831 
1832 
1833 
1834 
1835 
1836  // ===> Attribute atmosphericWetDelay, which is optional
1837 
1838 
1840 
1841 
1843 
1844 
1845 
1846 
1847 
1848 
1849  // ===> Attribute padDelay, which is optional
1850 
1851 
1853 
1854 
1855  double padDelay;
1856 
1857 
1858 
1859 
1860 
1861 
1862  // ===> Attribute antennaDelay, which is optional
1863 
1864 
1866 
1867 
1869 
1870 
1871 
1872 
1873 
1874 
1875  // ===> Attribute numReceptor, which is optional
1876 
1877 
1879 
1880 
1882 
1883 
1884 
1885 
1886 
1887 
1888  // ===> Attribute polarizationType, which is optional
1889 
1890 
1892 
1893 
1894  std::vector<PolarizationTypeMod::PolarizationType > polarizationType;
1895 
1896 
1897 
1898 
1899 
1900 
1901  // ===> Attribute electronicDelay, which is optional
1902 
1903 
1905 
1906 
1907  std::vector<double > electronicDelay;
1908 
1909 
1910 
1911 
1912 
1913 
1914  // ===> Attribute electronicDelayRate, which is optional
1915 
1916 
1918 
1919 
1920  std::vector<double > electronicDelayRate;
1921 
1922 
1923 
1924 
1925 
1926 
1927  // ===> Attribute receiverDelay, which is optional
1928 
1929 
1931 
1932 
1933  std::vector<double > receiverDelay;
1934 
1935 
1936 
1937 
1938 
1939 
1940  // ===> Attribute IFDelay, which is optional
1941 
1942 
1944 
1945 
1946  std::vector<double > IFDelay;
1947 
1948 
1949 
1950 
1951 
1952 
1953  // ===> Attribute LODelay, which is optional
1954 
1955 
1957 
1958 
1959  std::vector<double > LODelay;
1960 
1961 
1962 
1963 
1964 
1965 
1966  // ===> Attribute crossPolarizationDelay, which is optional
1967 
1968 
1970 
1971 
1973 
1974 
1975 
1976 
1977 
1979  // Extrinsic Table Attributes //
1981 
1982 
1983  // ===> Attribute antennaId
1984 
1985 
1986 
1987  Tag antennaId;
1988 
1989 
1990 
1991 
1992 
1993 
1994  // ===> Attribute fieldId
1995 
1996 
1997 
1999 
2000 
2001 
2002 
2003 
2004 
2005  // ===> Attribute spectralWindowId
2006 
2007 
2008 
2010 
2011 
2012 
2013 
2014 
2016  // Links //
2018 
2019 
2020 
2021 
2022 
2023 
2024 
2025 
2026 
2027 
2028 
2029 
2030 
2031 
2032 
2033 
2034 
2035 
2036 
2037 
2038 
2039 
2040 
2041 /*
2043  // binary-deserialization material from an EndianIStream //
2045  std::map<std::string, DelayModelAttributeFromBin> fromBinMethods;
2046 void antennaIdFromBin( EndianIStream& eis);
2047 void spectralWindowIdFromBin( EndianIStream& eis);
2048 void timeIntervalFromBin( EndianIStream& eis);
2049 void numPolyFromBin( EndianIStream& eis);
2050 void phaseDelayFromBin( EndianIStream& eis);
2051 void phaseDelayRateFromBin( EndianIStream& eis);
2052 void groupDelayFromBin( EndianIStream& eis);
2053 void groupDelayRateFromBin( EndianIStream& eis);
2054 void fieldIdFromBin( EndianIStream& eis);
2055 
2056 void timeOriginFromBin( EndianIStream& eis);
2057 void atmosphericGroupDelayFromBin( EndianIStream& eis);
2058 void atmosphericGroupDelayRateFromBin( EndianIStream& eis);
2059 void geometricDelayFromBin( EndianIStream& eis);
2060 void geometricDelayRateFromBin( EndianIStream& eis);
2061 void numLOFromBin( EndianIStream& eis);
2062 void LOOffsetFromBin( EndianIStream& eis);
2063 void LOOffsetRateFromBin( EndianIStream& eis);
2064 void dispersiveDelayFromBin( EndianIStream& eis);
2065 void dispersiveDelayRateFromBin( EndianIStream& eis);
2066 void atmosphericDryDelayFromBin( EndianIStream& eis);
2067 void atmosphericWetDelayFromBin( EndianIStream& eis);
2068 void padDelayFromBin( EndianIStream& eis);
2069 void antennaDelayFromBin( EndianIStream& eis);
2070 void numReceptorFromBin( EndianIStream& eis);
2071 void polarizationTypeFromBin( EndianIStream& eis);
2072 void electronicDelayFromBin( EndianIStream& eis);
2073 void electronicDelayRateFromBin( EndianIStream& eis);
2074 void receiverDelayFromBin( EndianIStream& eis);
2075 void IFDelayFromBin( EndianIStream& eis);
2076 void LODelayFromBin( EndianIStream& eis);
2077 void crossPolarizationDelayFromBin( EndianIStream& eis);
2078 
2079 */
2080 
2082  // text-deserialization material //
2084  std::map<std::string, DelayModelAttributeFromText> fromTextMethods;
2085 
2086 void antennaIdFromText (const std::string & s);
2087 
2088 
2089 void spectralWindowIdFromText (const std::string & s);
2090 
2091 
2092 void timeIntervalFromText (const std::string & s);
2093 
2094 
2095 void numPolyFromText (const std::string & s);
2096 
2097 
2098 void phaseDelayFromText (const std::string & s);
2099 
2100 
2101 void phaseDelayRateFromText (const std::string & s);
2102 
2103 
2104 void groupDelayFromText (const std::string & s);
2105 
2106 
2107 void groupDelayRateFromText (const std::string & s);
2108 
2109 
2110 void fieldIdFromText (const std::string & s);
2111 
2112 
2113 
2114 void timeOriginFromText (const std::string & s);
2115 
2116 
2117 void atmosphericGroupDelayFromText (const std::string & s);
2118 
2119 
2120 void atmosphericGroupDelayRateFromText (const std::string & s);
2121 
2122 
2123 void geometricDelayFromText (const std::string & s);
2124 
2125 
2126 void geometricDelayRateFromText (const std::string & s);
2127 
2128 
2129 void numLOFromText (const std::string & s);
2130 
2131 
2132 void LOOffsetFromText (const std::string & s);
2133 
2134 
2135 void LOOffsetRateFromText (const std::string & s);
2136 
2137 
2138 void dispersiveDelayFromText (const std::string & s);
2139 
2140 
2141 void dispersiveDelayRateFromText (const std::string & s);
2142 
2143 
2144 void atmosphericDryDelayFromText (const std::string & s);
2145 
2146 
2147 void atmosphericWetDelayFromText (const std::string & s);
2148 
2149 
2150 void padDelayFromText (const std::string & s);
2151 
2152 
2153 void antennaDelayFromText (const std::string & s);
2154 
2155 
2156 void numReceptorFromText (const std::string & s);
2157 
2158 
2159 void polarizationTypeFromText (const std::string & s);
2160 
2161 
2162 void electronicDelayFromText (const std::string & s);
2163 
2164 
2165 void electronicDelayRateFromText (const std::string & s);
2166 
2167 
2168 void receiverDelayFromText (const std::string & s);
2169 
2170 
2171 void IFDelayFromText (const std::string & s);
2172 
2173 
2174 void LODelayFromText (const std::string & s);
2175 
2176 
2177 void crossPolarizationDelayFromText (const std::string & s);
2178 
2179 
2180 
2185  void toBin(EndianOSStream& eoss);
2186 
2196 };
2197 
2198 } // End namespace asdm
2199 
2200 #endif /* DelayModel_CLASS */
double getAtmosphericDryDelay() const
Get atmosphericDryDelay, which is optional.
int getNumLO() const
Get numLO, which is optional.
void setFromIDL(asdmIDL::DelayModelRowIDL x)
Fill the values of this row from the IDL struct DelayModelRowIDL.
double getPadDelay() const
Get padDelay, which is optional.
std::vector< Frequency > LOOffsetRate
DelayModelTable & getTable() const
Return the table to which this row belongs.
bool numLOExists
===&gt; Attribute numLO, which is optional
void clearNumLO()
Mark numLO, which is an optional field, as non-existent.
void setElectronicDelayRate(std::vector< double > electronicDelayRate)
Set electronicDelayRate with the specified std::vector&lt;double &gt;.
bool isReceiverDelayExists() const
===&gt; Attribute receiverDelay, which is optional
void clearPadDelay()
Mark padDelay, which is an optional field, as non-existent.
DelayModelTable & table
The table to which this row belongs.
void atmosphericDryDelayFromBin(EndianIStream &eis)
void IFDelayFromText(const std::string &s)
void setTimeInterval(ArrayTimeInterval timeInterval)
Set timeInterval with the specified ArrayTimeInterval.
void clearIFDelay()
Mark IFDelay, which is an optional field, as non-existent.
void atmosphericGroupDelayRateFromText(const std::string &s)
void setIFDelay(std::vector< double > IFDelay)
Set IFDelay with the specified std::vector&lt;double &gt;.
void timeIntervalFromText(const std::string &s)
The DelayModelTable class is an Alma table.
bool polarizationTypeExists
===&gt; Attribute polarizationType, which is optional
bool isGeometricDelayRateExists() const
===&gt; Attribute geometricDelayRate, which is optional
void clearAntennaDelay()
Mark antennaDelay, which is an optional field, as non-existent.
std::vector< double > groupDelayRate
===&gt; Attribute groupDelayRate
int getNumReceptor() const
Get numReceptor, which is optional.
void numReceptorFromBin(EndianIStream &eis)
The ArrayTimeInterval class aggregates an instance of ArrayTime and an instance of Interval...
Tag getFieldId() const
===&gt; Attribute fieldId
void polarizationTypeFromText(const std::string &s)
void clearLOOffset()
Mark LOOffset, which is an optional field, as non-existent.
The DelayModelRow class is a row of a DelayModelTable.
void setLOOffset(std::vector< Frequency > LOOffset)
Set LOOffset with the specified std::vector&lt;Frequency &gt;.
void electronicDelayFromBin(EndianIStream &eis)
void receiverDelayFromText(const std::string &s)
void electronicDelayFromText(const std::string &s)
bool numReceptorExists
===&gt; Attribute numReceptor, which is optional
bool atmosphericGroupDelayExists
===&gt; Attribute atmosphericGroupDelay, which is optional
void setFieldId(Tag fieldId)
Set fieldId with the specified Tag.
void clearTimeOrigin()
Mark timeOrigin, which is an optional field, as non-existent.
void setGeometricDelayRate(double geometricDelayRate)
Set geometricDelayRate with the specified double.
void crossPolarizationDelayFromText(const std::string &s)
void geometricDelayFromText(const std::string &s)
std::vector< PolarizationTypeMod::PolarizationType > getPolarizationType() const
Get polarizationType, which is optional.
void LOOffsetRateFromBin(EndianIStream &eis)
FieldRow * getFieldUsingFieldId()
fieldId pointer to the row in the Field table having Field.fieldId == fieldId
void dispersiveDelayRateFromBin(EndianIStream &eis)
bool isNumReceptorExists() const
===&gt; Attribute numReceptor, which is optional
bool isElectronicDelayExists() const
===&gt; Attribute electronicDelay, which is optional
std::vector< double > getElectronicDelay() const
Get electronicDelay, which is optional.
void setSpectralWindowId(Tag spectralWindowId)
Set spectralWindowId with the specified Tag.
void LODelayFromBin(EndianIStream &eis)
bool LOOffsetRateExists
===&gt; Attribute LOOffsetRate, which is optional
void groupDelayRateFromBin(EndianIStream &eis)
bool LODelayExists
===&gt; Attribute LODelay, which is optional
bool LOOffsetExists
===&gt; Attribute LOOffset, which is optional
std::vector< double > getElectronicDelayRate() const
Get electronicDelayRate, which is optional.
void spectralWindowIdFromText(const std::string &s)
bool dispersiveDelayRateExists
===&gt; Attribute dispersiveDelayRate, which is optional
void setPolarizationType(std::vector< PolarizationTypeMod::PolarizationType > polarizationType)
Set polarizationType with the specified std::vector&lt;PolarizationTypeMod::PolarizationType &gt;...
double getGeometricDelayRate() const
Get geometricDelayRate, which is optional.
void setReceiverDelay(std::vector< double > receiverDelay)
Set receiverDelay with the specified std::vector&lt;double &gt;.
bool isLOOffsetRateExists() const
===&gt; Attribute LOOffsetRate, which is optional
void fieldIdFromBin(EndianIStream &eis)
bool compareRequiredValue(int numPoly, std::vector< double > phaseDelay, std::vector< double > phaseDelayRate, std::vector< double > groupDelay, std::vector< double > groupDelayRate, Tag fieldId)
Compare each mandatory value (i.e.
void clearAtmosphericGroupDelay()
Mark atmosphericGroupDelay, which is an optional field, as non-existent.
void setGroupDelay(std::vector< double > groupDelay)
Set groupDelay with the specified std::vector&lt;double &gt;.
bool isPadDelayExists() const
===&gt; Attribute padDelay, which is optional
void toBin(EndianOSStream &eoss)
Serialize this into a stream of bytes written to an EndianOSStream.
void setAtmosphericGroupDelay(double atmosphericGroupDelay)
Set atmosphericGroupDelay with the specified double.
int getNumPoly() const
===&gt; Attribute numPoly
bool dispersiveDelayExists
===&gt; Attribute dispersiveDelay, which is optional
bool antennaDelayExists
===&gt; Attribute antennaDelay, which is optional
void spectralWindowIdFromBin(EndianIStream &eis)
bool isAtmosphericDryDelayExists() const
===&gt; Attribute atmosphericDryDelay, which is optional
double atmosphericGroupDelayRate
std::vector< double > groupDelay
===&gt; Attribute groupDelay
Links *AntennaRow * getAntennaUsingAntennaId()
antennaId pointer to the row in the Antenna table having Antenna.antennaId == antennaId ...
void clearLOOffsetRate()
Mark LOOffsetRate, which is an optional field, as non-existent.
bool isPolarizationTypeExists() const
===&gt; Attribute polarizationType, which is optional
SpectralWindowRow * getSpectralWindowUsingSpectralWindowId()
spectralWindowId pointer to the row in the SpectralWindow table having SpectralWindow.spectralWindowId == spectralWindowId
bool isCrossPolarizationDelayExists() const
===&gt; Attribute crossPolarizationDelay, which is optional
ArrayTime getTimeOrigin() const
Get timeOrigin, which is optional.
void setGeometricDelay(double geometricDelay)
Set geometricDelay with the specified double.
void numPolyFromBin(EndianIStream &eis)
void numLOFromBin(EndianIStream &eis)
Tag spectralWindowId
===&gt; Attribute spectralWindowId
void setNumPoly(int numPoly)
Set numPoly with the specified int.
void dispersiveDelayRateFromText(const std::string &s)
void clearAtmosphericDryDelay()
Mark atmosphericDryDelay, which is an optional field, as non-existent.
void clearDispersiveDelayRate()
Mark dispersiveDelayRate, which is an optional field, as non-existent.
void setLODelay(std::vector< double > LODelay)
Set LODelay with the specified std::vector&lt;double &gt;.
void padDelayFromBin(EndianIStream &eis)
void setPhaseDelay(std::vector< double > phaseDelay)
Set phaseDelay with the specified std::vector&lt;double &gt;.
bool isGeometricDelayExists() const
===&gt; Attribute geometricDelay, which is optional
void clearGeometricDelayRate()
Mark geometricDelayRate, which is an optional field, as non-existent.
void geometricDelayRateFromBin(EndianIStream &eis)
asdmIDL::DelayModelRowIDL * toIDL() const
Return this row in the form of an IDL struct.
void setLOOffsetRate(std::vector< Frequency > LOOffsetRate)
Set LOOffsetRate with the specified std::vector&lt;Frequency &gt;.
void setFromXML(std::string rowDoc)
Fill the values of this row from an XML string that was produced by the toXML() method.
void groupDelayFromText(const std::string &s)
double getGeometricDelay() const
Get geometricDelay, which is optional.
std::string toXML() const
Return this row in the form of an XML string.
std::vector< double > electronicDelay
bool crossPolarizationDelayExists
===&gt; Attribute crossPolarizationDelay, which is optional
bool isAtmosphericGroupDelayExists() const
===&gt; Attribute atmosphericGroupDelay, which is optional
void timeOriginFromBin(EndianIStream &eis)
void setNumReceptor(int numReceptor)
Set numReceptor with the specified int.
void setPhaseDelayRate(std::vector< double > phaseDelayRate)
Set phaseDelayRate with the specified std::vector&lt;double &gt;.
bool atmosphericDryDelayExists
===&gt; Attribute atmosphericDryDelay, which is optional
std::vector< double > IFDelay
void LOOffsetFromText(const std::string &s)
void clearElectronicDelayRate()
Mark electronicDelayRate, which is an optional field, as non-existent.
std::vector< double > getPhaseDelayRate() const
===&gt; Attribute phaseDelayRate
bool electronicDelayRateExists
===&gt; Attribute electronicDelayRate, which is optional
std::vector< Frequency > LOOffset
void clearPolarizationType()
Mark polarizationType, which is an optional field, as non-existent.
void(DelayModelRow::* DelayModelAttributeFromBin)(EndianIStream &eis)
bool atmosphericGroupDelayRateExists
===&gt; Attribute atmosphericGroupDelayRate, which is optional
void setElectronicDelay(std::vector< double > electronicDelay)
Set electronicDelay with the specified std::vector&lt;double &gt;.
void IFDelayFromBin(EndianIStream &eis)
void setAtmosphericWetDelay(double atmosphericWetDelay)
Set atmosphericWetDelay with the specified double.
double getDispersiveDelayRate() const
Get dispersiveDelayRate, which is optional.
void setAtmosphericGroupDelayRate(double atmosphericGroupDelayRate)
Set atmosphericGroupDelayRate with the specified double.
void numReceptorFromText(const std::string &s)
void phaseDelayFromText(const std::string &s)
*text deserialization material std::map< std::string, DelayModelAttributeFromText > fromTextMethods
bool hasBeenAdded
Whether this row has been added to the table or not.
std::vector< double > getGroupDelayRate() const
===&gt; Attribute groupDelayRate
The AntennaRow class is a row of a AntennaTable.
Definition: AntennaRow.h:120
std::vector< double > phaseDelayRate
===&gt; Attribute phaseDelayRate
void fieldIdFromText(const std::string &s)
void clearReceiverDelay()
Mark receiverDelay, which is an optional field, as non-existent.
bool geometricDelayExists
===&gt; Attribute geometricDelay, which is optional
bool isLODelayExists() const
===&gt; Attribute LODelay, which is optional
double getAtmosphericGroupDelayRate() const
Get atmosphericGroupDelayRate, which is optional.
void electronicDelayRateFromText(const std::string &s)
std::vector< double > receiverDelay
std::vector< double > electronicDelayRate
void numLOFromText(const std::string &s)
void timeOriginFromText(const std::string &s)
void geometricDelayFromBin(EndianIStream &eis)
void atmosphericGroupDelayFromText(const std::string &s)
void antennaIdFromText(const std::string &s)
The ArrayTime class implements the concept of a point in time, implemented as an Interval of time sin...
Definition: ArrayTime.h:89
void clearDispersiveDelay()
Mark dispersiveDelay, which is an optional field, as non-existent.
void dispersiveDelayFromText(const std::string &s)
bool isDispersiveDelayExists() const
===&gt; Attribute dispersiveDelay, which is optional
void clearGeometricDelay()
Mark geometricDelay, which is an optional field, as non-existent.
bool IFDelayExists
===&gt; Attribute IFDelay, which is optional
Tag getSpectralWindowId() const
===&gt; Attribute spectralWindowId
bool atmosphericWetDelayExists
===&gt; Attribute atmosphericWetDelay, which is optional
std::vector< double > LODelay
double getAtmosphericWetDelay() const
Get atmosphericWetDelay, which is optional.
The Tag class is an implementation of a unique index identifying a row of an ASDM table...
Definition: Tag.h:73
void clearLODelay()
Mark LODelay, which is an optional field, as non-existent.
void setAntennaDelay(double antennaDelay)
Set antennaDelay with the specified double.
void setGroupDelayRate(std::vector< double > groupDelayRate)
Set groupDelayRate with the specified std::vector&lt;double &gt;.
bool compareNoAutoInc(Tag antennaId, Tag spectralWindowId, ArrayTimeInterval timeInterval, int numPoly, std::vector< double > phaseDelay, std::vector< double > phaseDelayRate, std::vector< double > groupDelay, std::vector< double > groupDelayRate, Tag fieldId)
Compare each mandatory attribute except the autoincrementable one of this DelayModelRow with the corr...
bool electronicDelayExists
===&gt; Attribute electronicDelay, which is optional
void geometricDelayRateFromText(const std::string &s)
void clearAtmosphericWetDelay()
Mark atmosphericWetDelay, which is an optional field, as non-existent.
void LODelayFromText(const std::string &s)
void clearNumReceptor()
Mark numReceptor, which is an optional field, as non-existent.
bool padDelayExists
===&gt; Attribute padDelay, which is optional
bool isAdded() const
Has this row been added to its table ?
bool receiverDelayExists
===&gt; Attribute receiverDelay, which is optional
The FieldRow class is a row of a FieldTable.
Definition: FieldRow.h:127
void setDispersiveDelayRate(double dispersiveDelayRate)
Set dispersiveDelayRate with the specified double.
void atmosphericGroupDelayRateFromBin(EndianIStream &eis)
double getAtmosphericGroupDelay() const
Get atmosphericGroupDelay, which is optional.
Links *binary deserialization material from an EndianIStream std::map< std::string, DelayModelAttributeFromBin > fromBinMethods
void antennaIdFromBin(EndianIStream &eis)
bool isNumLOExists() const
===&gt; Attribute numLO, which is optional
bool isAntennaDelayExists() const
===&gt; Attribute antennaDelay, which is optional
void electronicDelayRateFromBin(EndianIStream &eis)
virtual ~DelayModelRow()
friend class asdm::TableStreamReader&lt;DelayModelTable, DelayModelRow&gt;;
void receiverDelayFromBin(EndianIStream &eis)
void padDelayFromText(const std::string &s)
std::vector< PolarizationTypeMod::PolarizationType > polarizationType
int numPoly
===&gt; Attribute numPoly
bool timeOriginExists
===&gt; Attribute timeOrigin, which is optional
void antennaDelayFromBin(EndianIStream &eis)
bool isIFDelayExists() const
===&gt; Attribute IFDelay, which is optional
void antennaDelayFromText(const std::string &s)
bool isTimeOriginExists() const
===&gt; Attribute timeOrigin, which is optional
DelayModelRow(DelayModelTable &table)
Create a DelayModelRow.
void setAtmosphericDryDelay(double atmosphericDryDelay)
Set atmosphericDryDelay with the specified double.
void numPolyFromText(const std::string &s)
bool geometricDelayRateExists
===&gt; Attribute geometricDelayRate, which is optional
void timeIntervalFromBin(EndianIStream &eis)
void LOOffsetRateFromText(const std::string &s)
void setTimeOrigin(ArrayTime timeOrigin)
Set timeOrigin with the specified ArrayTime.
void clearCrossPolarizationDelay()
Mark crossPolarizationDelay, which is an optional field, as non-existent.
void LOOffsetFromBin(EndianIStream &eis)
void groupDelayRateFromText(const std::string &s)
double getDispersiveDelay() const
Get dispersiveDelay, which is optional.
Tag fieldId
===&gt; Attribute fieldId
std::vector< double > getReceiverDelay() const
Get receiverDelay, which is optional.
void dispersiveDelayFromBin(EndianIStream &eis)
std::vector< double > getGroupDelay() const
===&gt; Attribute groupDelay
void atmosphericGroupDelayFromBin(EndianIStream &eis)
void setPadDelay(double padDelay)
Set padDelay with the specified double.
void setAntennaId(Tag antennaId)
Set antennaId with the specified Tag.
void(DelayModelRow::* DelayModelAttributeFromText)(const std::string &s)
bool isDispersiveDelayRateExists() const
===&gt; Attribute dispersiveDelayRate, which is optional
double getCrossPolarizationDelay() const
Get crossPolarizationDelay, which is optional.
std::vector< double > getPhaseDelay() const
===&gt; Attribute phaseDelay
void setCrossPolarizationDelay(double crossPolarizationDelay)
Set crossPolarizationDelay with the specified double.
The SpectralWindowRow class is a row of a SpectralWindowTable.
bool isElectronicDelayRateExists() const
===&gt; Attribute electronicDelayRate, which is optional
void clearElectronicDelay()
Mark electronicDelay, which is an optional field, as non-existent.
bool equalByRequiredValue(DelayModelRow *x)
Return true if all required attributes of the value part are equal to their homologues in x and false...
void setNumLO(int numLO)
Set numLO with the specified int.
void atmosphericWetDelayFromText(const std::string &s)
std::vector< Frequency > getLOOffset() const
Get LOOffset, which is optional.
double getAntennaDelay() const
Get antennaDelay, which is optional.
std::vector< Frequency > getLOOffsetRate() const
Get LOOffsetRate, which is optional.
std::vector< double > phaseDelay
===&gt; Attribute phaseDelay
void setDispersiveDelay(double dispersiveDelay)
Set dispersiveDelay with the specified double.
bool isLOOffsetExists() const
===&gt; Attribute LOOffset, which is optional
void crossPolarizationDelayFromBin(EndianIStream &eis)
void phaseDelayRateFromBin(EndianIStream &eis)
void phaseDelayFromBin(EndianIStream &eis)
void atmosphericDryDelayFromText(const std::string &s)
std::vector< double > getLODelay() const
Get LODelay, which is optional.
void clearAtmosphericGroupDelayRate()
Mark atmosphericGroupDelayRate, which is an optional field, as non-existent.
void phaseDelayRateFromText(const std::string &s)
std::vector< double > getIFDelay() const
Get IFDelay, which is optional.
bool isAtmosphericWetDelayExists() const
===&gt; Attribute atmosphericWetDelay, which is optional
bool isAtmosphericGroupDelayRateExists() const
===&gt; Attribute atmosphericGroupDelayRate, which is optional
void atmosphericWetDelayFromBin(EndianIStream &eis)
void polarizationTypeFromBin(EndianIStream &eis)
void groupDelayFromBin(EndianIStream &eis)