FeedRow.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 FeedRow.h
00032  */
00033  
00034 #ifndef FeedRow_CLASS
00035 #define FeedRow_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::FeedRowIDL;
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 #include "CPolarizationType.h"
00096 using namespace PolarizationTypeMod;
00097         
00098 
00099         
00100 
00101         
00102 
00103         
00104 
00105         
00106 
00107         
00108 
00109 
00110 
00111 using asdm::Angle;
00112 using asdm::AngularRate;
00113 using asdm::ArrayTime;
00114 using asdm::Complex;
00115 using asdm::Entity;
00116 using asdm::EntityId;
00117 using asdm::EntityRef;
00118 using asdm::Flux;
00119 using asdm::Frequency;
00120 using asdm::Humidity;
00121 using asdm::Interval;
00122 using asdm::Length;
00123 using asdm::Pressure;
00124 using asdm::Speed;
00125 using asdm::Tag;
00126 using asdm::Temperature;
00127 using asdm::ConversionException;
00128 using asdm::NoSuchRow;
00129 using asdm::IllegalAccessException;
00130 
00131 /*\file Feed.h
00132     \brief Generated from model's revision "1.41", branch "HEAD"
00133 */
00134 
00135 namespace asdm {
00136 
00137 //class asdm::FeedTable;
00138 
00139 
00140 // class asdm::AntennaRow;
00141 class AntennaRow;
00142 
00143 // class asdm::SpectralWindowRow;
00144 class SpectralWindowRow;
00145 
00146 // class asdm::ReceiverRow;
00147 class ReceiverRow;
00148 
00149 // class asdm::BeamRow;
00150 class BeamRow;
00151         
00152 
00159 class FeedRow {
00160 friend class asdm::FeedTable;
00161 
00162 public:
00163 
00164         virtual ~FeedRow();
00165 
00169         FeedTable &getTable() const;
00170         
00171 #ifndef WITHOUT_ACS
00172 
00176         FeedRowIDL *toIDL() const;
00177 #endif
00178         
00179 #ifndef WITHOUT_ACS
00180 
00184         void setFromIDL (FeedRowIDL x) throw(ConversionException);
00185 #endif
00186         
00191         string toXML() const;
00192 
00198         void setFromXML (string rowDoc) throw(ConversionException);
00199         
00201         // Intrinsic Table Attributes //
00203         
00204         
00205         // ===> Attribute feedId
00206         
00207         
00208         
00209 
00210         
00215         int getFeedId() const;
00216         
00217  
00218         
00219         
00220         
00221         
00222 
00223 
00224         
00225         // ===> Attribute timeInterval
00226         
00227         
00228         
00229 
00230         
00235         ArrayTimeInterval getTimeInterval() const;
00236         
00237  
00238         
00239         
00246         void setTimeInterval (ArrayTimeInterval timeInterval) throw(IllegalAccessException);
00247                 
00248         
00249         
00250         
00251 
00252 
00253         
00254         // ===> Attribute numReceptor
00255         
00256         
00257         
00258 
00259         
00264         int getNumReceptor() const;
00265         
00266  
00267         
00268         
00274         void setNumReceptor (int numReceptor);
00275                 
00276         
00277         
00278         
00279 
00280 
00281         
00282         // ===> Attribute feedNum, which is optional
00283         
00284         
00285         
00290         bool isFeedNumExists() const;
00291         
00292 
00293         
00299         int getFeedNum() const throw(IllegalAccessException);
00300         
00301  
00302         
00303         
00309         void setFeedNum (int feedNum);
00310                 
00311         
00312         
00313         
00317         void clearFeedNum ();
00318         
00319 
00320 
00321         
00322         // ===> Attribute beamOffset
00323         
00324         
00325         
00326 
00327         
00332         vector<vector<double > > getBeamOffset() const;
00333         
00334  
00335         
00336         
00342         void setBeamOffset (vector<vector<double > > beamOffset);
00343                 
00344         
00345         
00346         
00347 
00348 
00349         
00350         // ===> Attribute focusReference
00351         
00352         
00353         
00354 
00355         
00360         vector<vector<Length > > getFocusReference() const;
00361         
00362  
00363         
00364         
00370         void setFocusReference (vector<vector<Length > > focusReference);
00371                 
00372         
00373         
00374         
00375 
00376 
00377         
00378         // ===> Attribute illumOffset, which is optional
00379         
00380         
00381         
00386         bool isIllumOffsetExists() const;
00387         
00388 
00389         
00395         float getIllumOffset() const throw(IllegalAccessException);
00396         
00397  
00398         
00399         
00405         void setIllumOffset (float illumOffset);
00406                 
00407         
00408         
00409         
00413         void clearIllumOffset ();
00414         
00415 
00416 
00417         
00418         // ===> Attribute illumOffsetPa, which is optional
00419         
00420         
00421         
00426         bool isIllumOffsetPaExists() const;
00427         
00428 
00429         
00435         float getIllumOffsetPa() const throw(IllegalAccessException);
00436         
00437  
00438         
00439         
00445         void setIllumOffsetPa (float illumOffsetPa);
00446                 
00447         
00448         
00449         
00453         void clearIllumOffsetPa ();
00454         
00455 
00456 
00457         
00458         // ===> Attribute polarizationTypes
00459         
00460         
00461         
00462 
00463         
00468         vector<PolarizationType > getPolarizationTypes() const;
00469         
00470  
00471         
00472         
00478         void setPolarizationTypes (vector<PolarizationType > polarizationTypes);
00479                 
00480         
00481         
00482         
00483 
00484 
00485         
00486         // ===> Attribute polResponse
00487         
00488         
00489         
00490 
00491         
00496         vector<vector<Complex > > getPolResponse() const;
00497         
00498  
00499         
00500         
00506         void setPolResponse (vector<vector<Complex > > polResponse);
00507                 
00508         
00509         
00510         
00511 
00512 
00513         
00514         // ===> Attribute xPosition, which is optional
00515         
00516         
00517         
00522         bool isXPositionExists() const;
00523         
00524 
00525         
00531         Length getXPosition() const throw(IllegalAccessException);
00532         
00533  
00534         
00535         
00541         void setXPosition (Length xPosition);
00542                 
00543         
00544         
00545         
00549         void clearXPosition ();
00550         
00551 
00552 
00553         
00554         // ===> Attribute yPosition, which is optional
00555         
00556         
00557         
00562         bool isYPositionExists() const;
00563         
00564 
00565         
00571         Length getYPosition() const throw(IllegalAccessException);
00572         
00573  
00574         
00575         
00581         void setYPosition (Length yPosition);
00582                 
00583         
00584         
00585         
00589         void clearYPosition ();
00590         
00591 
00592 
00593         
00594         // ===> Attribute zPosition, which is optional
00595         
00596         
00597         
00602         bool isZPositionExists() const;
00603         
00604 
00605         
00611         Length getZPosition() const throw(IllegalAccessException);
00612         
00613  
00614         
00615         
00621         void setZPosition (Length zPosition);
00622                 
00623         
00624         
00625         
00629         void clearZPosition ();
00630         
00631 
00632 
00633         
00634         // ===> Attribute receptorAngle
00635         
00636         
00637         
00638 
00639         
00644         vector<Angle > getReceptorAngle() const;
00645         
00646  
00647         
00648         
00654         void setReceptorAngle (vector<Angle > receptorAngle);
00655                 
00656         
00657         
00658         
00659 
00660 
00662         // Extrinsic Table Attributes //
00664         
00665         
00666         // ===> Attribute antennaId
00667         
00668         
00669         
00670 
00671         
00676         Tag getAntennaId() const;
00677         
00678  
00679         
00680         
00687         void setAntennaId (Tag antennaId) throw(IllegalAccessException);
00688                 
00689         
00690         
00691         
00692 
00693 
00694         
00695         // ===> Attribute beamId, which is optional
00696         
00697         
00698         
00703         bool isBeamIdExists() const;
00704         
00705 
00706         
00712         vector<Tag>  getBeamId() const throw(IllegalAccessException);
00713         
00714  
00715         
00716         
00722         void setBeamId (vector<Tag>  beamId);
00723                 
00724         
00725         
00726         
00730         void clearBeamId ();
00731         
00732 
00733 
00734         
00735         // ===> Attribute receiverId
00736         
00737         
00738         
00739 
00740         
00745         vector<int>  getReceiverId() const;
00746         
00747  
00748         
00749         
00755         void setReceiverId (vector<int>  receiverId);
00756                 
00757         
00758         
00759         
00760 
00761 
00762         
00763         // ===> Attribute spectralWindowId
00764         
00765         
00766         
00767 
00768         
00773         Tag getSpectralWindowId() const;
00774         
00775  
00776         
00777         
00784         void setSpectralWindowId (Tag spectralWindowId) throw(IllegalAccessException);
00785                 
00786         
00787         
00788         
00789 
00790 
00792         // Links //
00794         
00795         
00796 
00797         
00798                 
00805          AntennaRow* getAntennaUsingAntennaId();
00806          
00807 
00808         
00809 
00810         
00811 
00812         
00813                 
00820          SpectralWindowRow* getSpectralWindowUsingSpectralWindowId();
00821          
00822 
00823         
00824 
00825         
00826                 
00833         void setReceiverId (int i, int receiverId) throw(OutOfBoundsException) ;
00834                         
00835         
00836 
00837         
00838                 
00839 
00840         // ===> Slices link from a row of Feed table to a collection of row of Receiver table.  
00841 
00846         void addReceiverId(int id); 
00847         
00852         void addReceiverId(vector<int> id); 
00853 
00854 
00859         const vector <ReceiverRow *> getReceivers(int i);
00860 
00861 
00867         const vector <ReceiverRow *> getReceivers();
00868         
00869 
00870 
00871         
00872 
00873         
00874                 
00882         void setBeamId (int i, Tag beamId) throw(IllegalAccessException, OutOfBoundsException); 
00883                         
00884         
00885 
00886         
00887                  
00892  void addBeamId(Tag id); 
00893 
00898  void addBeamId(const vector<Tag> & id); 
00899  
00900 
00906  const Tag getBeamId(int i);
00907  
00915  BeamRow* getBeam(int i); 
00916  
00921  vector<BeamRow *> getBeams(); 
00922   
00923 
00924         
00925 
00926         
00927         
00928         
00933         bool compareNoAutoInc(Tag antennaId, Tag spectralWindowId, ArrayTimeInterval timeInterval, vector<int>  receiverId, int numReceptor, vector<vector<double > > beamOffset, vector<vector<Length > > focusReference, vector<PolarizationType > polarizationTypes, vector<vector<Complex > > polResponse, vector<Angle > receptorAngle);
00934         
00935         
00936 
00937         
00938         bool compareRequiredValue(vector<int>  receiverId, int numReceptor, vector<vector<double > > beamOffset, vector<vector<Length > > focusReference, vector<PolarizationType > polarizationTypes, vector<vector<Complex > > polResponse, vector<Angle > receptorAngle); 
00939                  
00940         
00949         bool equalByRequiredValue(FeedRow* x) ;
00950 
00951 private:
00955         FeedTable &table;
00959         bool hasBeenAdded;
00960 
00961         // This method is used by the Table class when this row is added to the table.
00962         void isAdded();
00963 
00964 
00973         FeedRow (FeedTable &table);
00974 
00992          FeedRow (FeedTable &table, FeedRow &row);
00993                 
00995         // Intrinsic Table Attributes //
00997         
00998         
00999         // ===> Attribute feedId
01000         
01001         
01002 
01003         int feedId;
01004 
01005         
01006         
01007         
01014         void setFeedId (int feedId) throw(IllegalAccessException);
01015                 
01016         
01017 
01018         
01019         // ===> Attribute timeInterval
01020         
01021         
01022 
01023         ArrayTimeInterval timeInterval;
01024 
01025         
01026         
01027         
01028 
01029         
01030         // ===> Attribute numReceptor
01031         
01032         
01033 
01034         int numReceptor;
01035 
01036         
01037         
01038         
01039 
01040         
01041         // ===> Attribute feedNum, which is optional
01042         
01043         
01044         bool feedNumExists;
01045         
01046 
01047         int feedNum;
01048 
01049         
01050         
01051         
01052 
01053         
01054         // ===> Attribute beamOffset
01055         
01056         
01057 
01058         vector<vector<double > > beamOffset;
01059 
01060         
01061         
01062         
01063 
01064         
01065         // ===> Attribute focusReference
01066         
01067         
01068 
01069         vector<vector<Length > > focusReference;
01070 
01071         
01072         
01073         
01074 
01075         
01076         // ===> Attribute illumOffset, which is optional
01077         
01078         
01079         bool illumOffsetExists;
01080         
01081 
01082         float illumOffset;
01083 
01084         
01085         
01086         
01087 
01088         
01089         // ===> Attribute illumOffsetPa, which is optional
01090         
01091         
01092         bool illumOffsetPaExists;
01093         
01094 
01095         float illumOffsetPa;
01096 
01097         
01098         
01099         
01100 
01101         
01102         // ===> Attribute polarizationTypes
01103         
01104         
01105 
01106         vector<PolarizationType > polarizationTypes;
01107 
01108         
01109         
01110         
01111 
01112         
01113         // ===> Attribute polResponse
01114         
01115         
01116 
01117         vector<vector<Complex > > polResponse;
01118 
01119         
01120         
01121         
01122 
01123         
01124         // ===> Attribute xPosition, which is optional
01125         
01126         
01127         bool xPositionExists;
01128         
01129 
01130         Length xPosition;
01131 
01132         
01133         
01134         
01135 
01136         
01137         // ===> Attribute yPosition, which is optional
01138         
01139         
01140         bool yPositionExists;
01141         
01142 
01143         Length yPosition;
01144 
01145         
01146         
01147         
01148 
01149         
01150         // ===> Attribute zPosition, which is optional
01151         
01152         
01153         bool zPositionExists;
01154         
01155 
01156         Length zPosition;
01157 
01158         
01159         
01160         
01161 
01162         
01163         // ===> Attribute receptorAngle
01164         
01165         
01166 
01167         vector<Angle > receptorAngle;
01168 
01169         
01170         
01171         
01172 
01174         // Extrinsic Table Attributes //
01176         
01177         
01178         // ===> Attribute antennaId
01179         
01180         
01181 
01182         Tag antennaId;
01183 
01184         
01185         
01186         
01187 
01188         
01189         // ===> Attribute beamId, which is optional
01190         
01191         
01192         bool beamIdExists;
01193         
01194 
01195         vector<Tag>  beamId;
01196 
01197         
01198         
01199         
01200 
01201         
01202         // ===> Attribute receiverId
01203         
01204         
01205 
01206         vector<int>  receiverId;
01207 
01208         
01209         
01210         
01211 
01212         
01213         // ===> Attribute spectralWindowId
01214         
01215         
01216 
01217         Tag spectralWindowId;
01218 
01219         
01220         
01221         
01222 
01224         // Links //
01226         
01227         
01228                 
01229 
01230          
01231 
01232         
01233 
01234         
01235                 
01236 
01237          
01238 
01239         
01240 
01241         
01242                 
01243         
01244 
01245         
01246 
01247         
01248                 
01249 
01250 
01251         
01252 
01253 
01254 };
01255 
01256 } // End namespace asdm
01257 
01258 #endif /* Feed_CLASS */

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