WVMCalRow.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 WVMCalRow.h
00032  */
00033  
00034 #ifndef WVMCalRow_CLASS
00035 #define WVMCalRow_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::WVMCalRowIDL;
00047 #endif
00048 
00049 
00050 
00051 
00052 
00053 
00054 #include <Tag.h>
00055 using  asdm::Tag;
00056 
00057 #include <Frequency.h>
00058 using  asdm::Frequency;
00059 
00060 #include <ArrayTimeInterval.h>
00061 using  asdm::ArrayTimeInterval;
00062 
00063 
00064 
00065 
00066         
00067 
00068         
00069 #include "CWVRMethod.h"
00070 using namespace WVRMethodMod;
00071         
00072 
00073         
00074 
00075         
00076 
00077         
00078 
00079         
00080 
00081         
00082 
00083 
00084 
00085 #include <ConversionException.h>
00086 #include <NoSuchRow.h>
00087 #include <IllegalAccessException.h>
00088 
00089 
00090 /*\file WVMCal.h
00091     \brief Generated from model's revision "1.55", branch "HEAD"
00092 */
00093 
00094 namespace asdm {
00095 
00096 //class asdm::WVMCalTable;
00097 
00098 
00099 // class asdm::SpectralWindowRow;
00100 class SpectralWindowRow;
00101 
00102 // class asdm::AntennaRow;
00103 class AntennaRow;
00104         
00105 
00106 class WVMCalRow;
00107 typedef void (WVMCalRow::*WVMCalAttributeFromBin) (EndianISStream& eiss);
00108 
00115 class WVMCalRow {
00116 friend class asdm::WVMCalTable;
00117 
00118 public:
00119 
00120         virtual ~WVMCalRow();
00121 
00125         WVMCalTable &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 wvrMethod
00171         
00172         
00173         
00174 
00175         
00180         WVRMethodMod::WVRMethod getWvrMethod() const;
00181         
00182  
00183         
00184         
00192         void setWvrMethod (WVRMethodMod::WVRMethod wvrMethod);
00193                 
00194         
00195         
00196         
00197 
00198 
00199         
00200         // ===> Attribute polyFreqLimits
00201         
00202         
00203         
00204 
00205         
00210         vector<Frequency > getPolyFreqLimits() const;
00211         
00212  
00213         
00214         
00222         void setPolyFreqLimits (vector<Frequency > polyFreqLimits);
00223                 
00224         
00225         
00226         
00227 
00228 
00229         
00230         // ===> Attribute numChan
00231         
00232         
00233         
00234 
00235         
00240         int getNumChan() const;
00241         
00242  
00243         
00244         
00252         void setNumChan (int numChan);
00253                 
00254         
00255         
00256         
00257 
00258 
00259         
00260         // ===> Attribute numPoly
00261         
00262         
00263         
00264 
00265         
00270         int getNumPoly() const;
00271         
00272  
00273         
00274         
00282         void setNumPoly (int numPoly);
00283                 
00284         
00285         
00286         
00287 
00288 
00289         
00290         // ===> Attribute pathCoeff
00291         
00292         
00293         
00294 
00295         
00300         vector<vector<double > > getPathCoeff() const;
00301         
00302  
00303         
00304         
00312         void setPathCoeff (vector<vector<double > > pathCoeff);
00313                 
00314         
00315         
00316         
00317 
00318 
00319         
00320         // ===> Attribute refTemp
00321         
00322         
00323         
00324 
00325         
00330         vector<double > getRefTemp() const;
00331         
00332  
00333         
00334         
00342         void setRefTemp (vector<double > refTemp);
00343                 
00344         
00345         
00346         
00347 
00348 
00350         // Extrinsic Table Attributes //
00352         
00353         
00354         // ===> Attribute antennaId
00355         
00356         
00357         
00358 
00359         
00364         Tag getAntennaId() const;
00365         
00366  
00367         
00368         
00378         void setAntennaId (Tag antennaId);
00379                 
00380         
00381         
00382         
00383 
00384 
00385         
00386         // ===> Attribute spectralWindowId
00387         
00388         
00389         
00390 
00391         
00396         Tag getSpectralWindowId() const;
00397         
00398  
00399         
00400         
00410         void setSpectralWindowId (Tag spectralWindowId);
00411                 
00412         
00413         
00414         
00415 
00416 
00418         // Links //
00420         
00421         
00422 
00423         
00424                 
00431          SpectralWindowRow* getSpectralWindowUsingSpectralWindowId();
00432          
00433 
00434         
00435 
00436         
00437 
00438         
00439                 
00446          AntennaRow* getAntennaUsingAntennaId();
00447          
00448 
00449         
00450 
00451         
00452         
00453         
00477         bool compareNoAutoInc(Tag antennaId, Tag spectralWindowId, ArrayTimeInterval timeInterval, WVRMethodMod::WVRMethod wvrMethod, vector<Frequency > polyFreqLimits, int numChan, int numPoly, vector<vector<double > > pathCoeff, vector<double > refTemp);
00478         
00479         
00480 
00481         
00499         bool compareRequiredValue(WVRMethodMod::WVRMethod wvrMethod, vector<Frequency > polyFreqLimits, int numChan, int numPoly, vector<vector<double > > pathCoeff, vector<double > refTemp); 
00500                  
00501         
00510         bool equalByRequiredValue(WVMCalRow* x) ;
00511         
00512 #ifndef WITHOUT_ACS
00513 
00517         WVMCalRowIDL *toIDL() const;
00518 #endif
00519         
00520 #ifndef WITHOUT_ACS
00521 
00526         void setFromIDL (WVMCalRowIDL x) ;
00527 #endif
00528         
00533         string toXML() const;
00534 
00541         void setFromXML (string rowDoc) ;       
00542 
00543 private:
00547         WVMCalTable &table;
00551         bool hasBeenAdded;
00552 
00553         // This method is used by the Table class when this row is added to the table.
00554         void isAdded(bool added);
00555 
00556 
00565         WVMCalRow (WVMCalTable &table);
00566 
00584          WVMCalRow (WVMCalTable &table, WVMCalRow &row);
00585                 
00587         // Intrinsic Table Attributes //
00589         
00590         
00591         // ===> Attribute timeInterval
00592         
00593         
00594 
00595         ArrayTimeInterval timeInterval;
00596 
00597         
00598         
00599         
00600 
00601         
00602         // ===> Attribute wvrMethod
00603         
00604         
00605 
00606         WVRMethodMod::WVRMethod wvrMethod;
00607 
00608         
00609         
00610         
00611 
00612         
00613         // ===> Attribute polyFreqLimits
00614         
00615         
00616 
00617         vector<Frequency > polyFreqLimits;
00618 
00619         
00620         
00621         
00622 
00623         
00624         // ===> Attribute numChan
00625         
00626         
00627 
00628         int numChan;
00629 
00630         
00631         
00632         
00633 
00634         
00635         // ===> Attribute numPoly
00636         
00637         
00638 
00639         int numPoly;
00640 
00641         
00642         
00643         
00644 
00645         
00646         // ===> Attribute pathCoeff
00647         
00648         
00649 
00650         vector<vector<double > > pathCoeff;
00651 
00652         
00653         
00654         
00655 
00656         
00657         // ===> Attribute refTemp
00658         
00659         
00660 
00661         vector<double > refTemp;
00662 
00663         
00664         
00665         
00666 
00668         // Extrinsic Table Attributes //
00670         
00671         
00672         // ===> Attribute antennaId
00673         
00674         
00675 
00676         Tag antennaId;
00677 
00678         
00679         
00680         
00681 
00682         
00683         // ===> Attribute spectralWindowId
00684         
00685         
00686 
00687         Tag spectralWindowId;
00688 
00689         
00690         
00691         
00692 
00694         // Links //
00696         
00697         
00698                 
00699 
00700          
00701 
00702         
00703 
00704         
00705                 
00706 
00707          
00708 
00709         
00710 
00711         
00713         // binary-deserialization material//
00715         map<string, WVMCalAttributeFromBin> fromBinMethods;
00716 void antennaIdFromBin( EndianISStream& eiss);
00717 void spectralWindowIdFromBin( EndianISStream& eiss);
00718 void timeIntervalFromBin( EndianISStream& eiss);
00719 void wvrMethodFromBin( EndianISStream& eiss);
00720 void polyFreqLimitsFromBin( EndianISStream& eiss);
00721 void numChanFromBin( EndianISStream& eiss);
00722 void numPolyFromBin( EndianISStream& eiss);
00723 void pathCoeffFromBin( EndianISStream& eiss);
00724 void refTempFromBin( EndianISStream& eiss);
00725 
00726                 
00727         
00732          void toBin(EndianOSStream& eoss);
00733                  
00741          static WVMCalRow* fromBin(EndianISStream& eiss, WVMCalTable& table, const vector<string>& attributesSeq);       
00742 
00743 };
00744 
00745 } // End namespace asdm
00746 
00747 #endif /* WVMCal_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines