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.41", 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         
00227         void setNumAntenna (int numAntenna);
00228                 
00229         
00230         
00231         
00232 
00233 
00234         
00235         // ===> Attribute numFeed
00236         
00237         
00238         
00239 
00240         
00245         int getNumFeed() const;
00246         
00247  
00248         
00249         
00255         void setNumFeed (int numFeed);
00256                 
00257         
00258         
00259         
00260 
00261 
00262         
00263         // ===> Attribute numSubBand
00264         
00265         
00266         
00267 
00268         
00273         vector<int > getNumSubBand() const;
00274         
00275  
00276         
00277         
00283         void setNumSubBand (vector<int > numSubBand);
00284                 
00285         
00286         
00287         
00288 
00289 
00290         
00291         // ===> Attribute phasedArrayList, which is optional
00292         
00293         
00294         
00299         bool isPhasedArrayListExists() const;
00300         
00301 
00302         
00308         vector<int > getPhasedArrayList() const throw(IllegalAccessException);
00309         
00310  
00311         
00312         
00318         void setPhasedArrayList (vector<int > phasedArrayList);
00319                 
00320         
00321         
00322         
00326         void clearPhasedArrayList ();
00327         
00328 
00329 
00330         
00331         // ===> Attribute correlationMode
00332         
00333         
00334         
00335 
00336         
00341         CorrelationMode getCorrelationMode() const;
00342         
00343  
00344         
00345         
00351         void setCorrelationMode (CorrelationMode correlationMode);
00352                 
00353         
00354         
00355         
00356 
00357 
00358         
00359         // ===> Attribute flagAnt, which is optional
00360         
00361         
00362         
00367         bool isFlagAntExists() const;
00368         
00369 
00370         
00376         vector<bool > getFlagAnt() const throw(IllegalAccessException);
00377         
00378  
00379         
00380         
00386         void setFlagAnt (vector<bool > flagAnt);
00387                 
00388         
00389         
00390         
00394         void clearFlagAnt ();
00395         
00396 
00397 
00398         
00399         // ===> Attribute configDescriptionId
00400         
00401         
00402         
00403 
00404         
00409         Tag getConfigDescriptionId() const;
00410         
00411  
00412         
00413         
00414         
00415         
00416 
00417 
00418         
00419         // ===> Attribute atmPhaseCorrection
00420         
00421         
00422         
00423 
00424         
00429         AtmPhaseCorrection getAtmPhaseCorrection() const;
00430         
00431  
00432         
00433         
00439         void setAtmPhaseCorrection (AtmPhaseCorrection atmPhaseCorrection);
00440                 
00441         
00442         
00443         
00444 
00445 
00446         
00447         // ===> Attribute assocNature, which is optional
00448         
00449         
00450         
00455         bool isAssocNatureExists() const;
00456         
00457 
00458         
00464         vector<SpectralResolutionType > getAssocNature() const throw(IllegalAccessException);
00465         
00466  
00467         
00468         
00474         void setAssocNature (vector<SpectralResolutionType > assocNature);
00475                 
00476         
00477         
00478         
00482         void clearAssocNature ();
00483         
00484 
00485 
00487         // Extrinsic Table Attributes //
00489         
00490         
00491         // ===> Attribute antennaId
00492         
00493         
00494         
00495 
00496         
00501         vector<Tag>  getAntennaId() const;
00502         
00503  
00504         
00505         
00511         void setAntennaId (vector<Tag>  antennaId);
00512                 
00513         
00514         
00515         
00516 
00517 
00518         
00519         // ===> Attribute assocConfigDescriptionId, which is optional
00520         
00521         
00522         
00527         bool isAssocConfigDescriptionIdExists() const;
00528         
00529 
00530         
00536         vector<Tag>  getAssocConfigDescriptionId() const throw(IllegalAccessException);
00537         
00538  
00539         
00540         
00546         void setAssocConfigDescriptionId (vector<Tag>  assocConfigDescriptionId);
00547                 
00548         
00549         
00550         
00554         void clearAssocConfigDescriptionId ();
00555         
00556 
00557 
00558         
00559         // ===> Attribute dataDescriptionId
00560         
00561         
00562         
00563 
00564         
00569         vector<Tag>  getDataDescriptionId() const;
00570         
00571  
00572         
00573         
00579         void setDataDescriptionId (vector<Tag>  dataDescriptionId);
00580                 
00581         
00582         
00583         
00584 
00585 
00586         
00587         // ===> Attribute feedId
00588         
00589         
00590         
00591 
00592         
00597         vector<int>  getFeedId() const;
00598         
00599  
00600         
00601         
00607         void setFeedId (vector<int>  feedId);
00608                 
00609         
00610         
00611         
00612 
00613 
00614         
00615         // ===> Attribute processorId
00616         
00617         
00618         
00619 
00620         
00625         Tag getProcessorId() const;
00626         
00627  
00628         
00629         
00635         void setProcessorId (Tag processorId);
00636                 
00637         
00638         
00639         
00640 
00641 
00642         
00643         // ===> Attribute switchCycleId
00644         
00645         
00646         
00647 
00648         
00653         vector<Tag>  getSwitchCycleId() const;
00654         
00655  
00656         
00657         
00663         void setSwitchCycleId (vector<Tag>  switchCycleId);
00664                 
00665         
00666         
00667         
00668 
00669 
00671         // Links //
00673         
00674         
00675 
00676         
00677                 
00684          ProcessorRow* getProcessorUsingProcessorId();
00685          
00686 
00687         
00688 
00689         
00690                 
00697         void setAntennaId (int i, Tag antennaId) throw(OutOfBoundsException) ;
00698                         
00699         
00700 
00701         
00702                  
00707  void addAntennaId(Tag id); 
00708 
00713  void addAntennaId(const vector<Tag> & id); 
00714  
00715 
00721  const Tag getAntennaId(int i);
00722  
00730  AntennaRow* getAntenna(int i); 
00731  
00736  vector<AntennaRow *> getAntennas(); 
00737   
00738 
00739         
00740 
00741         
00742                 
00749         void setDataDescriptionId (int i, Tag dataDescriptionId) throw(OutOfBoundsException) ;
00750                         
00751         
00752 
00753         
00754                  
00759  void addDataDescriptionId(Tag id); 
00760 
00765  void addDataDescriptionId(const vector<Tag> & id); 
00766  
00767 
00773  const Tag getDataDescriptionId(int i);
00774  
00782  DataDescriptionRow* getDataDescription(int i); 
00783  
00788  vector<DataDescriptionRow *> getDataDescriptions(); 
00789   
00790 
00791         
00792 
00793         
00794                 
00801         void setSwitchCycleId (int i, Tag switchCycleId) throw(OutOfBoundsException) ;
00802                         
00803         
00804 
00805         
00806                  
00811  void addSwitchCycleId(Tag id); 
00812 
00817  void addSwitchCycleId(const vector<Tag> & id); 
00818  
00819 
00825  const Tag getSwitchCycleId(int i);
00826  
00834  SwitchCycleRow* getSwitchCycle(int i); 
00835  
00840  vector<SwitchCycleRow *> getSwitchCycles(); 
00841   
00842 
00843         
00844 
00845         
00846                 
00853         void setFeedId (int i, int feedId) throw(OutOfBoundsException) ;
00854                         
00855         
00856 
00857         
00858                 
00859 
00860         // ===> Slices link from a row of ConfigDescription table to a collection of row of Feed table. 
00861 
00866         void addFeedId(int id); 
00867         
00872         void addFeedId(vector<int> id); 
00873 
00874 
00879         const vector <FeedRow *> getFeeds(int i);
00880 
00881 
00887         const vector <FeedRow *> getFeeds();
00888         
00889 
00890 
00891         
00892 
00893         
00894                 
00902         void setAssocConfigDescriptionId (int i, Tag assocConfigDescriptionId) throw(IllegalAccessException, OutOfBoundsException); 
00903                         
00904         
00905 
00906         
00907                  
00912  void addAssocConfigDescriptionId(Tag id); 
00913 
00918  void addAssocConfigDescriptionId(const vector<Tag> & id); 
00919  
00920 
00926  const Tag getAssocConfigDescriptionId(int i);
00927  
00935  ConfigDescriptionRow* getConfigDescription(int i); 
00936  
00941  vector<ConfigDescriptionRow *> getConfigDescriptions(); 
00942   
00943 
00944         
00945 
00946         
00947         
00948         
00953         bool compareNoAutoInc(vector<Tag>  antennaId, vector<Tag>  dataDescriptionId, vector<int>  feedId, Tag processorId, vector<Tag>  switchCycleId, int numAntenna, int numFeed, vector<int > numSubBand, CorrelationMode correlationMode, AtmPhaseCorrection atmPhaseCorrection);
00954         
00955         
00956 
00957         
00958         bool compareRequiredValue(vector<Tag>  antennaId, vector<Tag>  dataDescriptionId, vector<int>  feedId, Tag processorId, vector<Tag>  switchCycleId, int numAntenna, int numFeed, vector<int > numSubBand, CorrelationMode correlationMode, AtmPhaseCorrection atmPhaseCorrection); 
00959                  
00960         
00969         bool equalByRequiredValue(ConfigDescriptionRow* x) ;
00970 
00971 private:
00975         ConfigDescriptionTable &table;
00979         bool hasBeenAdded;
00980 
00981         // This method is used by the Table class when this row is added to the table.
00982         void isAdded();
00983 
00984 
00993         ConfigDescriptionRow (ConfigDescriptionTable &table);
00994 
01012          ConfigDescriptionRow (ConfigDescriptionTable &table, ConfigDescriptionRow &row);
01013                 
01015         // Intrinsic Table Attributes //
01017         
01018         
01019         // ===> Attribute numAntenna
01020         
01021         
01022 
01023         int numAntenna;
01024 
01025         
01026         
01027         
01028 
01029         
01030         // ===> Attribute numFeed
01031         
01032         
01033 
01034         int numFeed;
01035 
01036         
01037         
01038         
01039 
01040         
01041         // ===> Attribute numSubBand
01042         
01043         
01044 
01045         vector<int > numSubBand;
01046 
01047         
01048         
01049         
01050 
01051         
01052         // ===> Attribute phasedArrayList, which is optional
01053         
01054         
01055         bool phasedArrayListExists;
01056         
01057 
01058         vector<int > phasedArrayList;
01059 
01060         
01061         
01062         
01063 
01064         
01065         // ===> Attribute correlationMode
01066         
01067         
01068 
01069         CorrelationMode correlationMode;
01070 
01071         
01072         
01073         
01074 
01075         
01076         // ===> Attribute flagAnt, which is optional
01077         
01078         
01079         bool flagAntExists;
01080         
01081 
01082         vector<bool > flagAnt;
01083 
01084         
01085         
01086         
01087 
01088         
01089         // ===> Attribute configDescriptionId
01090         
01091         
01092 
01093         Tag configDescriptionId;
01094 
01095         
01096         
01097         
01104         void setConfigDescriptionId (Tag configDescriptionId) throw(IllegalAccessException);
01105                 
01106         
01107 
01108         
01109         // ===> Attribute atmPhaseCorrection
01110         
01111         
01112 
01113         AtmPhaseCorrection atmPhaseCorrection;
01114 
01115         
01116         
01117         
01118 
01119         
01120         // ===> Attribute assocNature, which is optional
01121         
01122         
01123         bool assocNatureExists;
01124         
01125 
01126         vector<SpectralResolutionType > assocNature;
01127 
01128         
01129         
01130         
01131 
01133         // Extrinsic Table Attributes //
01135         
01136         
01137         // ===> Attribute antennaId
01138         
01139         
01140 
01141         vector<Tag>  antennaId;
01142 
01143         
01144         
01145         
01146 
01147         
01148         // ===> Attribute assocConfigDescriptionId, which is optional
01149         
01150         
01151         bool assocConfigDescriptionIdExists;
01152         
01153 
01154         vector<Tag>  assocConfigDescriptionId;
01155 
01156         
01157         
01158         
01159 
01160         
01161         // ===> Attribute dataDescriptionId
01162         
01163         
01164 
01165         vector<Tag>  dataDescriptionId;
01166 
01167         
01168         
01169         
01170 
01171         
01172         // ===> Attribute feedId
01173         
01174         
01175 
01176         vector<int>  feedId;
01177 
01178         
01179         
01180         
01181 
01182         
01183         // ===> Attribute processorId
01184         
01185         
01186 
01187         Tag processorId;
01188 
01189         
01190         
01191         
01192 
01193         
01194         // ===> Attribute switchCycleId
01195         
01196         
01197 
01198         vector<Tag>  switchCycleId;
01199 
01200         
01201         
01202         
01203 
01205         // Links //
01207         
01208         
01209                 
01210 
01211          
01212 
01213         
01214 
01215         
01216                 
01217 
01218 
01219         
01220 
01221         
01222                 
01223 
01224 
01225         
01226 
01227         
01228                 
01229 
01230 
01231         
01232 
01233         
01234                 
01235         
01236 
01237         
01238 
01239         
01240                 
01241 
01242 
01243         
01244 
01245 
01246 };
01247 
01248 } // End namespace asdm
01249 
01250 #endif /* ConfigDescription_CLASS */

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