FreqOffsetRow.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 FreqOffsetRow.h
00032  */
00033  
00034 #ifndef FreqOffsetRow_CLASS
00035 #define FreqOffsetRow_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::FreqOffsetRowIDL;
00047 #endif
00048 
00049 
00050 
00051 
00052 
00053 
00054 #include <Tag.h>
00055 using  asdm::Tag;
00056 
00057 #include <Frequency.h>
00058 using  asdm::Frequency;
00059 
00060 #include <ArrayTimeInterval.h>
00061 using  asdm::ArrayTimeInterval;
00062 
00063 
00064 
00065 
00066         
00067 
00068         
00069 
00070 
00071 
00072 #include <ConversionException.h>
00073 #include <NoSuchRow.h>
00074 #include <IllegalAccessException.h>
00075 
00076 
00077 /*\file FreqOffset.h
00078     \brief Generated from model's revision "1.55", branch "HEAD"
00079 */
00080 
00081 namespace asdm {
00082 
00083 //class asdm::FreqOffsetTable;
00084 
00085 
00086 // class asdm::AntennaRow;
00087 class AntennaRow;
00088 
00089 // class asdm::SpectralWindowRow;
00090 class SpectralWindowRow;
00091 
00092 // class asdm::FeedRow;
00093 class FeedRow;
00094         
00095 
00096 class FreqOffsetRow;
00097 typedef void (FreqOffsetRow::*FreqOffsetAttributeFromBin) (EndianISStream& eiss);
00098 
00105 class FreqOffsetRow {
00106 friend class asdm::FreqOffsetTable;
00107 
00108 public:
00109 
00110         virtual ~FreqOffsetRow();
00111 
00115         FreqOffsetTable &getTable() const;
00116         
00121         bool isAdded() const;
00122                 
00124         // Intrinsic Table Attributes //
00126         
00127         
00128         // ===> Attribute timeInterval
00129         
00130         
00131         
00132 
00133         
00138         ArrayTimeInterval getTimeInterval() const;
00139         
00140  
00141         
00142         
00152         void setTimeInterval (ArrayTimeInterval timeInterval);
00153                 
00154         
00155         
00156         
00157 
00158 
00159         
00160         // ===> Attribute offset
00161         
00162         
00163         
00164 
00165         
00170         Frequency getOffset() const;
00171         
00172  
00173         
00174         
00182         void setOffset (Frequency offset);
00183                 
00184         
00185         
00186         
00187 
00188 
00190         // Extrinsic Table Attributes //
00192         
00193         
00194         // ===> Attribute antennaId
00195         
00196         
00197         
00198 
00199         
00204         Tag getAntennaId() const;
00205         
00206  
00207         
00208         
00218         void setAntennaId (Tag antennaId);
00219                 
00220         
00221         
00222         
00223 
00224 
00225         
00226         // ===> Attribute feedId
00227         
00228         
00229         
00230 
00231         
00236         int getFeedId() const;
00237         
00238  
00239         
00240         
00250         void setFeedId (int feedId);
00251                 
00252         
00253         
00254         
00255 
00256 
00257         
00258         // ===> Attribute spectralWindowId
00259         
00260         
00261         
00262 
00263         
00268         Tag getSpectralWindowId() const;
00269         
00270  
00271         
00272         
00282         void setSpectralWindowId (Tag spectralWindowId);
00283                 
00284         
00285         
00286         
00287 
00288 
00290         // Links //
00292         
00293         
00294 
00295         
00296                 
00303          AntennaRow* getAntennaUsingAntennaId();
00304          
00305 
00306         
00307 
00308         
00309 
00310         
00311                 
00318          SpectralWindowRow* getSpectralWindowUsingSpectralWindowId();
00319          
00320 
00321         
00322 
00323         
00324 
00325         
00326                 
00327         // ===> Slice link from a row of FreqOffset table to a collection of row of Feed table.
00328         
00334         vector <FeedRow *> getFeeds();
00335         
00336         
00337 
00338         
00339 
00340         
00341         
00342         
00358         bool compareNoAutoInc(Tag antennaId, Tag spectralWindowId, ArrayTimeInterval timeInterval, int feedId, Frequency offset);
00359         
00360         
00361 
00362         
00370         bool compareRequiredValue(Frequency offset); 
00371                  
00372         
00381         bool equalByRequiredValue(FreqOffsetRow* x) ;
00382         
00383 #ifndef WITHOUT_ACS
00384 
00388         FreqOffsetRowIDL *toIDL() const;
00389 #endif
00390         
00391 #ifndef WITHOUT_ACS
00392 
00397         void setFromIDL (FreqOffsetRowIDL x) ;
00398 #endif
00399         
00404         string toXML() const;
00405 
00412         void setFromXML (string rowDoc) ;       
00413 
00414 private:
00418         FreqOffsetTable &table;
00422         bool hasBeenAdded;
00423 
00424         // This method is used by the Table class when this row is added to the table.
00425         void isAdded(bool added);
00426 
00427 
00436         FreqOffsetRow (FreqOffsetTable &table);
00437 
00455          FreqOffsetRow (FreqOffsetTable &table, FreqOffsetRow &row);
00456                 
00458         // Intrinsic Table Attributes //
00460         
00461         
00462         // ===> Attribute timeInterval
00463         
00464         
00465 
00466         ArrayTimeInterval timeInterval;
00467 
00468         
00469         
00470         
00471 
00472         
00473         // ===> Attribute offset
00474         
00475         
00476 
00477         Frequency offset;
00478 
00479         
00480         
00481         
00482 
00484         // Extrinsic Table Attributes //
00486         
00487         
00488         // ===> Attribute antennaId
00489         
00490         
00491 
00492         Tag antennaId;
00493 
00494         
00495         
00496         
00497 
00498         
00499         // ===> Attribute feedId
00500         
00501         
00502 
00503         int feedId;
00504 
00505         
00506         
00507         
00508 
00509         
00510         // ===> Attribute spectralWindowId
00511         
00512         
00513 
00514         Tag spectralWindowId;
00515 
00516         
00517         
00518         
00519 
00521         // Links //
00523         
00524         
00525                 
00526 
00527          
00528 
00529         
00530 
00531         
00532                 
00533 
00534          
00535 
00536         
00537 
00538         
00539                 
00540 
00541 
00542         
00543 
00544         
00546         // binary-deserialization material//
00548         map<string, FreqOffsetAttributeFromBin> fromBinMethods;
00549 void antennaIdFromBin( EndianISStream& eiss);
00550 void spectralWindowIdFromBin( EndianISStream& eiss);
00551 void timeIntervalFromBin( EndianISStream& eiss);
00552 void feedIdFromBin( EndianISStream& eiss);
00553 void offsetFromBin( EndianISStream& eiss);
00554 
00555                 
00556         
00561          void toBin(EndianOSStream& eoss);
00562                  
00570          static FreqOffsetRow* fromBin(EndianISStream& eiss, FreqOffsetTable& table, const vector<string>& attributesSeq);       
00571 
00572 };
00573 
00574 } // End namespace asdm
00575 
00576 #endif /* FreqOffset_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines