AlmaRadiometerRow.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 AlmaRadiometerRow.h
00032  */
00033  
00034 #ifndef AlmaRadiometerRow_CLASS
00035 #define AlmaRadiometerRow_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::AlmaRadiometerRowIDL;
00047 #endif
00048 
00049 
00050 
00051 
00052 
00053 
00054 #include <Tag.h>
00055 using  asdm::Tag;
00056 
00057 
00058 
00059 
00060         
00061 
00062         
00063 
00064 
00065 
00066 #include <ConversionException.h>
00067 #include <NoSuchRow.h>
00068 #include <IllegalAccessException.h>
00069 
00070 
00071 /*\file AlmaRadiometer.h
00072     \brief Generated from model's revision "1.55", branch "HEAD"
00073 */
00074 
00075 namespace asdm {
00076 
00077 //class asdm::AlmaRadiometerTable;
00078 
00079 
00080 // class asdm::SpectralWindowRow;
00081 class SpectralWindowRow;
00082         
00083 
00084 class AlmaRadiometerRow;
00085 typedef void (AlmaRadiometerRow::*AlmaRadiometerAttributeFromBin) (EndianISStream& eiss);
00086 
00093 class AlmaRadiometerRow {
00094 friend class asdm::AlmaRadiometerTable;
00095 
00096 public:
00097 
00098         virtual ~AlmaRadiometerRow();
00099 
00103         AlmaRadiometerTable &getTable() const;
00104         
00109         bool isAdded() const;
00110                 
00112         // Intrinsic Table Attributes //
00114         
00115         
00116         // ===> Attribute almaRadiometerId
00117         
00118         
00119         
00120 
00121         
00126         Tag getAlmaRadiometerId() const;
00127         
00128  
00129         
00130         
00131         
00132         
00133 
00134 
00135         
00136         // ===> Attribute numAntenna, which is optional
00137         
00138         
00139         
00144         bool isNumAntennaExists() const;
00145         
00146 
00147         
00153         int getNumAntenna() const;
00154         
00155  
00156         
00157         
00164         void setNumAntenna (int numAntenna);
00165                 
00166         
00167         
00168         
00172         void clearNumAntenna ();
00173         
00174 
00175 
00177         // Extrinsic Table Attributes //
00179         
00180         
00181         // ===> Attribute spectralWindowId, which is optional
00182         
00183         
00184         
00189         bool isSpectralWindowIdExists() const;
00190         
00191 
00192         
00198         vector<Tag>  getSpectralWindowId() const;
00199         
00200  
00201         
00202         
00209         void setSpectralWindowId (vector<Tag>  spectralWindowId);
00210                 
00211         
00212         
00213         
00217         void clearSpectralWindowId ();
00218         
00219 
00220 
00222         // Links //
00224         
00225         
00226                 
00233         void setSpectralWindowId (int i, Tag spectralWindowId)  ;
00234                         
00235         
00236 
00237         
00238                  
00243  void addSpectralWindowId(Tag id); 
00244 
00249  void addSpectralWindowId(const vector<Tag> & id); 
00250  
00251 
00257  const Tag getSpectralWindowId(int i);
00258  
00266  SpectralWindowRow* getSpectralWindowUsingSpectralWindowId(int i); 
00267  
00272  vector<SpectralWindowRow *> getSpectralWindowsUsingSpectralWindowId(); 
00273   
00274 
00275         
00276 
00277         
00278         
00279         
00280 
00281                  
00282         
00291         bool equalByRequiredValue(AlmaRadiometerRow* x) ;
00292         
00293 #ifndef WITHOUT_ACS
00294 
00298         AlmaRadiometerRowIDL *toIDL() const;
00299 #endif
00300         
00301 #ifndef WITHOUT_ACS
00302 
00307         void setFromIDL (AlmaRadiometerRowIDL x) ;
00308 #endif
00309         
00314         string toXML() const;
00315 
00322         void setFromXML (string rowDoc) ;       
00323 
00324 private:
00328         AlmaRadiometerTable &table;
00332         bool hasBeenAdded;
00333 
00334         // This method is used by the Table class when this row is added to the table.
00335         void isAdded(bool added);
00336 
00337 
00346         AlmaRadiometerRow (AlmaRadiometerTable &table);
00347 
00365          AlmaRadiometerRow (AlmaRadiometerTable &table, AlmaRadiometerRow &row);
00366                 
00368         // Intrinsic Table Attributes //
00370         
00371         
00372         // ===> Attribute almaRadiometerId
00373         
00374         
00375 
00376         Tag almaRadiometerId;
00377 
00378         
00379         
00380         
00390         void setAlmaRadiometerId (Tag almaRadiometerId);
00391                 
00392         
00393 
00394         
00395         // ===> Attribute numAntenna, which is optional
00396         
00397         
00398         bool numAntennaExists;
00399         
00400 
00401         int numAntenna;
00402 
00403         
00404         
00405         
00406 
00408         // Extrinsic Table Attributes //
00410         
00411         
00412         // ===> Attribute spectralWindowId, which is optional
00413         
00414         
00415         bool spectralWindowIdExists;
00416         
00417 
00418         vector<Tag>  spectralWindowId;
00419 
00420         
00421         
00422         
00423 
00425         // Links //
00427         
00428         
00429                 
00430 
00431 
00432         
00433 
00434         
00436         // binary-deserialization material//
00438         map<string, AlmaRadiometerAttributeFromBin> fromBinMethods;
00439 void almaRadiometerIdFromBin( EndianISStream& eiss);
00440 
00441 void numAntennaFromBin( EndianISStream& eiss);
00442 void spectralWindowIdFromBin( EndianISStream& eiss);
00443         
00444         
00449          void toBin(EndianOSStream& eoss);
00450                  
00458          static AlmaRadiometerRow* fromBin(EndianISStream& eiss, AlmaRadiometerTable& table, const vector<string>& attributesSeq);       
00459 
00460 };
00461 
00462 } // End namespace asdm
00463 
00464 #endif /* AlmaRadiometer_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines