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 using std::vector;
00041 using std::string;
00042 using std::set;
00043 
00044 #ifndef WITHOUT_ACS
00045 #include <asdmIDLC.h>
00046 using asdmIDL::DelayModelRowIDL;
00047 #endif
00048 
00049 
00050 
00051 
00052 
00053 
00054 #include <ArrayTime.h>
00055 using  asdm::ArrayTime;
00056 
00057 #include <Tag.h>
00058 using  asdm::Tag;
00059 
00060 #include <ArrayTimeInterval.h>
00061 using  asdm::ArrayTimeInterval;
00062 
00063 
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 #include <ConversionException.h>
00089 #include <NoSuchRow.h>
00090 #include <IllegalAccessException.h>
00091 
00092 
00093 /*\file DelayModel.h
00094     \brief Generated from model's revision "1.55", branch "HEAD"
00095 */
00096 
00097 namespace asdm {
00098 
00099 //class asdm::DelayModelTable;
00100 
00101 
00102 // class asdm::AntennaRow;
00103 class AntennaRow;
00104         
00105 
00106 class DelayModelRow;
00107 typedef void (DelayModelRow::*DelayModelAttributeFromBin) (EndianISStream& eiss);
00108 
00115 class DelayModelRow {
00116 friend class asdm::DelayModelTable;
00117 
00118 public:
00119 
00120         virtual ~DelayModelRow();
00121 
00125         DelayModelTable &getTable() const;
00126         
00131         bool isAdded() const;
00132                 
00134         // Intrinsic Table Attributes //
00136         
00137         
00138         // ===> Attribute timeInterval
00139         
00140         
00141         
00142 
00143         
00148         ArrayTimeInterval getTimeInterval() const;
00149         
00150  
00151         
00152         
00162         void setTimeInterval (ArrayTimeInterval timeInterval);
00163                 
00164         
00165         
00166         
00167 
00168 
00169         
00170         // ===> Attribute timeOrigin
00171         
00172         
00173         
00174 
00175         
00180         ArrayTime getTimeOrigin() const;
00181         
00182  
00183         
00184         
00192         void setTimeOrigin (ArrayTime timeOrigin);
00193                 
00194         
00195         
00196         
00197 
00198 
00199         
00200         // ===> Attribute numPoly
00201         
00202         
00203         
00204 
00205         
00210         int getNumPoly() const;
00211         
00212  
00213         
00214         
00222         void setNumPoly (int numPoly);
00223                 
00224         
00225         
00226         
00227 
00228 
00229         
00230         // ===> Attribute atmDryDelay
00231         
00232         
00233         
00234 
00235         
00240         vector<double > getAtmDryDelay() const;
00241         
00242  
00243         
00244         
00252         void setAtmDryDelay (vector<double > atmDryDelay);
00253                 
00254         
00255         
00256         
00257 
00258 
00259         
00260         // ===> Attribute atmWetDelay
00261         
00262         
00263         
00264 
00265         
00270         vector<double > getAtmWetDelay() const;
00271         
00272  
00273         
00274         
00282         void setAtmWetDelay (vector<double > atmWetDelay);
00283                 
00284         
00285         
00286         
00287 
00288 
00289         
00290         // ===> Attribute clockDelay
00291         
00292         
00293         
00294 
00295         
00300         vector<double > getClockDelay() const;
00301         
00302  
00303         
00304         
00312         void setClockDelay (vector<double > clockDelay);
00313                 
00314         
00315         
00316         
00317 
00318 
00319         
00320         // ===> Attribute geomDelay
00321         
00322         
00323         
00324 
00325         
00330         vector<double > getGeomDelay() const;
00331         
00332  
00333         
00334         
00342         void setGeomDelay (vector<double > geomDelay);
00343                 
00344         
00345         
00346         
00347 
00348 
00349         
00350         // ===> Attribute dispDelay, which is optional
00351         
00352         
00353         
00358         bool isDispDelayExists() const;
00359         
00360 
00361         
00367         vector<double > getDispDelay() const;
00368         
00369  
00370         
00371         
00378         void setDispDelay (vector<double > dispDelay);
00379                 
00380         
00381         
00382         
00386         void clearDispDelay ();
00387         
00388 
00389 
00390         
00391         // ===> Attribute groupDelay, which is optional
00392         
00393         
00394         
00399         bool isGroupDelayExists() const;
00400         
00401 
00402         
00408         vector<double > getGroupDelay() const;
00409         
00410  
00411         
00412         
00419         void setGroupDelay (vector<double > groupDelay);
00420                 
00421         
00422         
00423         
00427         void clearGroupDelay ();
00428         
00429 
00430 
00431         
00432         // ===> Attribute phaseDelay, which is optional
00433         
00434         
00435         
00440         bool isPhaseDelayExists() const;
00441         
00442 
00443         
00449         vector<double > getPhaseDelay() const;
00450         
00451  
00452         
00453         
00460         void setPhaseDelay (vector<double > phaseDelay);
00461                 
00462         
00463         
00464         
00468         void clearPhaseDelay ();
00469         
00470 
00471 
00473         // Extrinsic Table Attributes //
00475         
00476         
00477         // ===> Attribute antennaId
00478         
00479         
00480         
00481 
00482         
00487         Tag getAntennaId() const;
00488         
00489  
00490         
00491         
00501         void setAntennaId (Tag antennaId);
00502                 
00503         
00504         
00505         
00506 
00507 
00509         // Links //
00511         
00512         
00513 
00514         
00515                 
00522          AntennaRow* getAntennaUsingAntennaId();
00523          
00524 
00525         
00526 
00527         
00528         
00529         
00551         bool compareNoAutoInc(Tag antennaId, ArrayTimeInterval timeInterval, ArrayTime timeOrigin, int numPoly, vector<double > atmDryDelay, vector<double > atmWetDelay, vector<double > clockDelay, vector<double > geomDelay);
00552         
00553         
00554 
00555         
00573         bool compareRequiredValue(ArrayTime timeOrigin, int numPoly, vector<double > atmDryDelay, vector<double > atmWetDelay, vector<double > clockDelay, vector<double > geomDelay); 
00574                  
00575         
00584         bool equalByRequiredValue(DelayModelRow* x) ;
00585         
00586 #ifndef WITHOUT_ACS
00587 
00591         DelayModelRowIDL *toIDL() const;
00592 #endif
00593         
00594 #ifndef WITHOUT_ACS
00595 
00600         void setFromIDL (DelayModelRowIDL x) ;
00601 #endif
00602         
00607         string toXML() const;
00608 
00615         void setFromXML (string rowDoc) ;       
00616 
00617 private:
00621         DelayModelTable &table;
00625         bool hasBeenAdded;
00626 
00627         // This method is used by the Table class when this row is added to the table.
00628         void isAdded(bool added);
00629 
00630 
00639         DelayModelRow (DelayModelTable &table);
00640 
00658          DelayModelRow (DelayModelTable &table, DelayModelRow &row);
00659                 
00661         // Intrinsic Table Attributes //
00663         
00664         
00665         // ===> Attribute timeInterval
00666         
00667         
00668 
00669         ArrayTimeInterval timeInterval;
00670 
00671         
00672         
00673         
00674 
00675         
00676         // ===> Attribute timeOrigin
00677         
00678         
00679 
00680         ArrayTime timeOrigin;
00681 
00682         
00683         
00684         
00685 
00686         
00687         // ===> Attribute numPoly
00688         
00689         
00690 
00691         int numPoly;
00692 
00693         
00694         
00695         
00696 
00697         
00698         // ===> Attribute atmDryDelay
00699         
00700         
00701 
00702         vector<double > atmDryDelay;
00703 
00704         
00705         
00706         
00707 
00708         
00709         // ===> Attribute atmWetDelay
00710         
00711         
00712 
00713         vector<double > atmWetDelay;
00714 
00715         
00716         
00717         
00718 
00719         
00720         // ===> Attribute clockDelay
00721         
00722         
00723 
00724         vector<double > clockDelay;
00725 
00726         
00727         
00728         
00729 
00730         
00731         // ===> Attribute geomDelay
00732         
00733         
00734 
00735         vector<double > geomDelay;
00736 
00737         
00738         
00739         
00740 
00741         
00742         // ===> Attribute dispDelay, which is optional
00743         
00744         
00745         bool dispDelayExists;
00746         
00747 
00748         vector<double > dispDelay;
00749 
00750         
00751         
00752         
00753 
00754         
00755         // ===> Attribute groupDelay, which is optional
00756         
00757         
00758         bool groupDelayExists;
00759         
00760 
00761         vector<double > groupDelay;
00762 
00763         
00764         
00765         
00766 
00767         
00768         // ===> Attribute phaseDelay, which is optional
00769         
00770         
00771         bool phaseDelayExists;
00772         
00773 
00774         vector<double > phaseDelay;
00775 
00776         
00777         
00778         
00779 
00781         // Extrinsic Table Attributes //
00783         
00784         
00785         // ===> Attribute antennaId
00786         
00787         
00788 
00789         Tag antennaId;
00790 
00791         
00792         
00793         
00794 
00796         // Links //
00798         
00799         
00800                 
00801 
00802          
00803 
00804         
00805 
00806         
00808         // binary-deserialization material//
00810         map<string, DelayModelAttributeFromBin> fromBinMethods;
00811 void antennaIdFromBin( EndianISStream& eiss);
00812 void timeIntervalFromBin( EndianISStream& eiss);
00813 void timeOriginFromBin( EndianISStream& eiss);
00814 void numPolyFromBin( EndianISStream& eiss);
00815 void atmDryDelayFromBin( EndianISStream& eiss);
00816 void atmWetDelayFromBin( EndianISStream& eiss);
00817 void clockDelayFromBin( EndianISStream& eiss);
00818 void geomDelayFromBin( EndianISStream& eiss);
00819 
00820 void dispDelayFromBin( EndianISStream& eiss);
00821 void groupDelayFromBin( EndianISStream& eiss);
00822 void phaseDelayFromBin( EndianISStream& eiss);
00823         
00824         
00829          void toBin(EndianOSStream& eoss);
00830                  
00838          static DelayModelRow* fromBin(EndianISStream& eiss, DelayModelTable& table, const vector<string>& attributesSeq);       
00839 
00840 };
00841 
00842 } // End namespace asdm
00843 
00844 #endif /* DelayModel_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines