SubscanRow.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 SubscanRow.h 00032 */ 00033 00034 #ifndef SubscanRow_CLASS 00035 #define SubscanRow_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::SubscanRowIDL; 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 #include "CSubscanIntent.h" 00086 using namespace SubscanIntentMod; 00087 00088 00089 00090 #include "CSwitchingMode.h" 00091 using namespace SwitchingModeMod; 00092 00093 00094 00095 00096 00097 00098 00099 00100 00101 00102 00103 #include "CCorrelatorCalibration.h" 00104 using namespace CorrelatorCalibrationMod; 00105 00106 00107 00108 00109 using asdm::Angle; 00110 using asdm::AngularRate; 00111 using asdm::ArrayTime; 00112 using asdm::Complex; 00113 using asdm::Entity; 00114 using asdm::EntityId; 00115 using asdm::EntityRef; 00116 using asdm::Flux; 00117 using asdm::Frequency; 00118 using asdm::Humidity; 00119 using asdm::Interval; 00120 using asdm::Length; 00121 using asdm::Pressure; 00122 using asdm::Speed; 00123 using asdm::Tag; 00124 using asdm::Temperature; 00125 using asdm::ConversionException; 00126 using asdm::NoSuchRow; 00127 using asdm::IllegalAccessException; 00128 00129 /*\file Subscan.h 00130 \brief Generated from model's revision "1.46", branch "HEAD" 00131 */ 00132 00133 namespace asdm { 00134 00135 //class asdm::SubscanTable; 00136 00137 00138 // class asdm::ExecBlockRow; 00139 class ExecBlockRow; 00140 00141 00148 class SubscanRow { 00149 friend class asdm::SubscanTable; 00150 00151 public: 00152 00153 virtual ~SubscanRow(); 00154 00158 SubscanTable &getTable() const; 00159 00160 #ifndef WITHOUT_ACS 00161 00165 SubscanRowIDL *toIDL() const; 00166 #endif 00167 00168 #ifndef WITHOUT_ACS 00169 00173 void setFromIDL (SubscanRowIDL x) throw(ConversionException); 00174 #endif 00175 00180 string toXML() const; 00181 00187 void setFromXML (string rowDoc) throw(ConversionException); 00188 00190 // Intrinsic Table Attributes // 00192 00193 00194 // ===> Attribute subscanNumber 00195 00196 00197 00198 00199 00204 int getSubscanNumber() const; 00205 00206 00207 00208 00218 void setSubscanNumber (int subscanNumber); 00219 00220 00221 00222 00223 00224 00225 00226 // ===> Attribute startTime 00227 00228 00229 00230 00231 00236 ArrayTime getStartTime() const; 00237 00238 00239 00240 00248 void setStartTime (ArrayTime startTime); 00249 00250 00251 00252 00253 00254 00255 00256 // ===> Attribute endTime 00257 00258 00259 00260 00261 00266 ArrayTime getEndTime() const; 00267 00268 00269 00270 00278 void setEndTime (ArrayTime endTime); 00279 00280 00281 00282 00283 00284 00285 00286 // ===> Attribute subscanIntent 00287 00288 00289 00290 00291 00296 SubscanIntentMod::SubscanIntent getSubscanIntent() const; 00297 00298 00299 00300 00308 void setSubscanIntent (SubscanIntentMod::SubscanIntent subscanIntent); 00309 00310 00311 00312 00313 00314 00315 00316 // ===> Attribute subscanMode, which is optional 00317 00318 00319 00324 bool isSubscanModeExists() const; 00325 00326 00327 00333 SwitchingModeMod::SwitchingMode getSubscanMode() const throw(IllegalAccessException); 00334 00335 00336 00337 00344 void setSubscanMode (SwitchingModeMod::SwitchingMode subscanMode); 00345 00346 00347 00348 00352 void clearSubscanMode (); 00353 00354 00355 00356 00357 // ===> Attribute numberIntegration 00358 00359 00360 00361 00362 00367 int getNumberIntegration() const; 00368 00369 00370 00371 00379 void setNumberIntegration (int numberIntegration); 00380 00381 00382 00383 00384 00385 00386 00387 // ===> Attribute numberSubintegration 00388 00389 00390 00391 00392 00397 vector<int > getNumberSubintegration() const; 00398 00399 00400 00401 00409 void setNumberSubintegration (vector<int > numberSubintegration); 00410 00411 00412 00413 00414 00415 00416 00417 // ===> Attribute flagRow 00418 00419 00420 00421 00422 00427 bool getFlagRow() const; 00428 00429 00430 00431 00439 void setFlagRow (bool flagRow); 00440 00441 00442 00443 00444 00445 00446 00447 // ===> Attribute fieldName 00448 00449 00450 00451 00452 00457 string getFieldName() const; 00458 00459 00460 00461 00469 void setFieldName (string fieldName); 00470 00471 00472 00473 00474 00475 00476 00477 // ===> Attribute correlatorCalibration, which is optional 00478 00479 00480 00485 bool isCorrelatorCalibrationExists() const; 00486 00487 00488 00494 CorrelatorCalibrationMod::CorrelatorCalibration getCorrelatorCalibration() const throw(IllegalAccessException); 00495 00496 00497 00498 00505 void setCorrelatorCalibration (CorrelatorCalibrationMod::CorrelatorCalibration correlatorCalibration); 00506 00507 00508 00509 00513 void clearCorrelatorCalibration (); 00514 00515 00516 00518 // Extrinsic Table Attributes // 00520 00521 00522 // ===> Attribute execBlockId 00523 00524 00525 00526 00527 00532 Tag getExecBlockId() const; 00533 00534 00535 00536 00546 void setExecBlockId (Tag execBlockId); 00547 00548 00549 00550 00551 00552 00553 00554 // ===> Attribute scanNumber 00555 00556 00557 00558 00559 00564 int getScanNumber() const; 00565 00566 00567 00568 00578 void setScanNumber (int scanNumber); 00579 00580 00581 00582 00583 00584 00586 // Links // 00588 00589 00590 00591 00592 00599 ExecBlockRow* getExecBlockUsingExecBlockId(); 00600 00601 00602 00603 00604 00605 00606 00611 bool compareNoAutoInc(Tag execBlockId, int scanNumber, int subscanNumber, ArrayTime startTime, ArrayTime endTime, SubscanIntentMod::SubscanIntent subscanIntent, int numberIntegration, vector<int > numberSubintegration, bool flagRow, string fieldName); 00612 00613 00614 00615 00616 bool compareRequiredValue(ArrayTime startTime, ArrayTime endTime, SubscanIntentMod::SubscanIntent subscanIntent, int numberIntegration, vector<int > numberSubintegration, bool flagRow, string fieldName); 00617 00618 00627 bool equalByRequiredValue(SubscanRow* x) ; 00628 00629 private: 00633 SubscanTable &table; 00637 bool hasBeenAdded; 00638 00639 // This method is used by the Table class when this row is added to the table. 00640 void isAdded(); 00641 00642 00651 SubscanRow (SubscanTable &table); 00652 00670 SubscanRow (SubscanTable &table, SubscanRow &row); 00671 00673 // Intrinsic Table Attributes // 00675 00676 00677 // ===> Attribute subscanNumber 00678 00679 00680 00681 int subscanNumber; 00682 00683 00684 00685 00686 00687 00688 // ===> Attribute startTime 00689 00690 00691 00692 ArrayTime startTime; 00693 00694 00695 00696 00697 00698 00699 // ===> Attribute endTime 00700 00701 00702 00703 ArrayTime endTime; 00704 00705 00706 00707 00708 00709 00710 // ===> Attribute subscanIntent 00711 00712 00713 00714 SubscanIntentMod::SubscanIntent subscanIntent; 00715 00716 00717 00718 00719 00720 00721 // ===> Attribute subscanMode, which is optional 00722 00723 00724 bool subscanModeExists; 00725 00726 00727 SwitchingModeMod::SwitchingMode subscanMode; 00728 00729 00730 00731 00732 00733 00734 // ===> Attribute numberIntegration 00735 00736 00737 00738 int numberIntegration; 00739 00740 00741 00742 00743 00744 00745 // ===> Attribute numberSubintegration 00746 00747 00748 00749 vector<int > numberSubintegration; 00750 00751 00752 00753 00754 00755 00756 // ===> Attribute flagRow 00757 00758 00759 00760 bool flagRow; 00761 00762 00763 00764 00765 00766 00767 // ===> Attribute fieldName 00768 00769 00770 00771 string fieldName; 00772 00773 00774 00775 00776 00777 00778 // ===> Attribute correlatorCalibration, which is optional 00779 00780 00781 bool correlatorCalibrationExists; 00782 00783 00784 CorrelatorCalibrationMod::CorrelatorCalibration correlatorCalibration; 00785 00786 00787 00788 00789 00791 // Extrinsic Table Attributes // 00793 00794 00795 // ===> Attribute execBlockId 00796 00797 00798 00799 Tag execBlockId; 00800 00801 00802 00803 00804 00805 00806 // ===> Attribute scanNumber 00807 00808 00809 00810 int scanNumber; 00811 00812 00813 00814 00815 00817 // Links // 00819 00820 00821 00822 00823 00824 00825 00826 00827 00828 }; 00829 00830 } // End namespace asdm 00831 00832 #endif /* Subscan_CLASS */

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