CalSeeingRow.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 CalSeeingRow.h
00032  */
00033  
00034 #ifndef CalSeeingRow_CLASS
00035 #define CalSeeingRow_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::CalSeeingRowIDL;
00047 #endif
00048 
00049 
00050 
00051 
00052 
00053 
00054 #include <ArrayTime.h>
00055 using  asdm::ArrayTime;
00056 
00057 #include <Angle.h>
00058 using  asdm::Angle;
00059 
00060 #include <Interval.h>
00061 using  asdm::Interval;
00062 
00063 #include <Tag.h>
00064 using  asdm::Tag;
00065 
00066 #include <Length.h>
00067 using  asdm::Length;
00068 
00069 #include <Frequency.h>
00070 using  asdm::Frequency;
00071 
00072 
00073 
00074 
00075         
00076 #include "CAtmPhaseCorrection.h"
00077 using namespace AtmPhaseCorrectionMod;
00078         
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 #include <ConversionException.h>
00107 #include <NoSuchRow.h>
00108 #include <IllegalAccessException.h>
00109 
00110 
00111 /*\file CalSeeing.h
00112     \brief Generated from model's revision "1.55", branch "HEAD"
00113 */
00114 
00115 namespace asdm {
00116 
00117 //class asdm::CalSeeingTable;
00118 
00119 
00120 // class asdm::CalDataRow;
00121 class CalDataRow;
00122 
00123 // class asdm::CalReductionRow;
00124 class CalReductionRow;
00125         
00126 
00127 class CalSeeingRow;
00128 typedef void (CalSeeingRow::*CalSeeingAttributeFromBin) (EndianISStream& eiss);
00129 
00136 class CalSeeingRow {
00137 friend class asdm::CalSeeingTable;
00138 
00139 public:
00140 
00141         virtual ~CalSeeingRow();
00142 
00146         CalSeeingTable &getTable() const;
00147         
00152         bool isAdded() const;
00153                 
00155         // Intrinsic Table Attributes //
00157         
00158         
00159         // ===> Attribute atmPhaseCorrection
00160         
00161         
00162         
00163 
00164         
00169         AtmPhaseCorrectionMod::AtmPhaseCorrection getAtmPhaseCorrection() const;
00170         
00171  
00172         
00173         
00183         void setAtmPhaseCorrection (AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection);
00184                 
00185         
00186         
00187         
00188 
00189 
00190         
00191         // ===> Attribute startValidTime
00192         
00193         
00194         
00195 
00196         
00201         ArrayTime getStartValidTime() const;
00202         
00203  
00204         
00205         
00213         void setStartValidTime (ArrayTime startValidTime);
00214                 
00215         
00216         
00217         
00218 
00219 
00220         
00221         // ===> Attribute endValidTime
00222         
00223         
00224         
00225 
00226         
00231         ArrayTime getEndValidTime() const;
00232         
00233  
00234         
00235         
00243         void setEndValidTime (ArrayTime endValidTime);
00244                 
00245         
00246         
00247         
00248 
00249 
00250         
00251         // ===> Attribute frequencyRange
00252         
00253         
00254         
00255 
00256         
00261         vector<Frequency > getFrequencyRange() const;
00262         
00263  
00264         
00265         
00273         void setFrequencyRange (vector<Frequency > frequencyRange);
00274                 
00275         
00276         
00277         
00278 
00279 
00280         
00281         // ===> Attribute integrationTime
00282         
00283         
00284         
00285 
00286         
00291         Interval getIntegrationTime() const;
00292         
00293  
00294         
00295         
00303         void setIntegrationTime (Interval integrationTime);
00304                 
00305         
00306         
00307         
00308 
00309 
00310         
00311         // ===> Attribute numBaseLengths
00312         
00313         
00314         
00315 
00316         
00321         int getNumBaseLengths() const;
00322         
00323  
00324         
00325         
00333         void setNumBaseLengths (int numBaseLengths);
00334                 
00335         
00336         
00337         
00338 
00339 
00340         
00341         // ===> Attribute baselineLengths
00342         
00343         
00344         
00345 
00346         
00351         vector<Length > getBaselineLengths() const;
00352         
00353  
00354         
00355         
00363         void setBaselineLengths (vector<Length > baselineLengths);
00364                 
00365         
00366         
00367         
00368 
00369 
00370         
00371         // ===> Attribute phaseRMS
00372         
00373         
00374         
00375 
00376         
00381         vector<Angle > getPhaseRMS() const;
00382         
00383  
00384         
00385         
00393         void setPhaseRMS (vector<Angle > phaseRMS);
00394                 
00395         
00396         
00397         
00398 
00399 
00400         
00401         // ===> Attribute seeing
00402         
00403         
00404         
00405 
00406         
00411         Angle getSeeing() const;
00412         
00413  
00414         
00415         
00423         void setSeeing (Angle seeing);
00424                 
00425         
00426         
00427         
00428 
00429 
00430         
00431         // ===> Attribute seeingError
00432         
00433         
00434         
00435 
00436         
00441         Angle getSeeingError() const;
00442         
00443  
00444         
00445         
00453         void setSeeingError (Angle seeingError);
00454                 
00455         
00456         
00457         
00458 
00459 
00460         
00461         // ===> Attribute exponent, which is optional
00462         
00463         
00464         
00469         bool isExponentExists() const;
00470         
00471 
00472         
00478         float getExponent() const;
00479         
00480  
00481         
00482         
00489         void setExponent (float exponent);
00490                 
00491         
00492         
00493         
00497         void clearExponent ();
00498         
00499 
00500 
00501         
00502         // ===> Attribute outerScale, which is optional
00503         
00504         
00505         
00510         bool isOuterScaleExists() const;
00511         
00512 
00513         
00519         Length getOuterScale() const;
00520         
00521  
00522         
00523         
00530         void setOuterScale (Length outerScale);
00531                 
00532         
00533         
00534         
00538         void clearOuterScale ();
00539         
00540 
00541 
00542         
00543         // ===> Attribute outerScaleRMS, which is optional
00544         
00545         
00546         
00551         bool isOuterScaleRMSExists() const;
00552         
00553 
00554         
00560         Angle getOuterScaleRMS() const;
00561         
00562  
00563         
00564         
00571         void setOuterScaleRMS (Angle outerScaleRMS);
00572                 
00573         
00574         
00575         
00579         void clearOuterScaleRMS ();
00580         
00581 
00582 
00584         // Extrinsic Table Attributes //
00586         
00587         
00588         // ===> Attribute calDataId
00589         
00590         
00591         
00592 
00593         
00598         Tag getCalDataId() const;
00599         
00600  
00601         
00602         
00612         void setCalDataId (Tag calDataId);
00613                 
00614         
00615         
00616         
00617 
00618 
00619         
00620         // ===> Attribute calReductionId
00621         
00622         
00623         
00624 
00625         
00630         Tag getCalReductionId() const;
00631         
00632  
00633         
00634         
00644         void setCalReductionId (Tag calReductionId);
00645                 
00646         
00647         
00648         
00649 
00650 
00652         // Links //
00654         
00655         
00656 
00657         
00658                 
00665          CalDataRow* getCalDataUsingCalDataId();
00666          
00667 
00668         
00669 
00670         
00671 
00672         
00673                 
00680          CalReductionRow* getCalReductionUsingCalReductionId();
00681          
00682 
00683         
00684 
00685         
00686         
00687         
00717         bool compareNoAutoInc(AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection, Tag calDataId, Tag calReductionId, ArrayTime startValidTime, ArrayTime endValidTime, vector<Frequency > frequencyRange, Interval integrationTime, int numBaseLengths, vector<Length > baselineLengths, vector<Angle > phaseRMS, Angle seeing, Angle seeingError);
00718         
00719         
00720 
00721         
00745         bool compareRequiredValue(ArrayTime startValidTime, ArrayTime endValidTime, vector<Frequency > frequencyRange, Interval integrationTime, int numBaseLengths, vector<Length > baselineLengths, vector<Angle > phaseRMS, Angle seeing, Angle seeingError); 
00746                  
00747         
00756         bool equalByRequiredValue(CalSeeingRow* x) ;
00757         
00758 #ifndef WITHOUT_ACS
00759 
00763         CalSeeingRowIDL *toIDL() const;
00764 #endif
00765         
00766 #ifndef WITHOUT_ACS
00767 
00772         void setFromIDL (CalSeeingRowIDL x) ;
00773 #endif
00774         
00779         string toXML() const;
00780 
00787         void setFromXML (string rowDoc) ;       
00788 
00789 private:
00793         CalSeeingTable &table;
00797         bool hasBeenAdded;
00798 
00799         // This method is used by the Table class when this row is added to the table.
00800         void isAdded(bool added);
00801 
00802 
00811         CalSeeingRow (CalSeeingTable &table);
00812 
00830          CalSeeingRow (CalSeeingTable &table, CalSeeingRow &row);
00831                 
00833         // Intrinsic Table Attributes //
00835         
00836         
00837         // ===> Attribute atmPhaseCorrection
00838         
00839         
00840 
00841         AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection;
00842 
00843         
00844         
00845         
00846 
00847         
00848         // ===> Attribute startValidTime
00849         
00850         
00851 
00852         ArrayTime startValidTime;
00853 
00854         
00855         
00856         
00857 
00858         
00859         // ===> Attribute endValidTime
00860         
00861         
00862 
00863         ArrayTime endValidTime;
00864 
00865         
00866         
00867         
00868 
00869         
00870         // ===> Attribute frequencyRange
00871         
00872         
00873 
00874         vector<Frequency > frequencyRange;
00875 
00876         
00877         
00878         
00879 
00880         
00881         // ===> Attribute integrationTime
00882         
00883         
00884 
00885         Interval integrationTime;
00886 
00887         
00888         
00889         
00890 
00891         
00892         // ===> Attribute numBaseLengths
00893         
00894         
00895 
00896         int numBaseLengths;
00897 
00898         
00899         
00900         
00901 
00902         
00903         // ===> Attribute baselineLengths
00904         
00905         
00906 
00907         vector<Length > baselineLengths;
00908 
00909         
00910         
00911         
00912 
00913         
00914         // ===> Attribute phaseRMS
00915         
00916         
00917 
00918         vector<Angle > phaseRMS;
00919 
00920         
00921         
00922         
00923 
00924         
00925         // ===> Attribute seeing
00926         
00927         
00928 
00929         Angle seeing;
00930 
00931         
00932         
00933         
00934 
00935         
00936         // ===> Attribute seeingError
00937         
00938         
00939 
00940         Angle seeingError;
00941 
00942         
00943         
00944         
00945 
00946         
00947         // ===> Attribute exponent, which is optional
00948         
00949         
00950         bool exponentExists;
00951         
00952 
00953         float exponent;
00954 
00955         
00956         
00957         
00958 
00959         
00960         // ===> Attribute outerScale, which is optional
00961         
00962         
00963         bool outerScaleExists;
00964         
00965 
00966         Length outerScale;
00967 
00968         
00969         
00970         
00971 
00972         
00973         // ===> Attribute outerScaleRMS, which is optional
00974         
00975         
00976         bool outerScaleRMSExists;
00977         
00978 
00979         Angle outerScaleRMS;
00980 
00981         
00982         
00983         
00984 
00986         // Extrinsic Table Attributes //
00988         
00989         
00990         // ===> Attribute calDataId
00991         
00992         
00993 
00994         Tag calDataId;
00995 
00996         
00997         
00998         
00999 
01000         
01001         // ===> Attribute calReductionId
01002         
01003         
01004 
01005         Tag calReductionId;
01006 
01007         
01008         
01009         
01010 
01012         // Links //
01014         
01015         
01016                 
01017 
01018          
01019 
01020         
01021 
01022         
01023                 
01024 
01025          
01026 
01027         
01028 
01029         
01031         // binary-deserialization material//
01033         map<string, CalSeeingAttributeFromBin> fromBinMethods;
01034 void atmPhaseCorrectionFromBin( EndianISStream& eiss);
01035 void calDataIdFromBin( EndianISStream& eiss);
01036 void calReductionIdFromBin( EndianISStream& eiss);
01037 void startValidTimeFromBin( EndianISStream& eiss);
01038 void endValidTimeFromBin( EndianISStream& eiss);
01039 void frequencyRangeFromBin( EndianISStream& eiss);
01040 void integrationTimeFromBin( EndianISStream& eiss);
01041 void numBaseLengthsFromBin( EndianISStream& eiss);
01042 void baselineLengthsFromBin( EndianISStream& eiss);
01043 void phaseRMSFromBin( EndianISStream& eiss);
01044 void seeingFromBin( EndianISStream& eiss);
01045 void seeingErrorFromBin( EndianISStream& eiss);
01046 
01047 void exponentFromBin( EndianISStream& eiss);
01048 void outerScaleFromBin( EndianISStream& eiss);
01049 void outerScaleRMSFromBin( EndianISStream& eiss);
01050         
01051         
01056          void toBin(EndianOSStream& eoss);
01057                  
01065          static CalSeeingRow* fromBin(EndianISStream& eiss, CalSeeingTable& table, const vector<string>& attributesSeq);         
01066 
01067 };
01068 
01069 } // End namespace asdm
01070 
01071 #endif /* CalSeeing_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines