ConfigDescriptionRow.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 ConfigDescriptionRow.h 00032 */ 00033 00034 #ifndef ConfigDescriptionRow_CLASS 00035 #define ConfigDescriptionRow_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::ConfigDescriptionRowIDL; 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 #include "CCorrelationMode.h" 00088 using namespace CorrelationModeMod; 00089 00090 00091 00092 00093 00094 00095 00096 #include "CAtmPhaseCorrection.h" 00097 using namespace AtmPhaseCorrectionMod; 00098 00099 00100 00101 #include "CSpectralResolutionType.h" 00102 using namespace SpectralResolutionTypeMod; 00103 00104 00105 00106 00107 using asdm::Angle; 00108 using asdm::AngularRate; 00109 using asdm::ArrayTime; 00110 using asdm::Complex; 00111 using asdm::Entity; 00112 using asdm::EntityId; 00113 using asdm::EntityRef; 00114 using asdm::Flux; 00115 using asdm::Frequency; 00116 using asdm::Humidity; 00117 using asdm::Interval; 00118 using asdm::Length; 00119 using asdm::Pressure; 00120 using asdm::Speed; 00121 using asdm::Tag; 00122 using asdm::Temperature; 00123 using asdm::ConversionException; 00124 using asdm::NoSuchRow; 00125 using asdm::IllegalAccessException; 00126 00127 /*\file ConfigDescription.h 00128 \brief Generated from model's revision "1.46", branch "HEAD" 00129 */ 00130 00131 namespace asdm { 00132 00133 //class asdm::ConfigDescriptionTable; 00134 00135 00136 // class asdm::ProcessorRow; 00137 class ProcessorRow; 00138 00139 // class asdm::AntennaRow; 00140 class AntennaRow; 00141 00142 // class asdm::DataDescriptionRow; 00143 class DataDescriptionRow; 00144 00145 // class asdm::SwitchCycleRow; 00146 class SwitchCycleRow; 00147 00148 // class asdm::FeedRow; 00149 class FeedRow; 00150 00151 // class asdm::ConfigDescriptionRow; 00152 class ConfigDescriptionRow; 00153 00154 00161 class ConfigDescriptionRow { 00162 friend class asdm::ConfigDescriptionTable; 00163 00164 public: 00165 00166 virtual ~ConfigDescriptionRow(); 00167 00171 ConfigDescriptionTable &getTable() const; 00172 00173 #ifndef WITHOUT_ACS 00174 00178 ConfigDescriptionRowIDL *toIDL() const; 00179 #endif 00180 00181 #ifndef WITHOUT_ACS 00182 00186 void setFromIDL (ConfigDescriptionRowIDL x) throw(ConversionException); 00187 #endif 00188 00193 string toXML() const; 00194 00200 void setFromXML (string rowDoc) throw(ConversionException); 00201 00203 // Intrinsic Table Attributes // 00205 00206 00207 // ===> Attribute numAntenna 00208 00209 00210 00211 00212 00217 int getNumAntenna() const; 00218 00219 00220 00221 00229 void setNumAntenna (int numAntenna); 00230 00231 00232 00233 00234 00235 00236 00237 // ===> Attribute numFeed 00238 00239 00240 00241 00242 00247 int getNumFeed() const; 00248 00249 00250 00251 00259 void setNumFeed (int numFeed); 00260 00261 00262 00263 00264 00265 00266 00267 // ===> Attribute numSubBand 00268 00269 00270 00271 00272 00277 vector<int > getNumSubBand() const; 00278 00279 00280 00281 00289 void setNumSubBand (vector<int > numSubBand); 00290 00291 00292 00293 00294 00295 00296 00297 // ===> Attribute phasedArrayList, which is optional 00298 00299 00300 00305 bool isPhasedArrayListExists() const; 00306 00307 00308 00314 vector<int > getPhasedArrayList() const throw(IllegalAccessException); 00315 00316 00317 00318 00325 void setPhasedArrayList (vector<int > phasedArrayList); 00326 00327 00328 00329 00333 void clearPhasedArrayList (); 00334 00335 00336 00337 00338 // ===> Attribute correlationMode 00339 00340 00341 00342 00343 00348 CorrelationModeMod::CorrelationMode getCorrelationMode() const; 00349 00350 00351 00352 00360 void setCorrelationMode (CorrelationModeMod::CorrelationMode correlationMode); 00361 00362 00363 00364 00365 00366 00367 00368 // ===> Attribute flagAnt, which is optional 00369 00370 00371 00376 bool isFlagAntExists() const; 00377 00378 00379 00385 vector<bool > getFlagAnt() const throw(IllegalAccessException); 00386 00387 00388 00389 00396 void setFlagAnt (vector<bool > flagAnt); 00397 00398 00399 00400 00404 void clearFlagAnt (); 00405 00406 00407 00408 00409 // ===> Attribute configDescriptionId 00410 00411 00412 00413 00414 00419 Tag getConfigDescriptionId() const; 00420 00421 00422 00423 00424 00425 00426 00427 00428 00429 // ===> Attribute atmPhaseCorrection 00430 00431 00432 00433 00434 00439 vector<AtmPhaseCorrectionMod::AtmPhaseCorrection > getAtmPhaseCorrection() const; 00440 00441 00442 00443 00451 void setAtmPhaseCorrection (vector<AtmPhaseCorrectionMod::AtmPhaseCorrection > atmPhaseCorrection); 00452 00453 00454 00455 00456 00457 00458 00459 // ===> Attribute assocNature, which is optional 00460 00461 00462 00467 bool isAssocNatureExists() const; 00468 00469 00470 00476 vector<SpectralResolutionTypeMod::SpectralResolutionType > getAssocNature() const throw(IllegalAccessException); 00477 00478 00479 00480 00487 void setAssocNature (vector<SpectralResolutionTypeMod::SpectralResolutionType > assocNature); 00488 00489 00490 00491 00495 void clearAssocNature (); 00496 00497 00498 00500 // Extrinsic Table Attributes // 00502 00503 00504 // ===> Attribute antennaId 00505 00506 00507 00508 00509 00514 vector<Tag> getAntennaId() const; 00515 00516 00517 00518 00526 void setAntennaId (vector<Tag> antennaId); 00527 00528 00529 00530 00531 00532 00533 00534 // ===> Attribute assocConfigDescriptionId, which is optional 00535 00536 00537 00542 bool isAssocConfigDescriptionIdExists() const; 00543 00544 00545 00551 vector<Tag> getAssocConfigDescriptionId() const throw(IllegalAccessException); 00552 00553 00554 00555 00562 void setAssocConfigDescriptionId (vector<Tag> assocConfigDescriptionId); 00563 00564 00565 00566 00570 void clearAssocConfigDescriptionId (); 00571 00572 00573 00574 00575 // ===> Attribute dataDescriptionId 00576 00577 00578 00579 00580 00585 vector<Tag> getDataDescriptionId() const; 00586 00587 00588 00589 00597 void setDataDescriptionId (vector<Tag> dataDescriptionId); 00598 00599 00600 00601 00602 00603 00604 00605 // ===> Attribute feedId 00606 00607 00608 00609 00610 00615 vector<int> getFeedId() const; 00616 00617 00618 00619 00627 void setFeedId (vector<int> feedId); 00628 00629 00630 00631 00632 00633 00634 00635 // ===> Attribute processorId 00636 00637 00638 00639 00640 00645 Tag getProcessorId() const; 00646 00647 00648 00649 00657 void setProcessorId (Tag processorId); 00658 00659 00660 00661 00662 00663 00664 00665 // ===> Attribute switchCycleId 00666 00667 00668 00669 00670 00675 vector<Tag> getSwitchCycleId() const; 00676 00677 00678 00679 00687 void setSwitchCycleId (vector<Tag> switchCycleId); 00688 00689 00690 00691 00692 00693 00695 // Links // 00697 00698 00699 00700 00701 00708 ProcessorRow* getProcessorUsingProcessorId(); 00709 00710 00711 00712 00713 00714 00722 void setAntennaId (int i, Tag antennaId); 00723 00724 00725 00726 00727 00732 void addAntennaId(Tag id); 00733 00738 void addAntennaId(const vector<Tag> & id); 00739 00740 00746 const Tag getAntennaId(int i); 00747 00755 AntennaRow* getAntenna(int i); 00756 00761 vector<AntennaRow *> getAntennas(); 00762 00763 00764 00765 00766 00767 00775 void setDataDescriptionId (int i, Tag dataDescriptionId); 00776 00777 00778 00779 00780 00785 void addDataDescriptionId(Tag id); 00786 00791 void addDataDescriptionId(const vector<Tag> & id); 00792 00793 00799 const Tag getDataDescriptionId(int i); 00800 00808 DataDescriptionRow* getDataDescription(int i); 00809 00814 vector<DataDescriptionRow *> getDataDescriptions(); 00815 00816 00817 00818 00819 00820 00828 void setSwitchCycleId (int i, Tag switchCycleId); 00829 00830 00831 00832 00833 00838 void addSwitchCycleId(Tag id); 00839 00844 void addSwitchCycleId(const vector<Tag> & id); 00845 00846 00852 const Tag getSwitchCycleId(int i); 00853 00861 SwitchCycleRow* getSwitchCycle(int i); 00862 00867 vector<SwitchCycleRow *> getSwitchCycles(); 00868 00869 00870 00871 00872 00873 00881 void setFeedId (int i, int feedId); 00882 00883 00884 00885 00886 00887 00888 // ===> Slices link from a row of ConfigDescription table to a collection of row of Feed table. 00889 00894 void addFeedId(int id); 00895 00900 void addFeedId(vector<int> id); 00901 00902 00907 const vector <FeedRow *> getFeeds(int i); 00908 00909 00915 const vector <FeedRow *> getFeeds(); 00916 00917 00918 00919 00920 00921 00922 00929 void setAssocConfigDescriptionId (int i, Tag assocConfigDescriptionId) ; 00930 00931 00932 00933 00934 00939 void addAssocConfigDescriptionId(Tag id); 00940 00945 void addAssocConfigDescriptionId(const vector<Tag> & id); 00946 00947 00953 const Tag getAssocConfigDescriptionId(int i); 00954 00962 ConfigDescriptionRow* getConfigDescription(int i); 00963 00968 vector<ConfigDescriptionRow *> getConfigDescriptions(); 00969 00970 00971 00972 00973 00974 00975 00980 bool compareNoAutoInc(vector<Tag> antennaId, vector<Tag> dataDescriptionId, vector<int> feedId, Tag processorId, vector<Tag> switchCycleId, int numAntenna, int numFeed, vector<int > numSubBand, CorrelationModeMod::CorrelationMode correlationMode, vector<AtmPhaseCorrectionMod::AtmPhaseCorrection > atmPhaseCorrection); 00981 00982 00983 00984 00985 bool compareRequiredValue(vector<Tag> antennaId, vector<Tag> dataDescriptionId, vector<int> feedId, Tag processorId, vector<Tag> switchCycleId, int numAntenna, int numFeed, vector<int > numSubBand, CorrelationModeMod::CorrelationMode correlationMode, vector<AtmPhaseCorrectionMod::AtmPhaseCorrection > atmPhaseCorrection); 00986 00987 00996 bool equalByRequiredValue(ConfigDescriptionRow* x) ; 00997 00998 private: 01002 ConfigDescriptionTable &table; 01006 bool hasBeenAdded; 01007 01008 // This method is used by the Table class when this row is added to the table. 01009 void isAdded(); 01010 01011 01020 ConfigDescriptionRow (ConfigDescriptionTable &table); 01021 01039 ConfigDescriptionRow (ConfigDescriptionTable &table, ConfigDescriptionRow &row); 01040 01042 // Intrinsic Table Attributes // 01044 01045 01046 // ===> Attribute numAntenna 01047 01048 01049 01050 int numAntenna; 01051 01052 01053 01054 01055 01056 01057 // ===> Attribute numFeed 01058 01059 01060 01061 int numFeed; 01062 01063 01064 01065 01066 01067 01068 // ===> Attribute numSubBand 01069 01070 01071 01072 vector<int > numSubBand; 01073 01074 01075 01076 01077 01078 01079 // ===> Attribute phasedArrayList, which is optional 01080 01081 01082 bool phasedArrayListExists; 01083 01084 01085 vector<int > phasedArrayList; 01086 01087 01088 01089 01090 01091 01092 // ===> Attribute correlationMode 01093 01094 01095 01096 CorrelationModeMod::CorrelationMode correlationMode; 01097 01098 01099 01100 01101 01102 01103 // ===> Attribute flagAnt, which is optional 01104 01105 01106 bool flagAntExists; 01107 01108 01109 vector<bool > flagAnt; 01110 01111 01112 01113 01114 01115 01116 // ===> Attribute configDescriptionId 01117 01118 01119 01120 Tag configDescriptionId; 01121 01122 01123 01124 01134 void setConfigDescriptionId (Tag configDescriptionId); 01135 01136 01137 01138 01139 // ===> Attribute atmPhaseCorrection 01140 01141 01142 01143 vector<AtmPhaseCorrectionMod::AtmPhaseCorrection > atmPhaseCorrection; 01144 01145 01146 01147 01148 01149 01150 // ===> Attribute assocNature, which is optional 01151 01152 01153 bool assocNatureExists; 01154 01155 01156 vector<SpectralResolutionTypeMod::SpectralResolutionType > assocNature; 01157 01158 01159 01160 01161 01163 // Extrinsic Table Attributes // 01165 01166 01167 // ===> Attribute antennaId 01168 01169 01170 01171 vector<Tag> antennaId; 01172 01173 01174 01175 01176 01177 01178 // ===> Attribute assocConfigDescriptionId, which is optional 01179 01180 01181 bool assocConfigDescriptionIdExists; 01182 01183 01184 vector<Tag> assocConfigDescriptionId; 01185 01186 01187 01188 01189 01190 01191 // ===> Attribute dataDescriptionId 01192 01193 01194 01195 vector<Tag> dataDescriptionId; 01196 01197 01198 01199 01200 01201 01202 // ===> Attribute feedId 01203 01204 01205 01206 vector<int> feedId; 01207 01208 01209 01210 01211 01212 01213 // ===> Attribute processorId 01214 01215 01216 01217 Tag processorId; 01218 01219 01220 01221 01222 01223 01224 // ===> Attribute switchCycleId 01225 01226 01227 01228 vector<Tag> switchCycleId; 01229 01230 01231 01232 01233 01235 // Links // 01237 01238 01239 01240 01241 01242 01243 01244 01245 01246 01247 01248 01249 01250 01251 01252 01253 01254 01255 01256 01257 01258 01259 01260 01261 01262 01263 01264 01265 01266 01267 01268 01269 01270 01271 01272 01273 01274 01275 01276 }; 01277 01278 } // End namespace asdm 01279 01280 #endif /* ConfigDescription_CLASS */

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