GainTrackingRow.h

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 GainTrackingRow.h
00032  */
00033  
00034 #ifndef GainTrackingRow_CLASS
00035 #define GainTrackingRow_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::GainTrackingRowIDL;
00047 #endif
00048 
00049 #include <Angle.h>
00050 #include <AngularRate.h>
00051 #include <ArrayTime.h>
00052 #include <ArrayTimeInterval.h>
00053 #include <Complex.h>
00054 #include <Entity.h>
00055 #include <EntityId.h>
00056 #include <EntityRef.h>
00057 #include <Flux.h>
00058 #include <Frequency.h>
00059 #include <Humidity.h>
00060 #include <Interval.h>
00061 #include <Length.h>
00062 #include <Pressure.h>
00063 #include <Speed.h>
00064 #include <Tag.h>
00065 #include <Temperature.h>
00066 #include <ConversionException.h>
00067 #include <NoSuchRow.h>
00068 #include <IllegalAccessException.h>
00069 
00070 /*
00071 #include <Enumerations.h>
00072 using namespace enumerations;
00073  */
00074 
00075 
00076 
00077 
00078         
00079 
00080         
00081 
00082         
00083 
00084         
00085 
00086         
00087 
00088         
00089 
00090         
00091 
00092         
00093 
00094         
00095 
00096         
00097 
00098 
00099 
00100 using asdm::Angle;
00101 using asdm::AngularRate;
00102 using asdm::ArrayTime;
00103 using asdm::Complex;
00104 using asdm::Entity;
00105 using asdm::EntityId;
00106 using asdm::EntityRef;
00107 using asdm::Flux;
00108 using asdm::Frequency;
00109 using asdm::Humidity;
00110 using asdm::Interval;
00111 using asdm::Length;
00112 using asdm::Pressure;
00113 using asdm::Speed;
00114 using asdm::Tag;
00115 using asdm::Temperature;
00116 using asdm::ConversionException;
00117 using asdm::NoSuchRow;
00118 using asdm::IllegalAccessException;
00119 
00120 /*\file GainTracking.h
00121     \brief Generated from model's revision "1.41", branch "HEAD"
00122 */
00123 
00124 namespace asdm {
00125 
00126 //class asdm::GainTrackingTable;
00127 
00128 
00129 // class asdm::SpectralWindowRow;
00130 class SpectralWindowRow;
00131 
00132 // class asdm::AntennaRow;
00133 class AntennaRow;
00134 
00135 // class asdm::FeedRow;
00136 class FeedRow;
00137         
00138 
00145 class GainTrackingRow {
00146 friend class asdm::GainTrackingTable;
00147 
00148 public:
00149 
00150         virtual ~GainTrackingRow();
00151 
00155         GainTrackingTable &getTable() const;
00156         
00157 #ifndef WITHOUT_ACS
00158 
00162         GainTrackingRowIDL *toIDL() const;
00163 #endif
00164         
00165 #ifndef WITHOUT_ACS
00166 
00170         void setFromIDL (GainTrackingRowIDL x) throw(ConversionException);
00171 #endif
00172         
00177         string toXML() const;
00178 
00184         void setFromXML (string rowDoc) throw(ConversionException);
00185         
00187         // Intrinsic Table Attributes //
00189         
00190         
00191         // ===> Attribute timeInterval
00192         
00193         
00194         
00195 
00196         
00201         ArrayTimeInterval getTimeInterval() const;
00202         
00203  
00204         
00205         
00212         void setTimeInterval (ArrayTimeInterval timeInterval) throw(IllegalAccessException);
00213                 
00214         
00215         
00216         
00217 
00218 
00219         
00220         // ===> Attribute attenuator
00221         
00222         
00223         
00224 
00225         
00230         float getAttenuator() const;
00231         
00232  
00233         
00234         
00240         void setAttenuator (float attenuator);
00241                 
00242         
00243         
00244         
00245 
00246 
00247         
00248         // ===> Attribute samplingLevel, which is optional
00249         
00250         
00251         
00256         bool isSamplingLevelExists() const;
00257         
00258 
00259         
00265         float getSamplingLevel() const throw(IllegalAccessException);
00266         
00267  
00268         
00269         
00275         void setSamplingLevel (float samplingLevel);
00276                 
00277         
00278         
00279         
00283         void clearSamplingLevel ();
00284         
00285 
00286 
00287         
00288         // ===> Attribute delayoff1
00289         
00290         
00291         
00292 
00293         
00298         Interval getDelayoff1() const;
00299         
00300  
00301         
00302         
00308         void setDelayoff1 (Interval delayoff1);
00309                 
00310         
00311         
00312         
00313 
00314 
00315         
00316         // ===> Attribute delayoff2
00317         
00318         
00319         
00320 
00321         
00326         Interval getDelayoff2() const;
00327         
00328  
00329         
00330         
00336         void setDelayoff2 (Interval delayoff2);
00337                 
00338         
00339         
00340         
00341 
00342 
00343         
00344         // ===> Attribute phaseoff1
00345         
00346         
00347         
00348 
00349         
00354         Angle getPhaseoff1() const;
00355         
00356  
00357         
00358         
00364         void setPhaseoff1 (Angle phaseoff1);
00365                 
00366         
00367         
00368         
00369 
00370 
00371         
00372         // ===> Attribute phaseoff2
00373         
00374         
00375         
00376 
00377         
00382         Angle getPhaseoff2() const;
00383         
00384  
00385         
00386         
00392         void setPhaseoff2 (Angle phaseoff2);
00393                 
00394         
00395         
00396         
00397 
00398 
00399         
00400         // ===> Attribute rateoff1
00401         
00402         
00403         
00404 
00405         
00410         AngularRate getRateoff1() const;
00411         
00412  
00413         
00414         
00420         void setRateoff1 (AngularRate rateoff1);
00421                 
00422         
00423         
00424         
00425 
00426 
00427         
00428         // ===> Attribute rateoff2
00429         
00430         
00431         
00432 
00433         
00438         AngularRate getRateoff2() const;
00439         
00440  
00441         
00442         
00448         void setRateoff2 (AngularRate rateoff2);
00449                 
00450         
00451         
00452         
00453 
00454 
00455         
00456         // ===> Attribute phaseRefOffset, which is optional
00457         
00458         
00459         
00464         bool isPhaseRefOffsetExists() const;
00465         
00466 
00467         
00473         Angle getPhaseRefOffset() const throw(IllegalAccessException);
00474         
00475  
00476         
00477         
00483         void setPhaseRefOffset (Angle phaseRefOffset);
00484                 
00485         
00486         
00487         
00491         void clearPhaseRefOffset ();
00492         
00493 
00494 
00496         // Extrinsic Table Attributes //
00498         
00499         
00500         // ===> Attribute antennaId
00501         
00502         
00503         
00504 
00505         
00510         Tag getAntennaId() const;
00511         
00512  
00513         
00514         
00521         void setAntennaId (Tag antennaId) throw(IllegalAccessException);
00522                 
00523         
00524         
00525         
00526 
00527 
00528         
00529         // ===> Attribute feedId
00530         
00531         
00532         
00533 
00534         
00539         int getFeedId() const;
00540         
00541  
00542         
00543         
00550         void setFeedId (int feedId) throw(IllegalAccessException);
00551                 
00552         
00553         
00554         
00555 
00556 
00557         
00558         // ===> Attribute spectralWindowId
00559         
00560         
00561         
00562 
00563         
00568         Tag getSpectralWindowId() const;
00569         
00570  
00571         
00572         
00579         void setSpectralWindowId (Tag spectralWindowId) throw(IllegalAccessException);
00580                 
00581         
00582         
00583         
00584 
00585 
00587         // Links //
00589         
00590         
00591 
00592         
00593                 
00600          SpectralWindowRow* getSpectralWindowUsingSpectralWindowId();
00601          
00602 
00603         
00604 
00605         
00606 
00607         
00608                 
00615          AntennaRow* getAntennaUsingAntennaId();
00616          
00617 
00618         
00619 
00620         
00621 
00622         
00623                 
00624         // ===> Slice link from a row of GainTracking table to a collection of row of Feed table.
00625         
00631         vector <FeedRow *> getFeeds();
00632         
00633         
00634 
00635         
00636 
00637         
00638         
00639         
00644         bool compareNoAutoInc(Tag antennaId, int feedId, Tag spectralWindowId, ArrayTimeInterval timeInterval, float attenuator, Interval delayoff1, Interval delayoff2, Angle phaseoff1, Angle phaseoff2, AngularRate rateoff1, AngularRate rateoff2);
00645         
00646         
00647 
00648         
00649         bool compareRequiredValue(float attenuator, Interval delayoff1, Interval delayoff2, Angle phaseoff1, Angle phaseoff2, AngularRate rateoff1, AngularRate rateoff2); 
00650                  
00651         
00660         bool equalByRequiredValue(GainTrackingRow* x) ;
00661 
00662 private:
00666         GainTrackingTable &table;
00670         bool hasBeenAdded;
00671 
00672         // This method is used by the Table class when this row is added to the table.
00673         void isAdded();
00674 
00675 
00684         GainTrackingRow (GainTrackingTable &table);
00685 
00703          GainTrackingRow (GainTrackingTable &table, GainTrackingRow &row);
00704                 
00706         // Intrinsic Table Attributes //
00708         
00709         
00710         // ===> Attribute timeInterval
00711         
00712         
00713 
00714         ArrayTimeInterval timeInterval;
00715 
00716         
00717         
00718         
00719 
00720         
00721         // ===> Attribute attenuator
00722         
00723         
00724 
00725         float attenuator;
00726 
00727         
00728         
00729         
00730 
00731         
00732         // ===> Attribute samplingLevel, which is optional
00733         
00734         
00735         bool samplingLevelExists;
00736         
00737 
00738         float samplingLevel;
00739 
00740         
00741         
00742         
00743 
00744         
00745         // ===> Attribute delayoff1
00746         
00747         
00748 
00749         Interval delayoff1;
00750 
00751         
00752         
00753         
00754 
00755         
00756         // ===> Attribute delayoff2
00757         
00758         
00759 
00760         Interval delayoff2;
00761 
00762         
00763         
00764         
00765 
00766         
00767         // ===> Attribute phaseoff1
00768         
00769         
00770 
00771         Angle phaseoff1;
00772 
00773         
00774         
00775         
00776 
00777         
00778         // ===> Attribute phaseoff2
00779         
00780         
00781 
00782         Angle phaseoff2;
00783 
00784         
00785         
00786         
00787 
00788         
00789         // ===> Attribute rateoff1
00790         
00791         
00792 
00793         AngularRate rateoff1;
00794 
00795         
00796         
00797         
00798 
00799         
00800         // ===> Attribute rateoff2
00801         
00802         
00803 
00804         AngularRate rateoff2;
00805 
00806         
00807         
00808         
00809 
00810         
00811         // ===> Attribute phaseRefOffset, which is optional
00812         
00813         
00814         bool phaseRefOffsetExists;
00815         
00816 
00817         Angle phaseRefOffset;
00818 
00819         
00820         
00821         
00822 
00824         // Extrinsic Table Attributes //
00826         
00827         
00828         // ===> Attribute antennaId
00829         
00830         
00831 
00832         Tag antennaId;
00833 
00834         
00835         
00836         
00837 
00838         
00839         // ===> Attribute feedId
00840         
00841         
00842 
00843         int feedId;
00844 
00845         
00846         
00847         
00848 
00849         
00850         // ===> Attribute spectralWindowId
00851         
00852         
00853 
00854         Tag spectralWindowId;
00855 
00856         
00857         
00858         
00859 
00861         // Links //
00863         
00864         
00865                 
00866 
00867          
00868 
00869         
00870 
00871         
00872                 
00873 
00874          
00875 
00876         
00877 
00878         
00879                 
00880 
00881 
00882         
00883 
00884 
00885 };
00886 
00887 } // End namespace asdm
00888 
00889 #endif /* GainTracking_CLASS */

Generated on Thu Nov 29 16:46:46 2007 for ASDM C++ Implementation by  doxygen 1.5.1