SpectralWindowRow.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 SpectralWindowRow.h 00032 */ 00033 00034 #ifndef SpectralWindowRow_CLASS 00035 #define SpectralWindowRow_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::SpectralWindowRowIDL; 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 00097 00098 00099 #include "CNetSideband.h" 00100 using namespace NetSidebandMod; 00101 00102 00103 00104 #include "CSidebandProcessingMode.h" 00105 using namespace SidebandProcessingModeMod; 00106 00107 00108 00109 #include "CBasebandName.h" 00110 using namespace BasebandNameMod; 00111 00112 00113 00114 00115 00116 00117 00118 00119 00120 00121 00122 #include "CSpectralResolutionType.h" 00123 using namespace SpectralResolutionTypeMod; 00124 00125 00126 00127 00128 00129 #include "CWindowFunction.h" 00130 using namespace WindowFunctionMod; 00131 00132 00133 00134 00135 00136 #include "CCorrelationBit.h" 00137 using namespace CorrelationBitMod; 00138 00139 00140 00141 00142 00143 00144 using asdm::Angle; 00145 using asdm::AngularRate; 00146 using asdm::ArrayTime; 00147 using asdm::Complex; 00148 using asdm::Entity; 00149 using asdm::EntityId; 00150 using asdm::EntityRef; 00151 using asdm::Flux; 00152 using asdm::Frequency; 00153 using asdm::Humidity; 00154 using asdm::Interval; 00155 using asdm::Length; 00156 using asdm::Pressure; 00157 using asdm::Speed; 00158 using asdm::Tag; 00159 using asdm::Temperature; 00160 using asdm::ConversionException; 00161 using asdm::NoSuchRow; 00162 using asdm::IllegalAccessException; 00163 00164 /*\file SpectralWindow.h 00165 \brief Generated from model's revision "1.46", branch "HEAD" 00166 */ 00167 00168 namespace asdm { 00169 00170 //class asdm::SpectralWindowTable; 00171 00172 00173 // class asdm::DopplerRow; 00174 class DopplerRow; 00175 00176 // class asdm::SpectralWindowRow; 00177 class SpectralWindowRow; 00178 00179 // class asdm::SpectralWindowRow; 00180 class SpectralWindowRow; 00181 00182 00189 class SpectralWindowRow { 00190 friend class asdm::SpectralWindowTable; 00191 00192 public: 00193 00194 virtual ~SpectralWindowRow(); 00195 00199 SpectralWindowTable &getTable() const; 00200 00201 #ifndef WITHOUT_ACS 00202 00206 SpectralWindowRowIDL *toIDL() const; 00207 #endif 00208 00209 #ifndef WITHOUT_ACS 00210 00214 void setFromIDL (SpectralWindowRowIDL x) throw(ConversionException); 00215 #endif 00216 00221 string toXML() const; 00222 00228 void setFromXML (string rowDoc) throw(ConversionException); 00229 00231 // Intrinsic Table Attributes // 00233 00234 00235 // ===> Attribute spectralWindowId 00236 00237 00238 00239 00240 00245 Tag getSpectralWindowId() const; 00246 00247 00248 00249 00250 00251 00252 00253 00254 00255 // ===> Attribute numChan 00256 00257 00258 00259 00260 00265 int getNumChan() const; 00266 00267 00268 00269 00277 void setNumChan (int numChan); 00278 00279 00280 00281 00282 00283 00284 00285 // ===> Attribute name, which is optional 00286 00287 00288 00293 bool isNameExists() const; 00294 00295 00296 00302 string getName() const throw(IllegalAccessException); 00303 00304 00305 00306 00313 void setName (string name); 00314 00315 00316 00317 00321 void clearName (); 00322 00323 00324 00325 00326 // ===> Attribute refFreq 00327 00328 00329 00330 00331 00336 Frequency getRefFreq() const; 00337 00338 00339 00340 00348 void setRefFreq (Frequency refFreq); 00349 00350 00351 00352 00353 00354 00355 00356 // ===> Attribute chanFreq 00357 00358 00359 00360 00361 00366 vector<Frequency > getChanFreq() const; 00367 00368 00369 00370 00378 void setChanFreq (vector<Frequency > chanFreq); 00379 00380 00381 00382 00383 00384 00385 00386 // ===> Attribute chanWidth 00387 00388 00389 00390 00391 00396 vector<Frequency > getChanWidth() const; 00397 00398 00399 00400 00408 void setChanWidth (vector<Frequency > chanWidth); 00409 00410 00411 00412 00413 00414 00415 00416 // ===> Attribute measFreqRef, which is optional 00417 00418 00419 00424 bool isMeasFreqRefExists() const; 00425 00426 00427 00433 int getMeasFreqRef() const throw(IllegalAccessException); 00434 00435 00436 00437 00444 void setMeasFreqRef (int measFreqRef); 00445 00446 00447 00448 00452 void clearMeasFreqRef (); 00453 00454 00455 00456 00457 // ===> Attribute effectiveBw 00458 00459 00460 00461 00462 00467 vector<Frequency > getEffectiveBw() const; 00468 00469 00470 00471 00479 void setEffectiveBw (vector<Frequency > effectiveBw); 00480 00481 00482 00483 00484 00485 00486 00487 // ===> Attribute resolution 00488 00489 00490 00491 00492 00497 vector<Frequency > getResolution() const; 00498 00499 00500 00501 00509 void setResolution (vector<Frequency > resolution); 00510 00511 00512 00513 00514 00515 00516 00517 // ===> Attribute totBandwidth 00518 00519 00520 00521 00522 00527 Frequency getTotBandwidth() const; 00528 00529 00530 00531 00539 void setTotBandwidth (Frequency totBandwidth); 00540 00541 00542 00543 00544 00545 00546 00547 // ===> Attribute netSideband 00548 00549 00550 00551 00552 00557 NetSidebandMod::NetSideband getNetSideband() const; 00558 00559 00560 00561 00569 void setNetSideband (NetSidebandMod::NetSideband netSideband); 00570 00571 00572 00573 00574 00575 00576 00577 // ===> Attribute sidebandProcessingMode 00578 00579 00580 00581 00582 00587 SidebandProcessingModeMod::SidebandProcessingMode getSidebandProcessingMode() const; 00588 00589 00590 00591 00599 void setSidebandProcessingMode (SidebandProcessingModeMod::SidebandProcessingMode sidebandProcessingMode); 00600 00601 00602 00603 00604 00605 00606 00607 // ===> Attribute basebandName, which is optional 00608 00609 00610 00615 bool isBasebandNameExists() const; 00616 00617 00618 00624 BasebandNameMod::BasebandName getBasebandName() const throw(IllegalAccessException); 00625 00626 00627 00628 00635 void setBasebandName (BasebandNameMod::BasebandName basebandName); 00636 00637 00638 00639 00643 void clearBasebandName (); 00644 00645 00646 00647 00648 // ===> Attribute bbcSideband, which is optional 00649 00650 00651 00656 bool isBbcSidebandExists() const; 00657 00658 00659 00665 int getBbcSideband() const throw(IllegalAccessException); 00666 00667 00668 00669 00676 void setBbcSideband (int bbcSideband); 00677 00678 00679 00680 00684 void clearBbcSideband (); 00685 00686 00687 00688 00689 // ===> Attribute ifConvChain, which is optional 00690 00691 00692 00697 bool isIfConvChainExists() const; 00698 00699 00700 00706 int getIfConvChain() const throw(IllegalAccessException); 00707 00708 00709 00710 00717 void setIfConvChain (int ifConvChain); 00718 00719 00720 00721 00725 void clearIfConvChain (); 00726 00727 00728 00729 00730 // ===> Attribute freqGroup, which is optional 00731 00732 00733 00738 bool isFreqGroupExists() const; 00739 00740 00741 00747 int getFreqGroup() const throw(IllegalAccessException); 00748 00749 00750 00751 00758 void setFreqGroup (int freqGroup); 00759 00760 00761 00762 00766 void clearFreqGroup (); 00767 00768 00769 00770 00771 // ===> Attribute freqGroupName, which is optional 00772 00773 00774 00779 bool isFreqGroupNameExists() const; 00780 00781 00782 00788 string getFreqGroupName() const throw(IllegalAccessException); 00789 00790 00791 00792 00799 void setFreqGroupName (string freqGroupName); 00800 00801 00802 00803 00807 void clearFreqGroupName (); 00808 00809 00810 00811 00812 // ===> Attribute assocNature, which is optional 00813 00814 00815 00820 bool isAssocNatureExists() const; 00821 00822 00823 00829 vector<SpectralResolutionTypeMod::SpectralResolutionType > getAssocNature() const throw(IllegalAccessException); 00830 00831 00832 00833 00840 void setAssocNature (vector<SpectralResolutionTypeMod::SpectralResolutionType > assocNature); 00841 00842 00843 00844 00848 void clearAssocNature (); 00849 00850 00851 00852 00853 // ===> Attribute quantization 00854 00855 00856 00857 00858 00863 bool getQuantization() const; 00864 00865 00866 00867 00875 void setQuantization (bool quantization); 00876 00877 00878 00879 00880 00881 00882 00883 // ===> Attribute windowFunction 00884 00885 00886 00887 00888 00893 WindowFunctionMod::WindowFunction getWindowFunction() const; 00894 00895 00896 00897 00905 void setWindowFunction (WindowFunctionMod::WindowFunction windowFunction); 00906 00907 00908 00909 00910 00911 00912 00913 // ===> Attribute oversampling 00914 00915 00916 00917 00918 00923 bool getOversampling() const; 00924 00925 00926 00927 00935 void setOversampling (bool oversampling); 00936 00937 00938 00939 00940 00941 00942 00943 // ===> Attribute correlationBit 00944 00945 00946 00947 00948 00953 CorrelationBitMod::CorrelationBit getCorrelationBit() const; 00954 00955 00956 00957 00965 void setCorrelationBit (CorrelationBitMod::CorrelationBit correlationBit); 00966 00967 00968 00969 00970 00971 00972 00973 // ===> Attribute flagRow 00974 00975 00976 00977 00978 00983 bool getFlagRow() const; 00984 00985 00986 00987 00995 void setFlagRow (bool flagRow); 00996 00997 00998 00999 01000 01001 01003 // Extrinsic Table Attributes // 01005 01006 01007 // ===> Attribute assocSpectralWindowId, which is optional 01008 01009 01010 01015 bool isAssocSpectralWindowIdExists() const; 01016 01017 01018 01024 vector<Tag> getAssocSpectralWindowId() const throw(IllegalAccessException); 01025 01026 01027 01028 01035 void setAssocSpectralWindowId (vector<Tag> assocSpectralWindowId); 01036 01037 01038 01039 01043 void clearAssocSpectralWindowId (); 01044 01045 01046 01047 01048 // ===> Attribute dopplerId, which is optional 01049 01050 01051 01056 bool isDopplerIdExists() const; 01057 01058 01059 01065 int getDopplerId() const throw(IllegalAccessException); 01066 01067 01068 01069 01076 void setDopplerId (int dopplerId); 01077 01078 01079 01080 01084 void clearDopplerId (); 01085 01086 01087 01088 01089 // ===> Attribute imageSpectralWindowId, which is optional 01090 01091 01092 01097 bool isImageSpectralWindowIdExists() const; 01098 01099 01100 01106 Tag getImageSpectralWindowId() const throw(IllegalAccessException); 01107 01108 01109 01110 01117 void setImageSpectralWindowId (Tag imageSpectralWindowId); 01118 01119 01120 01121 01125 void clearImageSpectralWindowId (); 01126 01127 01128 01130 // Links // 01132 01133 01134 01135 01136 01137 // ===> Slice link from a row of SpectralWindow table to a collection of row of Doppler table. 01138 01144 vector <DopplerRow *> getDopplers(); 01145 01146 01147 01148 01149 01150 01151 01158 void setAssocSpectralWindowId (int i, Tag assocSpectralWindowId) ; 01159 01160 01161 01162 01163 01168 void addAssocSpectralWindowId(Tag id); 01169 01174 void addAssocSpectralWindowId(const vector<Tag> & id); 01175 01176 01182 const Tag getAssocSpectralWindowId(int i); 01183 01191 SpectralWindowRow* getSpectralWindow(int i); 01192 01197 vector<SpectralWindowRow *> getSpectralWindows(); 01198 01199 01200 01201 01202 01203 01204 01205 01214 SpectralWindowRow* getSpectralWindowUsingImageSpectralWindowId(); 01215 01216 01217 01218 01219 01220 01221 01226 bool compareNoAutoInc(int numChan, Frequency refFreq, vector<Frequency > chanFreq, vector<Frequency > chanWidth, vector<Frequency > effectiveBw, vector<Frequency > resolution, Frequency totBandwidth, NetSidebandMod::NetSideband netSideband, SidebandProcessingModeMod::SidebandProcessingMode sidebandProcessingMode, bool quantization, WindowFunctionMod::WindowFunction windowFunction, bool oversampling, CorrelationBitMod::CorrelationBit correlationBit, bool flagRow); 01227 01228 01229 01230 01231 bool compareRequiredValue(int numChan, Frequency refFreq, vector<Frequency > chanFreq, vector<Frequency > chanWidth, vector<Frequency > effectiveBw, vector<Frequency > resolution, Frequency totBandwidth, NetSidebandMod::NetSideband netSideband, SidebandProcessingModeMod::SidebandProcessingMode sidebandProcessingMode, bool quantization, WindowFunctionMod::WindowFunction windowFunction, bool oversampling, CorrelationBitMod::CorrelationBit correlationBit, bool flagRow); 01232 01233 01242 bool equalByRequiredValue(SpectralWindowRow* x) ; 01243 01244 private: 01248 SpectralWindowTable &table; 01252 bool hasBeenAdded; 01253 01254 // This method is used by the Table class when this row is added to the table. 01255 void isAdded(); 01256 01257 01266 SpectralWindowRow (SpectralWindowTable &table); 01267 01285 SpectralWindowRow (SpectralWindowTable &table, SpectralWindowRow &row); 01286 01288 // Intrinsic Table Attributes // 01290 01291 01292 // ===> Attribute spectralWindowId 01293 01294 01295 01296 Tag spectralWindowId; 01297 01298 01299 01300 01310 void setSpectralWindowId (Tag spectralWindowId); 01311 01312 01313 01314 01315 // ===> Attribute numChan 01316 01317 01318 01319 int numChan; 01320 01321 01322 01323 01324 01325 01326 // ===> Attribute name, which is optional 01327 01328 01329 bool nameExists; 01330 01331 01332 string name; 01333 01334 01335 01336 01337 01338 01339 // ===> Attribute refFreq 01340 01341 01342 01343 Frequency refFreq; 01344 01345 01346 01347 01348 01349 01350 // ===> Attribute chanFreq 01351 01352 01353 01354 vector<Frequency > chanFreq; 01355 01356 01357 01358 01359 01360 01361 // ===> Attribute chanWidth 01362 01363 01364 01365 vector<Frequency > chanWidth; 01366 01367 01368 01369 01370 01371 01372 // ===> Attribute measFreqRef, which is optional 01373 01374 01375 bool measFreqRefExists; 01376 01377 01378 int measFreqRef; 01379 01380 01381 01382 01383 01384 01385 // ===> Attribute effectiveBw 01386 01387 01388 01389 vector<Frequency > effectiveBw; 01390 01391 01392 01393 01394 01395 01396 // ===> Attribute resolution 01397 01398 01399 01400 vector<Frequency > resolution; 01401 01402 01403 01404 01405 01406 01407 // ===> Attribute totBandwidth 01408 01409 01410 01411 Frequency totBandwidth; 01412 01413 01414 01415 01416 01417 01418 // ===> Attribute netSideband 01419 01420 01421 01422 NetSidebandMod::NetSideband netSideband; 01423 01424 01425 01426 01427 01428 01429 // ===> Attribute sidebandProcessingMode 01430 01431 01432 01433 SidebandProcessingModeMod::SidebandProcessingMode sidebandProcessingMode; 01434 01435 01436 01437 01438 01439 01440 // ===> Attribute basebandName, which is optional 01441 01442 01443 bool basebandNameExists; 01444 01445 01446 BasebandNameMod::BasebandName basebandName; 01447 01448 01449 01450 01451 01452 01453 // ===> Attribute bbcSideband, which is optional 01454 01455 01456 bool bbcSidebandExists; 01457 01458 01459 int bbcSideband; 01460 01461 01462 01463 01464 01465 01466 // ===> Attribute ifConvChain, which is optional 01467 01468 01469 bool ifConvChainExists; 01470 01471 01472 int ifConvChain; 01473 01474 01475 01476 01477 01478 01479 // ===> Attribute freqGroup, which is optional 01480 01481 01482 bool freqGroupExists; 01483 01484 01485 int freqGroup; 01486 01487 01488 01489 01490 01491 01492 // ===> Attribute freqGroupName, which is optional 01493 01494 01495 bool freqGroupNameExists; 01496 01497 01498 string freqGroupName; 01499 01500 01501 01502 01503 01504 01505 // ===> Attribute assocNature, which is optional 01506 01507 01508 bool assocNatureExists; 01509 01510 01511 vector<SpectralResolutionTypeMod::SpectralResolutionType > assocNature; 01512 01513 01514 01515 01516 01517 01518 // ===> Attribute quantization 01519 01520 01521 01522 bool quantization; 01523 01524 01525 01526 01527 01528 01529 // ===> Attribute windowFunction 01530 01531 01532 01533 WindowFunctionMod::WindowFunction windowFunction; 01534 01535 01536 01537 01538 01539 01540 // ===> Attribute oversampling 01541 01542 01543 01544 bool oversampling; 01545 01546 01547 01548 01549 01550 01551 // ===> Attribute correlationBit 01552 01553 01554 01555 CorrelationBitMod::CorrelationBit correlationBit; 01556 01557 01558 01559 01560 01561 01562 // ===> Attribute flagRow 01563 01564 01565 01566 bool flagRow; 01567 01568 01569 01570 01571 01573 // Extrinsic Table Attributes // 01575 01576 01577 // ===> Attribute assocSpectralWindowId, which is optional 01578 01579 01580 bool assocSpectralWindowIdExists; 01581 01582 01583 vector<Tag> assocSpectralWindowId; 01584 01585 01586 01587 01588 01589 01590 // ===> Attribute dopplerId, which is optional 01591 01592 01593 bool dopplerIdExists; 01594 01595 01596 int dopplerId; 01597 01598 01599 01600 01601 01602 01603 // ===> Attribute imageSpectralWindowId, which is optional 01604 01605 01606 bool imageSpectralWindowIdExists; 01607 01608 01609 Tag imageSpectralWindowId; 01610 01611 01612 01613 01614 01616 // Links // 01618 01619 01620 01621 01622 01623 01624 01625 01626 01627 01628 01629 01630 01631 01632 01633 01634 01635 01636 01637 01638 01639 }; 01640 01641 } // End namespace asdm 01642 01643 #endif /* SpectralWindow_CLASS */

Generated on Tue Nov 18 17:43:41 2008 for ASDM C++ Implementation by doxygen 1.3.8