CalWVRRow.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 CalWVRRow.h
00032  */
00033  
00034 #ifndef CalWVRRow_CLASS
00035 #define CalWVRRow_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::CalWVRRowIDL;
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 <Length.h>
00061 using  asdm::Length;
00062 
00063 #include <Temperature.h>
00064 using  asdm::Temperature;
00065 
00066 #include <Frequency.h>
00067 using  asdm::Frequency;
00068 
00069 
00070 
00071 
00072         
00073 
00074         
00075 
00076         
00077 #include "CWVRMethod.h"
00078 using namespace WVRMethodMod;
00079         
00080 
00081         
00082 
00083         
00084 
00085         
00086 
00087         
00088 
00089         
00090 
00091         
00092 
00093         
00094 
00095         
00096 
00097         
00098 
00099         
00100 
00101         
00102 
00103         
00104 
00105         
00106 
00107 
00108 
00109 #include <ConversionException.h>
00110 #include <NoSuchRow.h>
00111 #include <IllegalAccessException.h>
00112 
00113 
00114 /*\file CalWVR.h
00115     \brief Generated from model's revision "1.55", branch "HEAD"
00116 */
00117 
00118 namespace asdm {
00119 
00120 //class asdm::CalWVRTable;
00121 
00122 
00123 // class asdm::CalDataRow;
00124 class CalDataRow;
00125 
00126 // class asdm::CalReductionRow;
00127 class CalReductionRow;
00128         
00129 
00130 class CalWVRRow;
00131 typedef void (CalWVRRow::*CalWVRAttributeFromBin) (EndianISStream& eiss);
00132 
00139 class CalWVRRow {
00140 friend class asdm::CalWVRTable;
00141 
00142 public:
00143 
00144         virtual ~CalWVRRow();
00145 
00149         CalWVRTable &getTable() const;
00150         
00155         bool isAdded() const;
00156                 
00158         // Intrinsic Table Attributes //
00160         
00161         
00162         // ===> Attribute startValidTime
00163         
00164         
00165         
00166 
00167         
00172         ArrayTime getStartValidTime() const;
00173         
00174  
00175         
00176         
00184         void setStartValidTime (ArrayTime startValidTime);
00185                 
00186         
00187         
00188         
00189 
00190 
00191         
00192         // ===> Attribute endValidTime
00193         
00194         
00195         
00196 
00197         
00202         ArrayTime getEndValidTime() const;
00203         
00204  
00205         
00206         
00214         void setEndValidTime (ArrayTime endValidTime);
00215                 
00216         
00217         
00218         
00219 
00220 
00221         
00222         // ===> Attribute wvrMethod
00223         
00224         
00225         
00226 
00227         
00232         WVRMethodMod::WVRMethod getWvrMethod() const;
00233         
00234  
00235         
00236         
00244         void setWvrMethod (WVRMethodMod::WVRMethod wvrMethod);
00245                 
00246         
00247         
00248         
00249 
00250 
00251         
00252         // ===> Attribute antennaName
00253         
00254         
00255         
00256 
00257         
00262         string getAntennaName() const;
00263         
00264  
00265         
00266         
00276         void setAntennaName (string antennaName);
00277                 
00278         
00279         
00280         
00281 
00282 
00283         
00284         // ===> Attribute numInputAntennas
00285         
00286         
00287         
00288 
00289         
00294         int getNumInputAntennas() const;
00295         
00296  
00297         
00298         
00306         void setNumInputAntennas (int numInputAntennas);
00307                 
00308         
00309         
00310         
00311 
00312 
00313         
00314         // ===> Attribute inputAntennaNames
00315         
00316         
00317         
00318 
00319         
00324         vector<string > getInputAntennaNames() const;
00325         
00326  
00327         
00328         
00336         void setInputAntennaNames (vector<string > inputAntennaNames);
00337                 
00338         
00339         
00340         
00341 
00342 
00343         
00344         // ===> Attribute numChan
00345         
00346         
00347         
00348 
00349         
00354         int getNumChan() const;
00355         
00356  
00357         
00358         
00366         void setNumChan (int numChan);
00367                 
00368         
00369         
00370         
00371 
00372 
00373         
00374         // ===> Attribute chanFreq
00375         
00376         
00377         
00378 
00379         
00384         vector<Frequency > getChanFreq() const;
00385         
00386  
00387         
00388         
00396         void setChanFreq (vector<Frequency > chanFreq);
00397                 
00398         
00399         
00400         
00401 
00402 
00403         
00404         // ===> Attribute chanWidth
00405         
00406         
00407         
00408 
00409         
00414         vector<Frequency > getChanWidth() const;
00415         
00416  
00417         
00418         
00426         void setChanWidth (vector<Frequency > chanWidth);
00427                 
00428         
00429         
00430         
00431 
00432 
00433         
00434         // ===> Attribute refTemp
00435         
00436         
00437         
00438 
00439         
00444         vector<vector<Temperature > > getRefTemp() const;
00445         
00446  
00447         
00448         
00456         void setRefTemp (vector<vector<Temperature > > refTemp);
00457                 
00458         
00459         
00460         
00461 
00462 
00463         
00464         // ===> Attribute numPoly
00465         
00466         
00467         
00468 
00469         
00474         int getNumPoly() const;
00475         
00476  
00477         
00478         
00486         void setNumPoly (int numPoly);
00487                 
00488         
00489         
00490         
00491 
00492 
00493         
00494         // ===> Attribute pathCoeff
00495         
00496         
00497         
00498 
00499         
00504         vector<vector<vector<float > > > getPathCoeff() const;
00505         
00506  
00507         
00508         
00516         void setPathCoeff (vector<vector<vector<float > > > pathCoeff);
00517                 
00518         
00519         
00520         
00521 
00522 
00523         
00524         // ===> Attribute polyFreqLimits
00525         
00526         
00527         
00528 
00529         
00534         vector<Frequency > getPolyFreqLimits() const;
00535         
00536  
00537         
00538         
00546         void setPolyFreqLimits (vector<Frequency > polyFreqLimits);
00547                 
00548         
00549         
00550         
00551 
00552 
00553         
00554         // ===> Attribute wetPath
00555         
00556         
00557         
00558 
00559         
00564         vector<float > getWetPath() const;
00565         
00566  
00567         
00568         
00576         void setWetPath (vector<float > wetPath);
00577                 
00578         
00579         
00580         
00581 
00582 
00583         
00584         // ===> Attribute dryPath
00585         
00586         
00587         
00588 
00589         
00594         vector<float > getDryPath() const;
00595         
00596  
00597         
00598         
00606         void setDryPath (vector<float > dryPath);
00607                 
00608         
00609         
00610         
00611 
00612 
00613         
00614         // ===> Attribute water
00615         
00616         
00617         
00618 
00619         
00624         Length getWater() const;
00625         
00626  
00627         
00628         
00636         void setWater (Length water);
00637                 
00638         
00639         
00640         
00641 
00642 
00644         // Extrinsic Table Attributes //
00646         
00647         
00648         // ===> Attribute calDataId
00649         
00650         
00651         
00652 
00653         
00658         Tag getCalDataId() const;
00659         
00660  
00661         
00662         
00672         void setCalDataId (Tag calDataId);
00673                 
00674         
00675         
00676         
00677 
00678 
00679         
00680         // ===> Attribute calReductionId
00681         
00682         
00683         
00684 
00685         
00690         Tag getCalReductionId() const;
00691         
00692  
00693         
00694         
00704         void setCalReductionId (Tag calReductionId);
00705                 
00706         
00707         
00708         
00709 
00710 
00712         // Links //
00714         
00715         
00716 
00717         
00718                 
00725          CalDataRow* getCalDataUsingCalDataId();
00726          
00727 
00728         
00729 
00730         
00731 
00732         
00733                 
00740          CalReductionRow* getCalReductionUsingCalReductionId();
00741          
00742 
00743         
00744 
00745         
00746         
00747         
00789         bool compareNoAutoInc(string antennaName, Tag calDataId, Tag calReductionId, ArrayTime startValidTime, ArrayTime endValidTime, WVRMethodMod::WVRMethod wvrMethod, int numInputAntennas, vector<string > inputAntennaNames, int numChan, vector<Frequency > chanFreq, vector<Frequency > chanWidth, vector<vector<Temperature > > refTemp, int numPoly, vector<vector<vector<float > > > pathCoeff, vector<Frequency > polyFreqLimits, vector<float > wetPath, vector<float > dryPath, Length water);
00790         
00791         
00792 
00793         
00829         bool compareRequiredValue(ArrayTime startValidTime, ArrayTime endValidTime, WVRMethodMod::WVRMethod wvrMethod, int numInputAntennas, vector<string > inputAntennaNames, int numChan, vector<Frequency > chanFreq, vector<Frequency > chanWidth, vector<vector<Temperature > > refTemp, int numPoly, vector<vector<vector<float > > > pathCoeff, vector<Frequency > polyFreqLimits, vector<float > wetPath, vector<float > dryPath, Length water); 
00830                  
00831         
00840         bool equalByRequiredValue(CalWVRRow* x) ;
00841         
00842 #ifndef WITHOUT_ACS
00843 
00847         CalWVRRowIDL *toIDL() const;
00848 #endif
00849         
00850 #ifndef WITHOUT_ACS
00851 
00856         void setFromIDL (CalWVRRowIDL x) ;
00857 #endif
00858         
00863         string toXML() const;
00864 
00871         void setFromXML (string rowDoc) ;       
00872 
00873 private:
00877         CalWVRTable &table;
00881         bool hasBeenAdded;
00882 
00883         // This method is used by the Table class when this row is added to the table.
00884         void isAdded(bool added);
00885 
00886 
00895         CalWVRRow (CalWVRTable &table);
00896 
00914          CalWVRRow (CalWVRTable &table, CalWVRRow &row);
00915                 
00917         // Intrinsic Table Attributes //
00919         
00920         
00921         // ===> Attribute startValidTime
00922         
00923         
00924 
00925         ArrayTime startValidTime;
00926 
00927         
00928         
00929         
00930 
00931         
00932         // ===> Attribute endValidTime
00933         
00934         
00935 
00936         ArrayTime endValidTime;
00937 
00938         
00939         
00940         
00941 
00942         
00943         // ===> Attribute wvrMethod
00944         
00945         
00946 
00947         WVRMethodMod::WVRMethod wvrMethod;
00948 
00949         
00950         
00951         
00952 
00953         
00954         // ===> Attribute antennaName
00955         
00956         
00957 
00958         string antennaName;
00959 
00960         
00961         
00962         
00963 
00964         
00965         // ===> Attribute numInputAntennas
00966         
00967         
00968 
00969         int numInputAntennas;
00970 
00971         
00972         
00973         
00974 
00975         
00976         // ===> Attribute inputAntennaNames
00977         
00978         
00979 
00980         vector<string > inputAntennaNames;
00981 
00982         
00983         
00984         
00985 
00986         
00987         // ===> Attribute numChan
00988         
00989         
00990 
00991         int numChan;
00992 
00993         
00994         
00995         
00996 
00997         
00998         // ===> Attribute chanFreq
00999         
01000         
01001 
01002         vector<Frequency > chanFreq;
01003 
01004         
01005         
01006         
01007 
01008         
01009         // ===> Attribute chanWidth
01010         
01011         
01012 
01013         vector<Frequency > chanWidth;
01014 
01015         
01016         
01017         
01018 
01019         
01020         // ===> Attribute refTemp
01021         
01022         
01023 
01024         vector<vector<Temperature > > refTemp;
01025 
01026         
01027         
01028         
01029 
01030         
01031         // ===> Attribute numPoly
01032         
01033         
01034 
01035         int numPoly;
01036 
01037         
01038         
01039         
01040 
01041         
01042         // ===> Attribute pathCoeff
01043         
01044         
01045 
01046         vector<vector<vector<float > > > pathCoeff;
01047 
01048         
01049         
01050         
01051 
01052         
01053         // ===> Attribute polyFreqLimits
01054         
01055         
01056 
01057         vector<Frequency > polyFreqLimits;
01058 
01059         
01060         
01061         
01062 
01063         
01064         // ===> Attribute wetPath
01065         
01066         
01067 
01068         vector<float > wetPath;
01069 
01070         
01071         
01072         
01073 
01074         
01075         // ===> Attribute dryPath
01076         
01077         
01078 
01079         vector<float > dryPath;
01080 
01081         
01082         
01083         
01084 
01085         
01086         // ===> Attribute water
01087         
01088         
01089 
01090         Length water;
01091 
01092         
01093         
01094         
01095 
01097         // Extrinsic Table Attributes //
01099         
01100         
01101         // ===> Attribute calDataId
01102         
01103         
01104 
01105         Tag calDataId;
01106 
01107         
01108         
01109         
01110 
01111         
01112         // ===> Attribute calReductionId
01113         
01114         
01115 
01116         Tag calReductionId;
01117 
01118         
01119         
01120         
01121 
01123         // Links //
01125         
01126         
01127                 
01128 
01129          
01130 
01131         
01132 
01133         
01134                 
01135 
01136          
01137 
01138         
01139 
01140         
01142         // binary-deserialization material//
01144         map<string, CalWVRAttributeFromBin> fromBinMethods;
01145 void antennaNameFromBin( EndianISStream& eiss);
01146 void calDataIdFromBin( EndianISStream& eiss);
01147 void calReductionIdFromBin( EndianISStream& eiss);
01148 void startValidTimeFromBin( EndianISStream& eiss);
01149 void endValidTimeFromBin( EndianISStream& eiss);
01150 void wvrMethodFromBin( EndianISStream& eiss);
01151 void numInputAntennasFromBin( EndianISStream& eiss);
01152 void inputAntennaNamesFromBin( EndianISStream& eiss);
01153 void numChanFromBin( EndianISStream& eiss);
01154 void chanFreqFromBin( EndianISStream& eiss);
01155 void chanWidthFromBin( EndianISStream& eiss);
01156 void refTempFromBin( EndianISStream& eiss);
01157 void numPolyFromBin( EndianISStream& eiss);
01158 void pathCoeffFromBin( EndianISStream& eiss);
01159 void polyFreqLimitsFromBin( EndianISStream& eiss);
01160 void wetPathFromBin( EndianISStream& eiss);
01161 void dryPathFromBin( EndianISStream& eiss);
01162 void waterFromBin( EndianISStream& eiss);
01163 
01164                 
01165         
01170          void toBin(EndianOSStream& eoss);
01171                  
01179          static CalWVRRow* fromBin(EndianISStream& eiss, CalWVRTable& table, const vector<string>& attributesSeq);       
01180 
01181 };
01182 
01183 } // End namespace asdm
01184 
01185 #endif /* CalWVR_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines