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.46", 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 00215 void setTimeInterval (ArrayTimeInterval timeInterval); 00216 00217 00218 00219 00220 00221 00222 00223 // ===> Attribute attenuator 00224 00225 00226 00227 00228 00233 float getAttenuator() const; 00234 00235 00236 00237 00245 void setAttenuator (float attenuator); 00246 00247 00248 00249 00250 00251 00252 00253 // ===> Attribute samplingLevel, which is optional 00254 00255 00256 00261 bool isSamplingLevelExists() const; 00262 00263 00264 00270 float getSamplingLevel() const throw(IllegalAccessException); 00271 00272 00273 00274 00281 void setSamplingLevel (float samplingLevel); 00282 00283 00284 00285 00289 void clearSamplingLevel (); 00290 00291 00292 00293 00294 // ===> Attribute delayoff1 00295 00296 00297 00298 00299 00304 Interval getDelayoff1() const; 00305 00306 00307 00308 00316 void setDelayoff1 (Interval delayoff1); 00317 00318 00319 00320 00321 00322 00323 00324 // ===> Attribute delayoff2 00325 00326 00327 00328 00329 00334 Interval getDelayoff2() const; 00335 00336 00337 00338 00346 void setDelayoff2 (Interval delayoff2); 00347 00348 00349 00350 00351 00352 00353 00354 // ===> Attribute phaseoff1 00355 00356 00357 00358 00359 00364 Angle getPhaseoff1() const; 00365 00366 00367 00368 00376 void setPhaseoff1 (Angle phaseoff1); 00377 00378 00379 00380 00381 00382 00383 00384 // ===> Attribute phaseoff2 00385 00386 00387 00388 00389 00394 Angle getPhaseoff2() const; 00395 00396 00397 00398 00406 void setPhaseoff2 (Angle phaseoff2); 00407 00408 00409 00410 00411 00412 00413 00414 // ===> Attribute rateoff1 00415 00416 00417 00418 00419 00424 AngularRate getRateoff1() const; 00425 00426 00427 00428 00436 void setRateoff1 (AngularRate rateoff1); 00437 00438 00439 00440 00441 00442 00443 00444 // ===> Attribute rateoff2 00445 00446 00447 00448 00449 00454 AngularRate getRateoff2() const; 00455 00456 00457 00458 00466 void setRateoff2 (AngularRate rateoff2); 00467 00468 00469 00470 00471 00472 00473 00474 // ===> Attribute phaseRefOffset, which is optional 00475 00476 00477 00482 bool isPhaseRefOffsetExists() const; 00483 00484 00485 00491 Angle getPhaseRefOffset() const throw(IllegalAccessException); 00492 00493 00494 00495 00502 void setPhaseRefOffset (Angle phaseRefOffset); 00503 00504 00505 00506 00510 void clearPhaseRefOffset (); 00511 00512 00513 00515 // Extrinsic Table Attributes // 00517 00518 00519 // ===> Attribute antennaId 00520 00521 00522 00523 00524 00529 Tag getAntennaId() const; 00530 00531 00532 00533 00543 void setAntennaId (Tag antennaId); 00544 00545 00546 00547 00548 00549 00550 00551 // ===> Attribute feedId 00552 00553 00554 00555 00556 00561 int getFeedId() const; 00562 00563 00564 00565 00575 void setFeedId (int feedId); 00576 00577 00578 00579 00580 00581 00582 00583 // ===> Attribute spectralWindowId 00584 00585 00586 00587 00588 00593 Tag getSpectralWindowId() const; 00594 00595 00596 00597 00607 void setSpectralWindowId (Tag spectralWindowId); 00608 00609 00610 00611 00612 00613 00615 // Links // 00617 00618 00619 00620 00621 00628 SpectralWindowRow* getSpectralWindowUsingSpectralWindowId(); 00629 00630 00631 00632 00633 00634 00635 00636 00643 AntennaRow* getAntennaUsingAntennaId(); 00644 00645 00646 00647 00648 00649 00650 00651 00652 // ===> Slice link from a row of GainTracking table to a collection of row of Feed table. 00653 00659 vector <FeedRow *> getFeeds(); 00660 00661 00662 00663 00664 00665 00666 00667 00672 bool compareNoAutoInc(Tag antennaId, int feedId, Tag spectralWindowId, ArrayTimeInterval timeInterval, float attenuator, Interval delayoff1, Interval delayoff2, Angle phaseoff1, Angle phaseoff2, AngularRate rateoff1, AngularRate rateoff2); 00673 00674 00675 00676 00677 bool compareRequiredValue(float attenuator, Interval delayoff1, Interval delayoff2, Angle phaseoff1, Angle phaseoff2, AngularRate rateoff1, AngularRate rateoff2); 00678 00679 00688 bool equalByRequiredValue(GainTrackingRow* x) ; 00689 00690 private: 00694 GainTrackingTable &table; 00698 bool hasBeenAdded; 00699 00700 // This method is used by the Table class when this row is added to the table. 00701 void isAdded(); 00702 00703 00712 GainTrackingRow (GainTrackingTable &table); 00713 00731 GainTrackingRow (GainTrackingTable &table, GainTrackingRow &row); 00732 00734 // Intrinsic Table Attributes // 00736 00737 00738 // ===> Attribute timeInterval 00739 00740 00741 00742 ArrayTimeInterval timeInterval; 00743 00744 00745 00746 00747 00748 00749 // ===> Attribute attenuator 00750 00751 00752 00753 float attenuator; 00754 00755 00756 00757 00758 00759 00760 // ===> Attribute samplingLevel, which is optional 00761 00762 00763 bool samplingLevelExists; 00764 00765 00766 float samplingLevel; 00767 00768 00769 00770 00771 00772 00773 // ===> Attribute delayoff1 00774 00775 00776 00777 Interval delayoff1; 00778 00779 00780 00781 00782 00783 00784 // ===> Attribute delayoff2 00785 00786 00787 00788 Interval delayoff2; 00789 00790 00791 00792 00793 00794 00795 // ===> Attribute phaseoff1 00796 00797 00798 00799 Angle phaseoff1; 00800 00801 00802 00803 00804 00805 00806 // ===> Attribute phaseoff2 00807 00808 00809 00810 Angle phaseoff2; 00811 00812 00813 00814 00815 00816 00817 // ===> Attribute rateoff1 00818 00819 00820 00821 AngularRate rateoff1; 00822 00823 00824 00825 00826 00827 00828 // ===> Attribute rateoff2 00829 00830 00831 00832 AngularRate rateoff2; 00833 00834 00835 00836 00837 00838 00839 // ===> Attribute phaseRefOffset, which is optional 00840 00841 00842 bool phaseRefOffsetExists; 00843 00844 00845 Angle phaseRefOffset; 00846 00847 00848 00849 00850 00852 // Extrinsic Table Attributes // 00854 00855 00856 // ===> Attribute antennaId 00857 00858 00859 00860 Tag antennaId; 00861 00862 00863 00864 00865 00866 00867 // ===> Attribute feedId 00868 00869 00870 00871 int feedId; 00872 00873 00874 00875 00876 00877 00878 // ===> Attribute spectralWindowId 00879 00880 00881 00882 Tag spectralWindowId; 00883 00884 00885 00886 00887 00889 // Links // 00891 00892 00893 00894 00895 00896 00897 00898 00899 00900 00901 00902 00903 00904 00905 00906 00907 00908 00909 00910 00911 00912 00913 }; 00914 00915 } // End namespace asdm 00916 00917 #endif /* GainTracking_CLASS */

Generated on Tue Nov 18 17:43:41 2008 for ASDM C++ Implementation by doxygen 1.3.8