ConfigDescriptionRow.h

Go to the documentation of this file.
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 
00050 
00051 
00052 
00053 
00054 #include <Tag.h>
00055 using  asdm::Tag;
00056 
00057 
00058 
00059 
00060         
00061 
00062         
00063 
00064         
00065 
00066         
00067 #include "CCorrelationMode.h"
00068 using namespace CorrelationModeMod;
00069         
00070 
00071         
00072 
00073         
00074 
00075         
00076 #include "CAtmPhaseCorrection.h"
00077 using namespace AtmPhaseCorrectionMod;
00078         
00079 
00080         
00081 #include "CProcessorType.h"
00082 using namespace ProcessorTypeMod;
00083         
00084 
00085         
00086 
00087         
00088 #include "CSpectralResolutionType.h"
00089 using namespace SpectralResolutionTypeMod;
00090         
00091 
00092         
00093 
00094         
00095 #include "CSpectralResolutionType.h"
00096 using namespace SpectralResolutionTypeMod;
00097         
00098 
00099 
00100 
00101 #include <ConversionException.h>
00102 #include <NoSuchRow.h>
00103 #include <IllegalAccessException.h>
00104 
00105 
00106 /*\file ConfigDescription.h
00107     \brief Generated from model's revision "1.55", branch "HEAD"
00108 */
00109 
00110 namespace asdm {
00111 
00112 //class asdm::ConfigDescriptionTable;
00113 
00114 
00115 // class asdm::ConfigDescriptionRow;
00116 class ConfigDescriptionRow;
00117 
00118 // class asdm::AntennaRow;
00119 class AntennaRow;
00120 
00121 // class asdm::FeedRow;
00122 class FeedRow;
00123 
00124 // class asdm::SwitchCycleRow;
00125 class SwitchCycleRow;
00126 
00127 // class asdm::DataDescriptionRow;
00128 class DataDescriptionRow;
00129 
00130 // class asdm::ProcessorRow;
00131 class ProcessorRow;
00132         
00133 
00134 class ConfigDescriptionRow;
00135 typedef void (ConfigDescriptionRow::*ConfigDescriptionAttributeFromBin) (EndianISStream& eiss);
00136 
00143 class ConfigDescriptionRow {
00144 friend class asdm::ConfigDescriptionTable;
00145 
00146 public:
00147 
00148         virtual ~ConfigDescriptionRow();
00149 
00153         ConfigDescriptionTable &getTable() const;
00154         
00159         bool isAdded() const;
00160                 
00162         // Intrinsic Table Attributes //
00164         
00165         
00166         // ===> Attribute numAntenna
00167         
00168         
00169         
00170 
00171         
00176         int getNumAntenna() const;
00177         
00178  
00179         
00180         
00188         void setNumAntenna (int numAntenna);
00189                 
00190         
00191         
00192         
00193 
00194 
00195         
00196         // ===> Attribute numDataDescription
00197         
00198         
00199         
00200 
00201         
00206         int getNumDataDescription() const;
00207         
00208  
00209         
00210         
00218         void setNumDataDescription (int numDataDescription);
00219                 
00220         
00221         
00222         
00223 
00224 
00225         
00226         // ===> Attribute numFeed
00227         
00228         
00229         
00230 
00231         
00236         int getNumFeed() const;
00237         
00238  
00239         
00240         
00248         void setNumFeed (int numFeed);
00249                 
00250         
00251         
00252         
00253 
00254 
00255         
00256         // ===> Attribute correlationMode
00257         
00258         
00259         
00260 
00261         
00266         CorrelationModeMod::CorrelationMode getCorrelationMode() const;
00267         
00268  
00269         
00270         
00278         void setCorrelationMode (CorrelationModeMod::CorrelationMode correlationMode);
00279                 
00280         
00281         
00282         
00283 
00284 
00285         
00286         // ===> Attribute configDescriptionId
00287         
00288         
00289         
00290 
00291         
00296         Tag getConfigDescriptionId() const;
00297         
00298  
00299         
00300         
00301         
00302         
00303 
00304 
00305         
00306         // ===> Attribute numAtmPhaseCorrection
00307         
00308         
00309         
00310 
00311         
00316         int getNumAtmPhaseCorrection() const;
00317         
00318  
00319         
00320         
00328         void setNumAtmPhaseCorrection (int numAtmPhaseCorrection);
00329                 
00330         
00331         
00332         
00333 
00334 
00335         
00336         // ===> Attribute atmPhaseCorrection
00337         
00338         
00339         
00340 
00341         
00346         vector<AtmPhaseCorrectionMod::AtmPhaseCorrection > getAtmPhaseCorrection() const;
00347         
00348  
00349         
00350         
00358         void setAtmPhaseCorrection (vector<AtmPhaseCorrectionMod::AtmPhaseCorrection > atmPhaseCorrection);
00359                 
00360         
00361         
00362         
00363 
00364 
00365         
00366         // ===> Attribute processorType
00367         
00368         
00369         
00370 
00371         
00376         ProcessorTypeMod::ProcessorType getProcessorType() const;
00377         
00378  
00379         
00380         
00388         void setProcessorType (ProcessorTypeMod::ProcessorType processorType);
00389                 
00390         
00391         
00392         
00393 
00394 
00395         
00396         // ===> Attribute phasedArrayList, which is optional
00397         
00398         
00399         
00404         bool isPhasedArrayListExists() const;
00405         
00406 
00407         
00413         vector<int > getPhasedArrayList() const;
00414         
00415  
00416         
00417         
00424         void setPhasedArrayList (vector<int > phasedArrayList);
00425                 
00426         
00427         
00428         
00432         void clearPhasedArrayList ();
00433         
00434 
00435 
00436         
00437         // ===> Attribute spectralType
00438         
00439         
00440         
00441 
00442         
00447         SpectralResolutionTypeMod::SpectralResolutionType getSpectralType() const;
00448         
00449  
00450         
00451         
00459         void setSpectralType (SpectralResolutionTypeMod::SpectralResolutionType spectralType);
00460                 
00461         
00462         
00463         
00464 
00465 
00466         
00467         // ===> Attribute numAssocValues, which is optional
00468         
00469         
00470         
00475         bool isNumAssocValuesExists() const;
00476         
00477 
00478         
00484         int getNumAssocValues() const;
00485         
00486  
00487         
00488         
00495         void setNumAssocValues (int numAssocValues);
00496                 
00497         
00498         
00499         
00503         void clearNumAssocValues ();
00504         
00505 
00506 
00507         
00508         // ===> Attribute assocNature, which is optional
00509         
00510         
00511         
00516         bool isAssocNatureExists() const;
00517         
00518 
00519         
00525         vector<SpectralResolutionTypeMod::SpectralResolutionType > getAssocNature() const;
00526         
00527  
00528         
00529         
00536         void setAssocNature (vector<SpectralResolutionTypeMod::SpectralResolutionType > assocNature);
00537                 
00538         
00539         
00540         
00544         void clearAssocNature ();
00545         
00546 
00547 
00549         // Extrinsic Table Attributes //
00551         
00552         
00553         // ===> Attribute antennaId
00554         
00555         
00556         
00557 
00558         
00563         vector<Tag>  getAntennaId() const;
00564         
00565  
00566         
00567         
00575         void setAntennaId (vector<Tag>  antennaId);
00576                 
00577         
00578         
00579         
00580 
00581 
00582         
00583         // ===> Attribute assocConfigDescriptionId, which is optional
00584         
00585         
00586         
00591         bool isAssocConfigDescriptionIdExists() const;
00592         
00593 
00594         
00600         vector<Tag>  getAssocConfigDescriptionId() const;
00601         
00602  
00603         
00604         
00611         void setAssocConfigDescriptionId (vector<Tag>  assocConfigDescriptionId);
00612                 
00613         
00614         
00615         
00619         void clearAssocConfigDescriptionId ();
00620         
00621 
00622 
00623         
00624         // ===> Attribute dataDescriptionId
00625         
00626         
00627         
00628 
00629         
00634         vector<Tag>  getDataDescriptionId() const;
00635         
00636  
00637         
00638         
00646         void setDataDescriptionId (vector<Tag>  dataDescriptionId);
00647                 
00648         
00649         
00650         
00651 
00652 
00653         
00654         // ===> Attribute feedId
00655         
00656         
00657         
00658 
00659         
00664         vector<int>  getFeedId() const;
00665         
00666  
00667         
00668         
00676         void setFeedId (vector<int>  feedId);
00677                 
00678         
00679         
00680         
00681 
00682 
00683         
00684         // ===> Attribute processorId
00685         
00686         
00687         
00688 
00689         
00694         Tag getProcessorId() const;
00695         
00696  
00697         
00698         
00706         void setProcessorId (Tag processorId);
00707                 
00708         
00709         
00710         
00711 
00712 
00713         
00714         // ===> Attribute switchCycleId
00715         
00716         
00717         
00718 
00719         
00724         vector<Tag>  getSwitchCycleId() const;
00725         
00726  
00727         
00728         
00736         void setSwitchCycleId (vector<Tag>  switchCycleId);
00737                 
00738         
00739         
00740         
00741 
00742 
00744         // Links //
00746         
00747         
00748                 
00755         void setAssocConfigDescriptionId (int i, Tag assocConfigDescriptionId)  ;
00756                         
00757         
00758 
00759         
00760                  
00765  void addAssocConfigDescriptionId(Tag id); 
00766 
00771  void addAssocConfigDescriptionId(const vector<Tag> & id); 
00772  
00773 
00779  const Tag getAssocConfigDescriptionId(int i);
00780  
00788  ConfigDescriptionRow* getConfigDescriptionUsingAssocConfigDescriptionId(int i); 
00789  
00794  vector<ConfigDescriptionRow *> getConfigDescriptionsUsingAssocConfigDescriptionId(); 
00795   
00796 
00797         
00798 
00799         
00800                 
00808         void setAntennaId (int i, Tag antennaId); 
00809                         
00810         
00811 
00812         
00813                  
00818  void addAntennaId(Tag id); 
00819 
00824  void addAntennaId(const vector<Tag> & id); 
00825  
00826 
00832  const Tag getAntennaId(int i);
00833  
00841  AntennaRow* getAntennaUsingAntennaId(int i); 
00842  
00847  vector<AntennaRow *> getAntennasUsingAntennaId(); 
00848   
00849 
00850         
00851 
00852         
00853                 
00861         void setFeedId (int i, int feedId); 
00862                         
00863         
00864 
00865         
00866                 
00867 
00868         // ===> Slices link from a row of ConfigDescription table to a collection of row of Feed table. 
00869 
00874         void addFeedId(int id); 
00875         
00880         void addFeedId(vector<int> id); 
00881 
00882 
00887         const vector <FeedRow *> getFeeds(int i);
00888 
00889 
00895         const vector <FeedRow *> getFeeds();
00896         
00897 
00898 
00899         
00900 
00901         
00902                 
00910         void setSwitchCycleId (int i, Tag switchCycleId); 
00911                         
00912         
00913 
00914         
00915                  
00920  void addSwitchCycleId(Tag id); 
00921 
00926  void addSwitchCycleId(const vector<Tag> & id); 
00927  
00928 
00934  const Tag getSwitchCycleId(int i);
00935  
00943  SwitchCycleRow* getSwitchCycleUsingSwitchCycleId(int i); 
00944  
00949  vector<SwitchCycleRow *> getSwitchCyclesUsingSwitchCycleId(); 
00950   
00951 
00952         
00953 
00954         
00955                 
00963         void setDataDescriptionId (int i, Tag dataDescriptionId); 
00964                         
00965         
00966 
00967         
00968                  
00973  void addDataDescriptionId(Tag id); 
00974 
00979  void addDataDescriptionId(const vector<Tag> & id); 
00980  
00981 
00987  const Tag getDataDescriptionId(int i);
00988  
00996  DataDescriptionRow* getDataDescriptionUsingDataDescriptionId(int i); 
00997  
01002  vector<DataDescriptionRow *> getDataDescriptionsUsingDataDescriptionId(); 
01003   
01004 
01005         
01006 
01007         
01008 
01009         
01010                 
01017          ProcessorRow* getProcessorUsingProcessorId();
01018          
01019 
01020         
01021 
01022         
01023         
01024         
01056         bool compareNoAutoInc(int numAntenna, int numDataDescription, int numFeed, CorrelationModeMod::CorrelationMode correlationMode, int numAtmPhaseCorrection, vector<AtmPhaseCorrectionMod::AtmPhaseCorrection > atmPhaseCorrection, ProcessorTypeMod::ProcessorType processorType, SpectralResolutionTypeMod::SpectralResolutionType spectralType, vector<Tag>  antennaId, vector<int>  feedId, vector<Tag>  switchCycleId, vector<Tag>  dataDescriptionId, Tag processorId);
01057         
01058         
01059 
01060         
01092         bool compareRequiredValue(int numAntenna, int numDataDescription, int numFeed, CorrelationModeMod::CorrelationMode correlationMode, int numAtmPhaseCorrection, vector<AtmPhaseCorrectionMod::AtmPhaseCorrection > atmPhaseCorrection, ProcessorTypeMod::ProcessorType processorType, SpectralResolutionTypeMod::SpectralResolutionType spectralType, vector<Tag>  antennaId, vector<int>  feedId, vector<Tag>  switchCycleId, vector<Tag>  dataDescriptionId, Tag processorId); 
01093                  
01094         
01103         bool equalByRequiredValue(ConfigDescriptionRow* x) ;
01104         
01105 #ifndef WITHOUT_ACS
01106 
01110         ConfigDescriptionRowIDL *toIDL() const;
01111 #endif
01112         
01113 #ifndef WITHOUT_ACS
01114 
01119         void setFromIDL (ConfigDescriptionRowIDL x) ;
01120 #endif
01121         
01126         string toXML() const;
01127 
01134         void setFromXML (string rowDoc) ;       
01135 
01136 private:
01140         ConfigDescriptionTable &table;
01144         bool hasBeenAdded;
01145 
01146         // This method is used by the Table class when this row is added to the table.
01147         void isAdded(bool added);
01148 
01149 
01158         ConfigDescriptionRow (ConfigDescriptionTable &table);
01159 
01177          ConfigDescriptionRow (ConfigDescriptionTable &table, ConfigDescriptionRow &row);
01178                 
01180         // Intrinsic Table Attributes //
01182         
01183         
01184         // ===> Attribute numAntenna
01185         
01186         
01187 
01188         int numAntenna;
01189 
01190         
01191         
01192         
01193 
01194         
01195         // ===> Attribute numDataDescription
01196         
01197         
01198 
01199         int numDataDescription;
01200 
01201         
01202         
01203         
01204 
01205         
01206         // ===> Attribute numFeed
01207         
01208         
01209 
01210         int numFeed;
01211 
01212         
01213         
01214         
01215 
01216         
01217         // ===> Attribute correlationMode
01218         
01219         
01220 
01221         CorrelationModeMod::CorrelationMode correlationMode;
01222 
01223         
01224         
01225         
01226 
01227         
01228         // ===> Attribute configDescriptionId
01229         
01230         
01231 
01232         Tag configDescriptionId;
01233 
01234         
01235         
01236         
01246         void setConfigDescriptionId (Tag configDescriptionId);
01247                 
01248         
01249 
01250         
01251         // ===> Attribute numAtmPhaseCorrection
01252         
01253         
01254 
01255         int numAtmPhaseCorrection;
01256 
01257         
01258         
01259         
01260 
01261         
01262         // ===> Attribute atmPhaseCorrection
01263         
01264         
01265 
01266         vector<AtmPhaseCorrectionMod::AtmPhaseCorrection > atmPhaseCorrection;
01267 
01268         
01269         
01270         
01271 
01272         
01273         // ===> Attribute processorType
01274         
01275         
01276 
01277         ProcessorTypeMod::ProcessorType processorType;
01278 
01279         
01280         
01281         
01282 
01283         
01284         // ===> Attribute phasedArrayList, which is optional
01285         
01286         
01287         bool phasedArrayListExists;
01288         
01289 
01290         vector<int > phasedArrayList;
01291 
01292         
01293         
01294         
01295 
01296         
01297         // ===> Attribute spectralType
01298         
01299         
01300 
01301         SpectralResolutionTypeMod::SpectralResolutionType spectralType;
01302 
01303         
01304         
01305         
01306 
01307         
01308         // ===> Attribute numAssocValues, which is optional
01309         
01310         
01311         bool numAssocValuesExists;
01312         
01313 
01314         int numAssocValues;
01315 
01316         
01317         
01318         
01319 
01320         
01321         // ===> Attribute assocNature, which is optional
01322         
01323         
01324         bool assocNatureExists;
01325         
01326 
01327         vector<SpectralResolutionTypeMod::SpectralResolutionType > assocNature;
01328 
01329         
01330         
01331         
01332 
01334         // Extrinsic Table Attributes //
01336         
01337         
01338         // ===> Attribute antennaId
01339         
01340         
01341 
01342         vector<Tag>  antennaId;
01343 
01344         
01345         
01346         
01347 
01348         
01349         // ===> Attribute assocConfigDescriptionId, which is optional
01350         
01351         
01352         bool assocConfigDescriptionIdExists;
01353         
01354 
01355         vector<Tag>  assocConfigDescriptionId;
01356 
01357         
01358         
01359         
01360 
01361         
01362         // ===> Attribute dataDescriptionId
01363         
01364         
01365 
01366         vector<Tag>  dataDescriptionId;
01367 
01368         
01369         
01370         
01371 
01372         
01373         // ===> Attribute feedId
01374         
01375         
01376 
01377         vector<int>  feedId;
01378 
01379         
01380         
01381         
01382 
01383         
01384         // ===> Attribute processorId
01385         
01386         
01387 
01388         Tag processorId;
01389 
01390         
01391         
01392         
01393 
01394         
01395         // ===> Attribute switchCycleId
01396         
01397         
01398 
01399         vector<Tag>  switchCycleId;
01400 
01401         
01402         
01403         
01404 
01406         // Links //
01408         
01409         
01410                 
01411 
01412 
01413         
01414 
01415         
01416                 
01417 
01418 
01419         
01420 
01421         
01422                 
01423         
01424 
01425         
01426 
01427         
01428                 
01429 
01430 
01431         
01432 
01433         
01434                 
01435 
01436 
01437         
01438 
01439         
01440                 
01441 
01442          
01443 
01444         
01445 
01446         
01448         // binary-deserialization material//
01450         map<string, ConfigDescriptionAttributeFromBin> fromBinMethods;
01451 void configDescriptionIdFromBin( EndianISStream& eiss);
01452 void numAntennaFromBin( EndianISStream& eiss);
01453 void numDataDescriptionFromBin( EndianISStream& eiss);
01454 void numFeedFromBin( EndianISStream& eiss);
01455 void correlationModeFromBin( EndianISStream& eiss);
01456 void numAtmPhaseCorrectionFromBin( EndianISStream& eiss);
01457 void atmPhaseCorrectionFromBin( EndianISStream& eiss);
01458 void processorTypeFromBin( EndianISStream& eiss);
01459 void spectralTypeFromBin( EndianISStream& eiss);
01460 void antennaIdFromBin( EndianISStream& eiss);
01461 void feedIdFromBin( EndianISStream& eiss);
01462 void switchCycleIdFromBin( EndianISStream& eiss);
01463 void dataDescriptionIdFromBin( EndianISStream& eiss);
01464 void processorIdFromBin( EndianISStream& eiss);
01465 
01466 void phasedArrayListFromBin( EndianISStream& eiss);
01467 void numAssocValuesFromBin( EndianISStream& eiss);
01468 void assocNatureFromBin( EndianISStream& eiss);
01469 void assocConfigDescriptionIdFromBin( EndianISStream& eiss);
01470         
01471         
01476          void toBin(EndianOSStream& eoss);
01477                  
01485          static ConfigDescriptionRow* fromBin(EndianISStream& eiss, ConfigDescriptionTable& table, const vector<string>& attributesSeq);         
01486 
01487 };
01488 
01489 } // End namespace asdm
01490 
01491 #endif /* ConfigDescription_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines