EphemerisRow.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 EphemerisRow.h
00032  */
00033  
00034 #ifndef EphemerisRow_CLASS
00035 #define EphemerisRow_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 <ArrayTimeInterval.h>
00056         
00057 
00058 
00059 
00060 
00061         
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 #include <ConversionException.h>
00088 #include <NoSuchRow.h>
00089 #include <IllegalAccessException.h>
00090 
00091 #include <RowTransformer.h>
00092 //#include <TableStreamReader.h>
00093 
00094 /*\file Ephemeris.h
00095     \brief Generated from model's revision "-1", branch ""
00096 */
00097 
00098 namespace asdm {
00099 
00100 //class asdm::EphemerisTable;
00101 
00102         
00103 
00104 class EphemerisRow;
00105 typedef void (EphemerisRow::*EphemerisAttributeFromBin) (EndianIStream& eis);
00106 typedef void (EphemerisRow::*EphemerisAttributeFromText) (const string& s);
00107 
00114 class EphemerisRow {
00115 friend class asdm::EphemerisTable;
00116 friend class asdm::RowTransformer<EphemerisRow>;
00117 //friend class asdm::TableStreamReader<EphemerisTable, EphemerisRow>;
00118 
00119 public:
00120 
00121         virtual ~EphemerisRow();
00122 
00126         EphemerisTable &getTable() const;
00127         
00132         bool isAdded() const;
00133                 
00135         // Intrinsic Table Attributes //
00137         
00138         
00139         // ===> Attribute timeInterval
00140         
00141         
00142         
00143 
00144         
00149         ArrayTimeInterval getTimeInterval() const;
00150         
00151  
00152         
00153         
00163         void setTimeInterval (ArrayTimeInterval timeInterval);
00164                 
00165         
00166         
00167         
00168 
00169 
00170         
00171         // ===> Attribute ephemerisId
00172         
00173         
00174         
00175 
00176         
00181         int getEphemerisId() const;
00182         
00183  
00184         
00185         
00195         void setEphemerisId (int ephemerisId);
00196                 
00197         
00198         
00199         
00200 
00201 
00202         
00203         // ===> Attribute observerLocation
00204         
00205         
00206         
00207 
00208         
00213         vector<double > getObserverLocation() const;
00214         
00215  
00216         
00217         
00225         void setObserverLocation (vector<double > observerLocation);
00226                 
00227         
00228         
00229         
00230 
00231 
00232         
00233         // ===> Attribute equinoxEquator
00234         
00235         
00236         
00237 
00238         
00243         double getEquinoxEquator() const;
00244         
00245  
00246         
00247         
00255         void setEquinoxEquator (double equinoxEquator);
00256                 
00257         
00258         
00259         
00260 
00261 
00262         
00263         // ===> Attribute numPolyDir
00264         
00265         
00266         
00267 
00268         
00273         int getNumPolyDir() const;
00274         
00275  
00276         
00277         
00285         void setNumPolyDir (int numPolyDir);
00286                 
00287         
00288         
00289         
00290 
00291 
00292         
00293         // ===> Attribute dir
00294         
00295         
00296         
00297 
00298         
00303         vector<vector<double > > getDir() const;
00304         
00305  
00306         
00307         
00315         void setDir (vector<vector<double > > dir);
00316                 
00317         
00318         
00319         
00320 
00321 
00322         
00323         // ===> Attribute numPolyDist
00324         
00325         
00326         
00327 
00328         
00333         int getNumPolyDist() const;
00334         
00335  
00336         
00337         
00345         void setNumPolyDist (int numPolyDist);
00346                 
00347         
00348         
00349         
00350 
00351 
00352         
00353         // ===> Attribute distance
00354         
00355         
00356         
00357 
00358         
00363         vector<double > getDistance() const;
00364         
00365  
00366         
00367         
00375         void setDistance (vector<double > distance);
00376                 
00377         
00378         
00379         
00380 
00381 
00382         
00383         // ===> Attribute timeOrigin
00384         
00385         
00386         
00387 
00388         
00393         ArrayTime getTimeOrigin() const;
00394         
00395  
00396         
00397         
00405         void setTimeOrigin (ArrayTime timeOrigin);
00406                 
00407         
00408         
00409         
00410 
00411 
00412         
00413         // ===> Attribute origin
00414         
00415         
00416         
00417 
00418         
00423         string getOrigin() const;
00424         
00425  
00426         
00427         
00435         void setOrigin (string origin);
00436                 
00437         
00438         
00439         
00440 
00441 
00442         
00443         // ===> Attribute numPolyRadVel, which is optional
00444         
00445         
00446         
00451         bool isNumPolyRadVelExists() const;
00452         
00453 
00454         
00460         int getNumPolyRadVel() const;
00461         
00462  
00463         
00464         
00471         void setNumPolyRadVel (int numPolyRadVel);
00472                 
00473         
00474         
00475         
00479         void clearNumPolyRadVel ();
00480         
00481 
00482 
00483         
00484         // ===> Attribute radVel, which is optional
00485         
00486         
00487         
00492         bool isRadVelExists() const;
00493         
00494 
00495         
00501         vector<double > getRadVel() const;
00502         
00503  
00504         
00505         
00512         void setRadVel (vector<double > radVel);
00513                 
00514         
00515         
00516         
00520         void clearRadVel ();
00521         
00522 
00523 
00525         // Extrinsic Table Attributes //
00527         
00529         // Links //
00531         
00532         
00533         
00534         
00560         bool compareNoAutoInc(ArrayTimeInterval timeInterval, int ephemerisId, vector<double > observerLocation, double equinoxEquator, int numPolyDir, vector<vector<double > > dir, int numPolyDist, vector<double > distance, ArrayTime timeOrigin, string origin);
00561         
00562         
00563 
00564         
00586         bool compareRequiredValue(vector<double > observerLocation, double equinoxEquator, int numPolyDir, vector<vector<double > > dir, int numPolyDist, vector<double > distance, ArrayTime timeOrigin, string origin); 
00587                  
00588         
00597         bool equalByRequiredValue(EphemerisRow* x) ;
00598         
00599 #ifndef WITHOUT_ACS
00600 
00604         asdmIDL::EphemerisRowIDL *toIDL() const;
00605         
00613          void toIDL(asdmIDL::EphemerisRowIDL& x) const;
00614 #endif
00615         
00616 #ifndef WITHOUT_ACS
00617 
00622         void setFromIDL (asdmIDL::EphemerisRowIDL x) ;
00623 #endif
00624         
00629         std::string toXML() const;
00630 
00637         void setFromXML (std::string rowDoc) ;
00638 
00641         // binary-deserialization material from an EndianIStream  //
00643 
00644         std::map<std::string, EphemerisAttributeFromBin> fromBinMethods;
00645 void timeIntervalFromBin( EndianIStream& eis);
00646 void ephemerisIdFromBin( EndianIStream& eis);
00647 void observerLocationFromBin( EndianIStream& eis);
00648 void equinoxEquatorFromBin( EndianIStream& eis);
00649 void numPolyDirFromBin( EndianIStream& eis);
00650 void dirFromBin( EndianIStream& eis);
00651 void numPolyDistFromBin( EndianIStream& eis);
00652 void distanceFromBin( EndianIStream& eis);
00653 void timeOriginFromBin( EndianIStream& eis);
00654 void originFromBin( EndianIStream& eis);
00655 
00656 void numPolyRadVelFromBin( EndianIStream& eis);
00657 void radVelFromBin( EndianIStream& eis);
00658 
00659 
00667          static EphemerisRow* fromBin(EndianIStream& eis, EphemerisTable& table, const std::vector<std::string>& attributesSeq);         
00668  
00675          void fromText(const std::string& attributeName, const std::string&  t);
00677 
00678 private:
00682         EphemerisTable &table;
00686         bool hasBeenAdded;
00687 
00688         // This method is used by the Table class when this row is added to the table.
00689         void isAdded(bool added);
00690 
00691 
00700         EphemerisRow (EphemerisTable &table);
00701 
00719          EphemerisRow (EphemerisTable &table, EphemerisRow &row);
00720                 
00722         // Intrinsic Table Attributes //
00724         
00725         
00726         // ===> Attribute timeInterval
00727         
00728         
00729 
00730         ArrayTimeInterval timeInterval;
00731 
00732         
00733         
00734         
00735 
00736         
00737         // ===> Attribute ephemerisId
00738         
00739         
00740 
00741         int ephemerisId;
00742 
00743         
00744         
00745         
00746 
00747         
00748         // ===> Attribute observerLocation
00749         
00750         
00751 
00752         vector<double > observerLocation;
00753 
00754         
00755         
00756         
00757 
00758         
00759         // ===> Attribute equinoxEquator
00760         
00761         
00762 
00763         double equinoxEquator;
00764 
00765         
00766         
00767         
00768 
00769         
00770         // ===> Attribute numPolyDir
00771         
00772         
00773 
00774         int numPolyDir;
00775 
00776         
00777         
00778         
00779 
00780         
00781         // ===> Attribute dir
00782         
00783         
00784 
00785         vector<vector<double > > dir;
00786 
00787         
00788         
00789         
00790 
00791         
00792         // ===> Attribute numPolyDist
00793         
00794         
00795 
00796         int numPolyDist;
00797 
00798         
00799         
00800         
00801 
00802         
00803         // ===> Attribute distance
00804         
00805         
00806 
00807         vector<double > distance;
00808 
00809         
00810         
00811         
00812 
00813         
00814         // ===> Attribute timeOrigin
00815         
00816         
00817 
00818         ArrayTime timeOrigin;
00819 
00820         
00821         
00822         
00823 
00824         
00825         // ===> Attribute origin
00826         
00827         
00828 
00829         string origin;
00830 
00831         
00832         
00833         
00834 
00835         
00836         // ===> Attribute numPolyRadVel, which is optional
00837         
00838         
00839         bool numPolyRadVelExists;
00840         
00841 
00842         int numPolyRadVel;
00843 
00844         
00845         
00846         
00847 
00848         
00849         // ===> Attribute radVel, which is optional
00850         
00851         
00852         bool radVelExists;
00853         
00854 
00855         vector<double > radVel;
00856 
00857         
00858         
00859         
00860 
00862         // Extrinsic Table Attributes //
00864         
00866         // Links //
00868         
00869         
00870 /*
00872         // binary-deserialization material from an EndianIStream  //
00874         std::map<std::string, EphemerisAttributeFromBin> fromBinMethods;
00875 void timeIntervalFromBin( EndianIStream& eis);
00876 void ephemerisIdFromBin( EndianIStream& eis);
00877 void observerLocationFromBin( EndianIStream& eis);
00878 void equinoxEquatorFromBin( EndianIStream& eis);
00879 void numPolyDirFromBin( EndianIStream& eis);
00880 void dirFromBin( EndianIStream& eis);
00881 void numPolyDistFromBin( EndianIStream& eis);
00882 void distanceFromBin( EndianIStream& eis);
00883 void timeOriginFromBin( EndianIStream& eis);
00884 void originFromBin( EndianIStream& eis);
00885 
00886 void numPolyRadVelFromBin( EndianIStream& eis);
00887 void radVelFromBin( EndianIStream& eis);
00888 
00889 */
00890         
00892         // text-deserialization material //
00894         std::map<std::string, EphemerisAttributeFromText> fromTextMethods;
00895         
00896 void timeIntervalFromText (const string & s);
00897         
00898         
00899 void ephemerisIdFromText (const string & s);
00900         
00901         
00902 void observerLocationFromText (const string & s);
00903         
00904         
00905 void equinoxEquatorFromText (const string & s);
00906         
00907         
00908 void numPolyDirFromText (const string & s);
00909         
00910         
00911 void dirFromText (const string & s);
00912         
00913         
00914 void numPolyDistFromText (const string & s);
00915         
00916         
00917 void distanceFromText (const string & s);
00918         
00919         
00920 void timeOriginFromText (const string & s);
00921         
00922         
00923 void originFromText (const string & s);
00924         
00925 
00926         
00927 void numPolyRadVelFromText (const string & s);
00928         
00929         
00930 void radVelFromText (const string & s);
00931         
00932         
00933         
00938          void toBin(EndianOSStream& eoss);
00939                  
00949 };
00950 
00951 } // End namespace asdm
00952 
00953 #endif /* Ephemeris_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1