casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
DelayModelRow.h
Go to the documentation of this file.
00001 
00002 /*
00003  * ALMA - Atacama Large Millimeter Array
00004  * (c) European Southern Observatory, 2002
00005  * (c) Associated Universities Inc., 2002
00006  * Copyright by ESO (in the framework of the ALMA collaboration),
00007  * Copyright by AUI (in the framework of the ALMA collaboration),
00008  * All rights reserved.
00009  * 
00010  * This library is free software; you can redistribute it and/or
00011  * modify it under the terms of the GNU Lesser General Public
00012  * License as published by the Free software Foundation; either
00013  * version 2.1 of the License, or (at your option) any later version.
00014  * 
00015  * This library is distributed in the hope that it will be useful,
00016  * but WITHOUT ANY WARRANTY, without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018  * Lesser General Public License for more details.
00019  * 
00020  * You should have received a copy of the GNU Lesser General Public
00021  * License along with this library; if not, write to the Free Software
00022  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
00023  * MA 02111-1307  USA
00024  *
00025  * Warning!
00026  *  -------------------------------------------------------------------- 
00027  * | This is generated code!  Do not modify this file.                  |
00028  * | If you do, all changes will be lost when the file is re-generated. |
00029  *  --------------------------------------------------------------------
00030  *
00031  * File DelayModelRow.h
00032  */
00033  
00034 #ifndef DelayModelRow_CLASS
00035 #define DelayModelRow_CLASS
00036 
00037 #include <vector>
00038 #include <string>
00039 #include <set>
00040 
00041 #ifndef WITHOUT_ACS
00042 #include <asdmIDLC.h>
00043 #endif
00044 
00045 
00046 
00047 
00048 
00049 
00050          
00051 #include <ArrayTime.h>
00052         
00053 
00054          
00055 #include <Tag.h>
00056         
00057 
00058          
00059 #include <Frequency.h>
00060         
00061 
00062          
00063 #include <ArrayTimeInterval.h>
00064         
00065 
00066 
00067 
00068 
00069         
00070 
00071         
00072 
00073         
00074 
00075         
00076 
00077         
00078 
00079         
00080 
00081         
00082 
00083         
00084 
00085         
00086 
00087         
00088 
00089         
00090 
00091         
00092 
00093         
00094 
00095         
00096 
00097         
00098 
00099         
00100 
00101         
00102 
00103         
00104 
00105         
00106 
00107         
00108 
00109         
00110 
00111         
00112 #include "CPolarizationType.h"
00113         
00114 
00115         
00116 
00117         
00118 
00119         
00120 
00121         
00122 
00123         
00124 
00125         
00126 
00127 
00128 
00129 #include <ConversionException.h>
00130 #include <NoSuchRow.h>
00131 #include <IllegalAccessException.h>
00132 
00133 #include <RowTransformer.h>
00134 //#include <TableStreamReader.h>
00135 
00136 /*\file DelayModel.h
00137     \brief Generated from model's revision "1.61", branch "HEAD"
00138 */
00139 
00140 namespace asdm {
00141 
00142 //class asdm::DelayModelTable;
00143 
00144 
00145 // class asdm::AntennaRow;
00146 class AntennaRow;
00147 
00148 // class asdm::SpectralWindowRow;
00149 class SpectralWindowRow;
00150 
00151 // class asdm::FieldRow;
00152 class FieldRow;
00153         
00154 
00155 class DelayModelRow;
00156 typedef void (DelayModelRow::*DelayModelAttributeFromBin) (EndianIStream& eis);
00157 typedef void (DelayModelRow::*DelayModelAttributeFromText) (const string& s);
00158 
00165 class DelayModelRow {
00166 friend class asdm::DelayModelTable;
00167 friend class asdm::RowTransformer<DelayModelRow>;
00168 //friend class asdm::TableStreamReader<DelayModelTable, DelayModelRow>;
00169 
00170 public:
00171 
00172         virtual ~DelayModelRow();
00173 
00177         DelayModelTable &getTable() const;
00178         
00183         bool isAdded() const;
00184                 
00186         // Intrinsic Table Attributes //
00188         
00189         
00190         // ===> Attribute timeInterval
00191         
00192         
00193         
00194 
00195         
00200         ArrayTimeInterval getTimeInterval() const;
00201         
00202  
00203         
00204         
00214         void setTimeInterval (ArrayTimeInterval timeInterval);
00215                 
00216         
00217         
00218         
00219 
00220 
00221         
00222         // ===> Attribute numPoly
00223         
00224         
00225         
00226 
00227         
00232         int getNumPoly() const;
00233         
00234  
00235         
00236         
00244         void setNumPoly (int numPoly);
00245                 
00246         
00247         
00248         
00249 
00250 
00251         
00252         // ===> Attribute phaseDelay
00253         
00254         
00255         
00256 
00257         
00262         vector<double > getPhaseDelay() const;
00263         
00264  
00265         
00266         
00274         void setPhaseDelay (vector<double > phaseDelay);
00275                 
00276         
00277         
00278         
00279 
00280 
00281         
00282         // ===> Attribute phaseDelayRate
00283         
00284         
00285         
00286 
00287         
00292         vector<double > getPhaseDelayRate() const;
00293         
00294  
00295         
00296         
00304         void setPhaseDelayRate (vector<double > phaseDelayRate);
00305                 
00306         
00307         
00308         
00309 
00310 
00311         
00312         // ===> Attribute groupDelay
00313         
00314         
00315         
00316 
00317         
00322         vector<double > getGroupDelay() const;
00323         
00324  
00325         
00326         
00334         void setGroupDelay (vector<double > groupDelay);
00335                 
00336         
00337         
00338         
00339 
00340 
00341         
00342         // ===> Attribute groupDelayRate
00343         
00344         
00345         
00346 
00347         
00352         vector<double > getGroupDelayRate() const;
00353         
00354  
00355         
00356         
00364         void setGroupDelayRate (vector<double > groupDelayRate);
00365                 
00366         
00367         
00368         
00369 
00370 
00371         
00372         // ===> Attribute timeOrigin, which is optional
00373         
00374         
00375         
00380         bool isTimeOriginExists() const;
00381         
00382 
00383         
00389         ArrayTime getTimeOrigin() const;
00390         
00391  
00392         
00393         
00400         void setTimeOrigin (ArrayTime timeOrigin);
00401                 
00402         
00403         
00404         
00408         void clearTimeOrigin ();
00409         
00410 
00411 
00412         
00413         // ===> Attribute atmosphericGroupDelay, which is optional
00414         
00415         
00416         
00421         bool isAtmosphericGroupDelayExists() const;
00422         
00423 
00424         
00430         double getAtmosphericGroupDelay() const;
00431         
00432  
00433         
00434         
00441         void setAtmosphericGroupDelay (double atmosphericGroupDelay);
00442                 
00443         
00444         
00445         
00449         void clearAtmosphericGroupDelay ();
00450         
00451 
00452 
00453         
00454         // ===> Attribute atmosphericGroupDelayRate, which is optional
00455         
00456         
00457         
00462         bool isAtmosphericGroupDelayRateExists() const;
00463         
00464 
00465         
00471         double getAtmosphericGroupDelayRate() const;
00472         
00473  
00474         
00475         
00482         void setAtmosphericGroupDelayRate (double atmosphericGroupDelayRate);
00483                 
00484         
00485         
00486         
00490         void clearAtmosphericGroupDelayRate ();
00491         
00492 
00493 
00494         
00495         // ===> Attribute geometricDelay, which is optional
00496         
00497         
00498         
00503         bool isGeometricDelayExists() const;
00504         
00505 
00506         
00512         double getGeometricDelay() const;
00513         
00514  
00515         
00516         
00523         void setGeometricDelay (double geometricDelay);
00524                 
00525         
00526         
00527         
00531         void clearGeometricDelay ();
00532         
00533 
00534 
00535         
00536         // ===> Attribute geometricDelayRate, which is optional
00537         
00538         
00539         
00544         bool isGeometricDelayRateExists() const;
00545         
00546 
00547         
00553         double getGeometricDelayRate() const;
00554         
00555  
00556         
00557         
00564         void setGeometricDelayRate (double geometricDelayRate);
00565                 
00566         
00567         
00568         
00572         void clearGeometricDelayRate ();
00573         
00574 
00575 
00576         
00577         // ===> Attribute numLO, which is optional
00578         
00579         
00580         
00585         bool isNumLOExists() const;
00586         
00587 
00588         
00594         int getNumLO() const;
00595         
00596  
00597         
00598         
00605         void setNumLO (int numLO);
00606                 
00607         
00608         
00609         
00613         void clearNumLO ();
00614         
00615 
00616 
00617         
00618         // ===> Attribute LOOffset, which is optional
00619         
00620         
00621         
00626         bool isLOOffsetExists() const;
00627         
00628 
00629         
00635         vector<Frequency > getLOOffset() const;
00636         
00637  
00638         
00639         
00646         void setLOOffset (vector<Frequency > LOOffset);
00647                 
00648         
00649         
00650         
00654         void clearLOOffset ();
00655         
00656 
00657 
00658         
00659         // ===> Attribute LOOffsetRate, which is optional
00660         
00661         
00662         
00667         bool isLOOffsetRateExists() const;
00668         
00669 
00670         
00676         vector<Frequency > getLOOffsetRate() const;
00677         
00678  
00679         
00680         
00687         void setLOOffsetRate (vector<Frequency > LOOffsetRate);
00688                 
00689         
00690         
00691         
00695         void clearLOOffsetRate ();
00696         
00697 
00698 
00699         
00700         // ===> Attribute dispersiveDelay, which is optional
00701         
00702         
00703         
00708         bool isDispersiveDelayExists() const;
00709         
00710 
00711         
00717         double getDispersiveDelay() const;
00718         
00719  
00720         
00721         
00728         void setDispersiveDelay (double dispersiveDelay);
00729                 
00730         
00731         
00732         
00736         void clearDispersiveDelay ();
00737         
00738 
00739 
00740         
00741         // ===> Attribute dispersiveDelayRate, which is optional
00742         
00743         
00744         
00749         bool isDispersiveDelayRateExists() const;
00750         
00751 
00752         
00758         double getDispersiveDelayRate() const;
00759         
00760  
00761         
00762         
00769         void setDispersiveDelayRate (double dispersiveDelayRate);
00770                 
00771         
00772         
00773         
00777         void clearDispersiveDelayRate ();
00778         
00779 
00780 
00781         
00782         // ===> Attribute atmosphericDryDelay, which is optional
00783         
00784         
00785         
00790         bool isAtmosphericDryDelayExists() const;
00791         
00792 
00793         
00799         double getAtmosphericDryDelay() const;
00800         
00801  
00802         
00803         
00810         void setAtmosphericDryDelay (double atmosphericDryDelay);
00811                 
00812         
00813         
00814         
00818         void clearAtmosphericDryDelay ();
00819         
00820 
00821 
00822         
00823         // ===> Attribute atmosphericWetDelay, which is optional
00824         
00825         
00826         
00831         bool isAtmosphericWetDelayExists() const;
00832         
00833 
00834         
00840         double getAtmosphericWetDelay() const;
00841         
00842  
00843         
00844         
00851         void setAtmosphericWetDelay (double atmosphericWetDelay);
00852                 
00853         
00854         
00855         
00859         void clearAtmosphericWetDelay ();
00860         
00861 
00862 
00863         
00864         // ===> Attribute padDelay, which is optional
00865         
00866         
00867         
00872         bool isPadDelayExists() const;
00873         
00874 
00875         
00881         double getPadDelay() const;
00882         
00883  
00884         
00885         
00892         void setPadDelay (double padDelay);
00893                 
00894         
00895         
00896         
00900         void clearPadDelay ();
00901         
00902 
00903 
00904         
00905         // ===> Attribute antennaDelay, which is optional
00906         
00907         
00908         
00913         bool isAntennaDelayExists() const;
00914         
00915 
00916         
00922         double getAntennaDelay() const;
00923         
00924  
00925         
00926         
00933         void setAntennaDelay (double antennaDelay);
00934                 
00935         
00936         
00937         
00941         void clearAntennaDelay ();
00942         
00943 
00944 
00945         
00946         // ===> Attribute numReceptor, which is optional
00947         
00948         
00949         
00954         bool isNumReceptorExists() const;
00955         
00956 
00957         
00963         int getNumReceptor() const;
00964         
00965  
00966         
00967         
00974         void setNumReceptor (int numReceptor);
00975                 
00976         
00977         
00978         
00982         void clearNumReceptor ();
00983         
00984 
00985 
00986         
00987         // ===> Attribute polarizationType, which is optional
00988         
00989         
00990         
00995         bool isPolarizationTypeExists() const;
00996         
00997 
00998         
01004         vector<PolarizationTypeMod::PolarizationType > getPolarizationType() const;
01005         
01006  
01007         
01008         
01015         void setPolarizationType (vector<PolarizationTypeMod::PolarizationType > polarizationType);
01016                 
01017         
01018         
01019         
01023         void clearPolarizationType ();
01024         
01025 
01026 
01027         
01028         // ===> Attribute electronicDelay, which is optional
01029         
01030         
01031         
01036         bool isElectronicDelayExists() const;
01037         
01038 
01039         
01045         vector<double > getElectronicDelay() const;
01046         
01047  
01048         
01049         
01056         void setElectronicDelay (vector<double > electronicDelay);
01057                 
01058         
01059         
01060         
01064         void clearElectronicDelay ();
01065         
01066 
01067 
01068         
01069         // ===> Attribute electronicDelayRate, which is optional
01070         
01071         
01072         
01077         bool isElectronicDelayRateExists() const;
01078         
01079 
01080         
01086         vector<double > getElectronicDelayRate() const;
01087         
01088  
01089         
01090         
01097         void setElectronicDelayRate (vector<double > electronicDelayRate);
01098                 
01099         
01100         
01101         
01105         void clearElectronicDelayRate ();
01106         
01107 
01108 
01109         
01110         // ===> Attribute receiverDelay, which is optional
01111         
01112         
01113         
01118         bool isReceiverDelayExists() const;
01119         
01120 
01121         
01127         vector<double > getReceiverDelay() const;
01128         
01129  
01130         
01131         
01138         void setReceiverDelay (vector<double > receiverDelay);
01139                 
01140         
01141         
01142         
01146         void clearReceiverDelay ();
01147         
01148 
01149 
01150         
01151         // ===> Attribute IFDelay, which is optional
01152         
01153         
01154         
01159         bool isIFDelayExists() const;
01160         
01161 
01162         
01168         vector<double > getIFDelay() const;
01169         
01170  
01171         
01172         
01179         void setIFDelay (vector<double > IFDelay);
01180                 
01181         
01182         
01183         
01187         void clearIFDelay ();
01188         
01189 
01190 
01191         
01192         // ===> Attribute LODelay, which is optional
01193         
01194         
01195         
01200         bool isLODelayExists() const;
01201         
01202 
01203         
01209         vector<double > getLODelay() const;
01210         
01211  
01212         
01213         
01220         void setLODelay (vector<double > LODelay);
01221                 
01222         
01223         
01224         
01228         void clearLODelay ();
01229         
01230 
01231 
01232         
01233         // ===> Attribute crossPolarizationDelay, which is optional
01234         
01235         
01236         
01241         bool isCrossPolarizationDelayExists() const;
01242         
01243 
01244         
01250         double getCrossPolarizationDelay() const;
01251         
01252  
01253         
01254         
01261         void setCrossPolarizationDelay (double crossPolarizationDelay);
01262                 
01263         
01264         
01265         
01269         void clearCrossPolarizationDelay ();
01270         
01271 
01272 
01274         // Extrinsic Table Attributes //
01276         
01277         
01278         // ===> Attribute antennaId
01279         
01280         
01281         
01282 
01283         
01288         Tag getAntennaId() const;
01289         
01290  
01291         
01292         
01302         void setAntennaId (Tag antennaId);
01303                 
01304         
01305         
01306         
01307 
01308 
01309         
01310         // ===> Attribute fieldId
01311         
01312         
01313         
01314 
01315         
01320         Tag getFieldId() const;
01321         
01322  
01323         
01324         
01332         void setFieldId (Tag fieldId);
01333                 
01334         
01335         
01336         
01337 
01338 
01339         
01340         // ===> Attribute spectralWindowId
01341         
01342         
01343         
01344 
01345         
01350         Tag getSpectralWindowId() const;
01351         
01352  
01353         
01354         
01364         void setSpectralWindowId (Tag spectralWindowId);
01365                 
01366         
01367         
01368         
01369 
01370 
01372         // Links //
01374         
01375         
01376 
01377         
01378                 
01385          AntennaRow* getAntennaUsingAntennaId();
01386          
01387 
01388         
01389 
01390         
01391 
01392         
01393                 
01400          SpectralWindowRow* getSpectralWindowUsingSpectralWindowId();
01401          
01402 
01403         
01404 
01405         
01406 
01407         
01408                 
01415          FieldRow* getFieldUsingFieldId();
01416          
01417 
01418         
01419 
01420         
01421         
01422         
01446         bool compareNoAutoInc(Tag antennaId, Tag spectralWindowId, ArrayTimeInterval timeInterval, int numPoly, vector<double > phaseDelay, vector<double > phaseDelayRate, vector<double > groupDelay, vector<double > groupDelayRate, Tag fieldId);
01447         
01448         
01449 
01450         
01468         bool compareRequiredValue(int numPoly, vector<double > phaseDelay, vector<double > phaseDelayRate, vector<double > groupDelay, vector<double > groupDelayRate, Tag fieldId); 
01469                  
01470         
01479         bool equalByRequiredValue(DelayModelRow* x) ;
01480         
01481 #ifndef WITHOUT_ACS
01482 
01486         asdmIDL::DelayModelRowIDL *toIDL() const;
01487 #endif
01488         
01489 #ifndef WITHOUT_ACS
01490 
01495         void setFromIDL (asdmIDL::DelayModelRowIDL x) ;
01496 #endif
01497         
01502         std::string toXML() const;
01503 
01510         void setFromXML (std::string rowDoc) ;
01511 
01514         // binary-deserialization material from an EndianIStream  //
01516 
01517         std::map<std::string, DelayModelAttributeFromBin> fromBinMethods;
01518 void antennaIdFromBin( EndianIStream& eis);
01519 void spectralWindowIdFromBin( EndianIStream& eis);
01520 void timeIntervalFromBin( EndianIStream& eis);
01521 void numPolyFromBin( EndianIStream& eis);
01522 void phaseDelayFromBin( EndianIStream& eis);
01523 void phaseDelayRateFromBin( EndianIStream& eis);
01524 void groupDelayFromBin( EndianIStream& eis);
01525 void groupDelayRateFromBin( EndianIStream& eis);
01526 void fieldIdFromBin( EndianIStream& eis);
01527 
01528 void timeOriginFromBin( EndianIStream& eis);
01529 void atmosphericGroupDelayFromBin( EndianIStream& eis);
01530 void atmosphericGroupDelayRateFromBin( EndianIStream& eis);
01531 void geometricDelayFromBin( EndianIStream& eis);
01532 void geometricDelayRateFromBin( EndianIStream& eis);
01533 void numLOFromBin( EndianIStream& eis);
01534 void LOOffsetFromBin( EndianIStream& eis);
01535 void LOOffsetRateFromBin( EndianIStream& eis);
01536 void dispersiveDelayFromBin( EndianIStream& eis);
01537 void dispersiveDelayRateFromBin( EndianIStream& eis);
01538 void atmosphericDryDelayFromBin( EndianIStream& eis);
01539 void atmosphericWetDelayFromBin( EndianIStream& eis);
01540 void padDelayFromBin( EndianIStream& eis);
01541 void antennaDelayFromBin( EndianIStream& eis);
01542 void numReceptorFromBin( EndianIStream& eis);
01543 void polarizationTypeFromBin( EndianIStream& eis);
01544 void electronicDelayFromBin( EndianIStream& eis);
01545 void electronicDelayRateFromBin( EndianIStream& eis);
01546 void receiverDelayFromBin( EndianIStream& eis);
01547 void IFDelayFromBin( EndianIStream& eis);
01548 void LODelayFromBin( EndianIStream& eis);
01549 void crossPolarizationDelayFromBin( EndianIStream& eis);
01550 
01551 
01559          static DelayModelRow* fromBin(EndianIStream& eis, DelayModelTable& table, const std::vector<std::string>& attributesSeq);       
01561 
01562 private:
01566         DelayModelTable &table;
01570         bool hasBeenAdded;
01571 
01572         // This method is used by the Table class when this row is added to the table.
01573         void isAdded(bool added);
01574 
01575 
01584         DelayModelRow (DelayModelTable &table);
01585 
01603          DelayModelRow (DelayModelTable &table, DelayModelRow &row);
01604                 
01606         // Intrinsic Table Attributes //
01608         
01609         
01610         // ===> Attribute timeInterval
01611         
01612         
01613 
01614         ArrayTimeInterval timeInterval;
01615 
01616         
01617         
01618         
01619 
01620         
01621         // ===> Attribute numPoly
01622         
01623         
01624 
01625         int numPoly;
01626 
01627         
01628         
01629         
01630 
01631         
01632         // ===> Attribute phaseDelay
01633         
01634         
01635 
01636         vector<double > phaseDelay;
01637 
01638         
01639         
01640         
01641 
01642         
01643         // ===> Attribute phaseDelayRate
01644         
01645         
01646 
01647         vector<double > phaseDelayRate;
01648 
01649         
01650         
01651         
01652 
01653         
01654         // ===> Attribute groupDelay
01655         
01656         
01657 
01658         vector<double > groupDelay;
01659 
01660         
01661         
01662         
01663 
01664         
01665         // ===> Attribute groupDelayRate
01666         
01667         
01668 
01669         vector<double > groupDelayRate;
01670 
01671         
01672         
01673         
01674 
01675         
01676         // ===> Attribute timeOrigin, which is optional
01677         
01678         
01679         bool timeOriginExists;
01680         
01681 
01682         ArrayTime timeOrigin;
01683 
01684         
01685         
01686         
01687 
01688         
01689         // ===> Attribute atmosphericGroupDelay, which is optional
01690         
01691         
01692         bool atmosphericGroupDelayExists;
01693         
01694 
01695         double atmosphericGroupDelay;
01696 
01697         
01698         
01699         
01700 
01701         
01702         // ===> Attribute atmosphericGroupDelayRate, which is optional
01703         
01704         
01705         bool atmosphericGroupDelayRateExists;
01706         
01707 
01708         double atmosphericGroupDelayRate;
01709 
01710         
01711         
01712         
01713 
01714         
01715         // ===> Attribute geometricDelay, which is optional
01716         
01717         
01718         bool geometricDelayExists;
01719         
01720 
01721         double geometricDelay;
01722 
01723         
01724         
01725         
01726 
01727         
01728         // ===> Attribute geometricDelayRate, which is optional
01729         
01730         
01731         bool geometricDelayRateExists;
01732         
01733 
01734         double geometricDelayRate;
01735 
01736         
01737         
01738         
01739 
01740         
01741         // ===> Attribute numLO, which is optional
01742         
01743         
01744         bool numLOExists;
01745         
01746 
01747         int numLO;
01748 
01749         
01750         
01751         
01752 
01753         
01754         // ===> Attribute LOOffset, which is optional
01755         
01756         
01757         bool LOOffsetExists;
01758         
01759 
01760         vector<Frequency > LOOffset;
01761 
01762         
01763         
01764         
01765 
01766         
01767         // ===> Attribute LOOffsetRate, which is optional
01768         
01769         
01770         bool LOOffsetRateExists;
01771         
01772 
01773         vector<Frequency > LOOffsetRate;
01774 
01775         
01776         
01777         
01778 
01779         
01780         // ===> Attribute dispersiveDelay, which is optional
01781         
01782         
01783         bool dispersiveDelayExists;
01784         
01785 
01786         double dispersiveDelay;
01787 
01788         
01789         
01790         
01791 
01792         
01793         // ===> Attribute dispersiveDelayRate, which is optional
01794         
01795         
01796         bool dispersiveDelayRateExists;
01797         
01798 
01799         double dispersiveDelayRate;
01800 
01801         
01802         
01803         
01804 
01805         
01806         // ===> Attribute atmosphericDryDelay, which is optional
01807         
01808         
01809         bool atmosphericDryDelayExists;
01810         
01811 
01812         double atmosphericDryDelay;
01813 
01814         
01815         
01816         
01817 
01818         
01819         // ===> Attribute atmosphericWetDelay, which is optional
01820         
01821         
01822         bool atmosphericWetDelayExists;
01823         
01824 
01825         double atmosphericWetDelay;
01826 
01827         
01828         
01829         
01830 
01831         
01832         // ===> Attribute padDelay, which is optional
01833         
01834         
01835         bool padDelayExists;
01836         
01837 
01838         double padDelay;
01839 
01840         
01841         
01842         
01843 
01844         
01845         // ===> Attribute antennaDelay, which is optional
01846         
01847         
01848         bool antennaDelayExists;
01849         
01850 
01851         double antennaDelay;
01852 
01853         
01854         
01855         
01856 
01857         
01858         // ===> Attribute numReceptor, which is optional
01859         
01860         
01861         bool numReceptorExists;
01862         
01863 
01864         int numReceptor;
01865 
01866         
01867         
01868         
01869 
01870         
01871         // ===> Attribute polarizationType, which is optional
01872         
01873         
01874         bool polarizationTypeExists;
01875         
01876 
01877         vector<PolarizationTypeMod::PolarizationType > polarizationType;
01878 
01879         
01880         
01881         
01882 
01883         
01884         // ===> Attribute electronicDelay, which is optional
01885         
01886         
01887         bool electronicDelayExists;
01888         
01889 
01890         vector<double > electronicDelay;
01891 
01892         
01893         
01894         
01895 
01896         
01897         // ===> Attribute electronicDelayRate, which is optional
01898         
01899         
01900         bool electronicDelayRateExists;
01901         
01902 
01903         vector<double > electronicDelayRate;
01904 
01905         
01906         
01907         
01908 
01909         
01910         // ===> Attribute receiverDelay, which is optional
01911         
01912         
01913         bool receiverDelayExists;
01914         
01915 
01916         vector<double > receiverDelay;
01917 
01918         
01919         
01920         
01921 
01922         
01923         // ===> Attribute IFDelay, which is optional
01924         
01925         
01926         bool IFDelayExists;
01927         
01928 
01929         vector<double > IFDelay;
01930 
01931         
01932         
01933         
01934 
01935         
01936         // ===> Attribute LODelay, which is optional
01937         
01938         
01939         bool LODelayExists;
01940         
01941 
01942         vector<double > LODelay;
01943 
01944         
01945         
01946         
01947 
01948         
01949         // ===> Attribute crossPolarizationDelay, which is optional
01950         
01951         
01952         bool crossPolarizationDelayExists;
01953         
01954 
01955         double crossPolarizationDelay;
01956 
01957         
01958         
01959         
01960 
01962         // Extrinsic Table Attributes //
01964         
01965         
01966         // ===> Attribute antennaId
01967         
01968         
01969 
01970         Tag antennaId;
01971 
01972         
01973         
01974         
01975 
01976         
01977         // ===> Attribute fieldId
01978         
01979         
01980 
01981         Tag fieldId;
01982 
01983         
01984         
01985         
01986 
01987         
01988         // ===> Attribute spectralWindowId
01989         
01990         
01991 
01992         Tag spectralWindowId;
01993 
01994         
01995         
01996         
01997 
01999         // Links //
02001         
02002         
02003                 
02004 
02005          
02006 
02007         
02008 
02009         
02010                 
02011 
02012          
02013 
02014         
02015 
02016         
02017                 
02018 
02019          
02020 
02021         
02022 
02023         
02024 /*
02026         // binary-deserialization material from an EndianIStream  //
02028         std::map<std::string, DelayModelAttributeFromBin> fromBinMethods;
02029 void antennaIdFromBin( EndianIStream& eis);
02030 void spectralWindowIdFromBin( EndianIStream& eis);
02031 void timeIntervalFromBin( EndianIStream& eis);
02032 void numPolyFromBin( EndianIStream& eis);
02033 void phaseDelayFromBin( EndianIStream& eis);
02034 void phaseDelayRateFromBin( EndianIStream& eis);
02035 void groupDelayFromBin( EndianIStream& eis);
02036 void groupDelayRateFromBin( EndianIStream& eis);
02037 void fieldIdFromBin( EndianIStream& eis);
02038 
02039 void timeOriginFromBin( EndianIStream& eis);
02040 void atmosphericGroupDelayFromBin( EndianIStream& eis);
02041 void atmosphericGroupDelayRateFromBin( EndianIStream& eis);
02042 void geometricDelayFromBin( EndianIStream& eis);
02043 void geometricDelayRateFromBin( EndianIStream& eis);
02044 void numLOFromBin( EndianIStream& eis);
02045 void LOOffsetFromBin( EndianIStream& eis);
02046 void LOOffsetRateFromBin( EndianIStream& eis);
02047 void dispersiveDelayFromBin( EndianIStream& eis);
02048 void dispersiveDelayRateFromBin( EndianIStream& eis);
02049 void atmosphericDryDelayFromBin( EndianIStream& eis);
02050 void atmosphericWetDelayFromBin( EndianIStream& eis);
02051 void padDelayFromBin( EndianIStream& eis);
02052 void antennaDelayFromBin( EndianIStream& eis);
02053 void numReceptorFromBin( EndianIStream& eis);
02054 void polarizationTypeFromBin( EndianIStream& eis);
02055 void electronicDelayFromBin( EndianIStream& eis);
02056 void electronicDelayRateFromBin( EndianIStream& eis);
02057 void receiverDelayFromBin( EndianIStream& eis);
02058 void IFDelayFromBin( EndianIStream& eis);
02059 void LODelayFromBin( EndianIStream& eis);
02060 void crossPolarizationDelayFromBin( EndianIStream& eis);
02061 
02062 */
02063         
02065         // text-deserialization material //
02067         std::map<std::string, DelayModelAttributeFromText> fromTextMethods;
02068         
02069 void antennaIdFromText (const string & s);
02070         
02071         
02072 void spectralWindowIdFromText (const string & s);
02073         
02074         
02075 void timeIntervalFromText (const string & s);
02076         
02077         
02078 void numPolyFromText (const string & s);
02079         
02080         
02081 void phaseDelayFromText (const string & s);
02082         
02083         
02084 void phaseDelayRateFromText (const string & s);
02085         
02086         
02087 void groupDelayFromText (const string & s);
02088         
02089         
02090 void groupDelayRateFromText (const string & s);
02091         
02092         
02093 void fieldIdFromText (const string & s);
02094         
02095 
02096         
02097 void timeOriginFromText (const string & s);
02098         
02099         
02100 void atmosphericGroupDelayFromText (const string & s);
02101         
02102         
02103 void atmosphericGroupDelayRateFromText (const string & s);
02104         
02105         
02106 void geometricDelayFromText (const string & s);
02107         
02108         
02109 void geometricDelayRateFromText (const string & s);
02110         
02111         
02112 void numLOFromText (const string & s);
02113         
02114         
02115 void LOOffsetFromText (const string & s);
02116         
02117         
02118 void LOOffsetRateFromText (const string & s);
02119         
02120         
02121 void dispersiveDelayFromText (const string & s);
02122         
02123         
02124 void dispersiveDelayRateFromText (const string & s);
02125         
02126         
02127 void atmosphericDryDelayFromText (const string & s);
02128         
02129         
02130 void atmosphericWetDelayFromText (const string & s);
02131         
02132         
02133 void padDelayFromText (const string & s);
02134         
02135         
02136 void antennaDelayFromText (const string & s);
02137         
02138         
02139 void numReceptorFromText (const string & s);
02140         
02141         
02142 void polarizationTypeFromText (const string & s);
02143         
02144         
02145 void electronicDelayFromText (const string & s);
02146         
02147         
02148 void electronicDelayRateFromText (const string & s);
02149         
02150         
02151 void receiverDelayFromText (const string & s);
02152         
02153         
02154 void IFDelayFromText (const string & s);
02155         
02156         
02157 void LODelayFromText (const string & s);
02158         
02159         
02160 void crossPolarizationDelayFromText (const string & s);
02161         
02162         
02163         
02164         void fromText(const std::string& attributeName, const std::string&  t);
02165         
02170          void toBin(EndianOSStream& eoss);
02171                  
02181 };
02182 
02183 } // End namespace asdm
02184 
02185 #endif /* DelayModel_CLASS */