FocusRow.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 FocusRow.h
00032  */
00033  
00034 #ifndef FocusRow_CLASS
00035 #define FocusRow_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::FocusRowIDL;
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 
00096 using asdm::Angle;
00097 using asdm::AngularRate;
00098 using asdm::ArrayTime;
00099 using asdm::Complex;
00100 using asdm::Entity;
00101 using asdm::EntityId;
00102 using asdm::EntityRef;
00103 using asdm::Flux;
00104 using asdm::Frequency;
00105 using asdm::Humidity;
00106 using asdm::Interval;
00107 using asdm::Length;
00108 using asdm::Pressure;
00109 using asdm::Speed;
00110 using asdm::Tag;
00111 using asdm::Temperature;
00112 using asdm::ConversionException;
00113 using asdm::NoSuchRow;
00114 using asdm::IllegalAccessException;
00115 
00116 /*\file Focus.h
00117     \brief Generated from model's revision "1.41", branch "HEAD"
00118 */
00119 
00120 namespace asdm {
00121 
00122 //class asdm::FocusTable;
00123 
00124 
00125 // class asdm::FocusModelRow;
00126 class FocusModelRow;
00127 
00128 // class asdm::FeedRow;
00129 class FeedRow;
00130 
00131 // class asdm::AntennaRow;
00132 class AntennaRow;
00133         
00134 
00141 class FocusRow {
00142 friend class asdm::FocusTable;
00143 
00144 public:
00145 
00146         virtual ~FocusRow();
00147 
00151         FocusTable &getTable() const;
00152         
00153 #ifndef WITHOUT_ACS
00154 
00158         FocusRowIDL *toIDL() const;
00159 #endif
00160         
00161 #ifndef WITHOUT_ACS
00162 
00166         void setFromIDL (FocusRowIDL x) throw(ConversionException);
00167 #endif
00168         
00173         string toXML() const;
00174 
00180         void setFromXML (string rowDoc) throw(ConversionException);
00181         
00183         // Intrinsic Table Attributes //
00185         
00186         
00187         // ===> Attribute timeInterval
00188         
00189         
00190         
00191 
00192         
00197         ArrayTimeInterval getTimeInterval() const;
00198         
00199  
00200         
00201         
00208         void setTimeInterval (ArrayTimeInterval timeInterval) throw(IllegalAccessException);
00209                 
00210         
00211         
00212         
00213 
00214 
00215         
00216         // ===> Attribute xFocusPosition
00217         
00218         
00219         
00220 
00221         
00226         Length getXFocusPosition() const;
00227         
00228  
00229         
00230         
00236         void setXFocusPosition (Length xFocusPosition);
00237                 
00238         
00239         
00240         
00241 
00242 
00243         
00244         // ===> Attribute yFocusPosition
00245         
00246         
00247         
00248 
00249         
00254         Length getYFocusPosition() const;
00255         
00256  
00257         
00258         
00264         void setYFocusPosition (Length yFocusPosition);
00265                 
00266         
00267         
00268         
00269 
00270 
00271         
00272         // ===> Attribute zFocusPosition
00273         
00274         
00275         
00276 
00277         
00282         Length getZFocusPosition() const;
00283         
00284  
00285         
00286         
00292         void setZFocusPosition (Length zFocusPosition);
00293                 
00294         
00295         
00296         
00297 
00298 
00299         
00300         // ===> Attribute focusTracking
00301         
00302         
00303         
00304 
00305         
00310         bool getFocusTracking() const;
00311         
00312  
00313         
00314         
00320         void setFocusTracking (bool focusTracking);
00321                 
00322         
00323         
00324         
00325 
00326 
00327         
00328         // ===> Attribute xFocusOffset
00329         
00330         
00331         
00332 
00333         
00338         Length getXFocusOffset() const;
00339         
00340  
00341         
00342         
00348         void setXFocusOffset (Length xFocusOffset);
00349                 
00350         
00351         
00352         
00353 
00354 
00355         
00356         // ===> Attribute yFocusOffset
00357         
00358         
00359         
00360 
00361         
00366         Length getYFocusOffset() const;
00367         
00368  
00369         
00370         
00376         void setYFocusOffset (Length yFocusOffset);
00377                 
00378         
00379         
00380         
00381 
00382 
00383         
00384         // ===> Attribute zFocusOffset
00385         
00386         
00387         
00388 
00389         
00394         Length getZFocusOffset() const;
00395         
00396  
00397         
00398         
00404         void setZFocusOffset (Length zFocusOffset);
00405                 
00406         
00407         
00408         
00409 
00410 
00412         // Extrinsic Table Attributes //
00414         
00415         
00416         // ===> Attribute antennaId
00417         
00418         
00419         
00420 
00421         
00426         Tag getAntennaId() const;
00427         
00428  
00429         
00430         
00437         void setAntennaId (Tag antennaId) throw(IllegalAccessException);
00438                 
00439         
00440         
00441         
00442 
00443 
00444         
00445         // ===> Attribute feedId
00446         
00447         
00448         
00449 
00450         
00455         int getFeedId() const;
00456         
00457  
00458         
00459         
00466         void setFeedId (int feedId) throw(IllegalAccessException);
00467                 
00468         
00469         
00470         
00471 
00472 
00473         
00474         // ===> Attribute focusModelId
00475         
00476         
00477         
00478 
00479         
00484         Tag getFocusModelId() const;
00485         
00486  
00487         
00488         
00494         void setFocusModelId (Tag focusModelId);
00495                 
00496         
00497         
00498         
00499 
00500 
00502         // Links //
00504         
00505         
00506 
00507         
00508                 
00515          FocusModelRow* getFocusModelUsingFocusModelId();
00516          
00517 
00518         
00519 
00520         
00521 
00522         
00523                 
00524         // ===> Slice link from a row of Focus table to a collection of row of Feed table.
00525         
00531         vector <FeedRow *> getFeeds();
00532         
00533         
00534 
00535         
00536 
00537         
00538 
00539         
00540                 
00547          AntennaRow* getAntennaUsingAntennaId();
00548          
00549 
00550         
00551 
00552         
00553         
00554         
00559         bool compareNoAutoInc(Tag antennaId, int feedId, ArrayTimeInterval timeInterval, Tag focusModelId, Length xFocusPosition, Length yFocusPosition, Length zFocusPosition, bool focusTracking, Length xFocusOffset, Length yFocusOffset, Length zFocusOffset);
00560         
00561         
00562 
00563         
00564         bool compareRequiredValue(Tag focusModelId, Length xFocusPosition, Length yFocusPosition, Length zFocusPosition, bool focusTracking, Length xFocusOffset, Length yFocusOffset, Length zFocusOffset); 
00565                  
00566         
00575         bool equalByRequiredValue(FocusRow* x) ;
00576 
00577 private:
00581         FocusTable &table;
00585         bool hasBeenAdded;
00586 
00587         // This method is used by the Table class when this row is added to the table.
00588         void isAdded();
00589 
00590 
00599         FocusRow (FocusTable &table);
00600 
00618          FocusRow (FocusTable &table, FocusRow &row);
00619                 
00621         // Intrinsic Table Attributes //
00623         
00624         
00625         // ===> Attribute timeInterval
00626         
00627         
00628 
00629         ArrayTimeInterval timeInterval;
00630 
00631         
00632         
00633         
00634 
00635         
00636         // ===> Attribute xFocusPosition
00637         
00638         
00639 
00640         Length xFocusPosition;
00641 
00642         
00643         
00644         
00645 
00646         
00647         // ===> Attribute yFocusPosition
00648         
00649         
00650 
00651         Length yFocusPosition;
00652 
00653         
00654         
00655         
00656 
00657         
00658         // ===> Attribute zFocusPosition
00659         
00660         
00661 
00662         Length zFocusPosition;
00663 
00664         
00665         
00666         
00667 
00668         
00669         // ===> Attribute focusTracking
00670         
00671         
00672 
00673         bool focusTracking;
00674 
00675         
00676         
00677         
00678 
00679         
00680         // ===> Attribute xFocusOffset
00681         
00682         
00683 
00684         Length xFocusOffset;
00685 
00686         
00687         
00688         
00689 
00690         
00691         // ===> Attribute yFocusOffset
00692         
00693         
00694 
00695         Length yFocusOffset;
00696 
00697         
00698         
00699         
00700 
00701         
00702         // ===> Attribute zFocusOffset
00703         
00704         
00705 
00706         Length zFocusOffset;
00707 
00708         
00709         
00710         
00711 
00713         // Extrinsic Table Attributes //
00715         
00716         
00717         // ===> Attribute antennaId
00718         
00719         
00720 
00721         Tag antennaId;
00722 
00723         
00724         
00725         
00726 
00727         
00728         // ===> Attribute feedId
00729         
00730         
00731 
00732         int feedId;
00733 
00734         
00735         
00736         
00737 
00738         
00739         // ===> Attribute focusModelId
00740         
00741         
00742 
00743         Tag focusModelId;
00744 
00745         
00746         
00747         
00748 
00750         // Links //
00752         
00753         
00754                 
00755 
00756          
00757 
00758         
00759 
00760         
00761                 
00762 
00763 
00764         
00765 
00766         
00767                 
00768 
00769          
00770 
00771         
00772 
00773 
00774 };
00775 
00776 } // End namespace asdm
00777 
00778 #endif /* Focus_CLASS */

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