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 */