casa
$Rev:20696$
|
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 00041 #ifndef WITHOUT_ACS 00042 #include <asdmIDLC.h> 00043 #endif 00044 00045 00046 00047 00048 00049 00050 00051 #include <Tag.h> 00052 00053 00054 00055 #include <Frequency.h> 00056 00057 00058 00059 00060 00061 00062 00063 00064 #include "CBasebandName.h" 00065 00066 00067 00068 #include "CNetSideband.h" 00069 00070 00071 00072 00073 00074 00075 00076 #include "CSidebandProcessingMode.h" 00077 00078 00079 00080 00081 00082 #include "CWindowFunction.h" 00083 00084 00085 00086 00087 00088 00089 00090 00091 00092 00093 00094 00095 00096 #include "CCorrelationBit.h" 00097 00098 00099 00100 00101 00102 00103 00104 00105 00106 00107 00108 00109 00110 #include "CFrequencyReferenceCode.h" 00111 00112 00113 00114 00115 00116 00117 00118 00119 00120 00121 00122 00123 00124 00125 00126 00127 00128 #include "CSpectralResolutionType.h" 00129 00130 00131 00132 00133 #include <ConversionException.h> 00134 #include <NoSuchRow.h> 00135 #include <IllegalAccessException.h> 00136 00137 #include <RowTransformer.h> 00138 //#include <TableStreamReader.h> 00139 00140 /*\file SpectralWindow.h 00141 \brief Generated from model's revision "1.62", branch "HEAD" 00142 */ 00143 00144 namespace asdm { 00145 00146 //class asdm::SpectralWindowTable; 00147 00148 00149 // class asdm::SpectralWindowRow; 00150 class SpectralWindowRow; 00151 00152 // class asdm::SpectralWindowRow; 00153 class SpectralWindowRow; 00154 00155 // class asdm::DopplerRow; 00156 class DopplerRow; 00157 00158 00159 class SpectralWindowRow; 00160 typedef void (SpectralWindowRow::*SpectralWindowAttributeFromBin) (EndianIStream& eis); 00161 typedef void (SpectralWindowRow::*SpectralWindowAttributeFromText) (const string& s); 00162 00169 class SpectralWindowRow { 00170 friend class asdm::SpectralWindowTable; 00171 friend class asdm::RowTransformer<SpectralWindowRow>; 00172 //friend class asdm::TableStreamReader<SpectralWindowTable, SpectralWindowRow>; 00173 00174 public: 00175 00176 virtual ~SpectralWindowRow(); 00177 00181 SpectralWindowTable &getTable() const; 00182 00187 bool isAdded() const; 00188 00190 // Intrinsic Table Attributes // 00192 00193 00194 // ===> Attribute spectralWindowId 00195 00196 00197 00198 00199 00204 Tag getSpectralWindowId() const; 00205 00206 00207 00208 00209 00210 00211 00212 00213 00214 // ===> Attribute basebandName 00215 00216 00217 00218 00219 00224 BasebandNameMod::BasebandName getBasebandName() const; 00225 00226 00227 00228 00236 void setBasebandName (BasebandNameMod::BasebandName basebandName); 00237 00238 00239 00240 00241 00242 00243 00244 // ===> Attribute netSideband 00245 00246 00247 00248 00249 00254 NetSidebandMod::NetSideband getNetSideband() const; 00255 00256 00257 00258 00266 void setNetSideband (NetSidebandMod::NetSideband netSideband); 00267 00268 00269 00270 00271 00272 00273 00274 // ===> Attribute numChan 00275 00276 00277 00278 00279 00284 int getNumChan() const; 00285 00286 00287 00288 00296 void setNumChan (int numChan); 00297 00298 00299 00300 00301 00302 00303 00304 // ===> Attribute refFreq 00305 00306 00307 00308 00309 00314 Frequency getRefFreq() const; 00315 00316 00317 00318 00326 void setRefFreq (Frequency refFreq); 00327 00328 00329 00330 00331 00332 00333 00334 // ===> Attribute sidebandProcessingMode 00335 00336 00337 00338 00339 00344 SidebandProcessingModeMod::SidebandProcessingMode getSidebandProcessingMode() const; 00345 00346 00347 00348 00356 void setSidebandProcessingMode (SidebandProcessingModeMod::SidebandProcessingMode sidebandProcessingMode); 00357 00358 00359 00360 00361 00362 00363 00364 // ===> Attribute totBandwidth 00365 00366 00367 00368 00369 00374 Frequency getTotBandwidth() const; 00375 00376 00377 00378 00386 void setTotBandwidth (Frequency totBandwidth); 00387 00388 00389 00390 00391 00392 00393 00394 // ===> Attribute windowFunction 00395 00396 00397 00398 00399 00404 WindowFunctionMod::WindowFunction getWindowFunction() const; 00405 00406 00407 00408 00416 void setWindowFunction (WindowFunctionMod::WindowFunction windowFunction); 00417 00418 00419 00420 00421 00422 00423 00424 // ===> Attribute chanFreqStart, which is optional 00425 00426 00427 00432 bool isChanFreqStartExists() const; 00433 00434 00435 00441 Frequency getChanFreqStart() const; 00442 00443 00444 00445 00452 void setChanFreqStart (Frequency chanFreqStart); 00453 00454 00455 00456 00460 void clearChanFreqStart (); 00461 00462 00463 00464 00465 // ===> Attribute chanFreqStep, which is optional 00466 00467 00468 00473 bool isChanFreqStepExists() const; 00474 00475 00476 00482 Frequency getChanFreqStep() const; 00483 00484 00485 00486 00493 void setChanFreqStep (Frequency chanFreqStep); 00494 00495 00496 00497 00501 void clearChanFreqStep (); 00502 00503 00504 00505 00506 // ===> Attribute chanFreqArray, which is optional 00507 00508 00509 00514 bool isChanFreqArrayExists() const; 00515 00516 00517 00523 vector<Frequency > getChanFreqArray() const; 00524 00525 00526 00527 00534 void setChanFreqArray (vector<Frequency > chanFreqArray); 00535 00536 00537 00538 00542 void clearChanFreqArray (); 00543 00544 00545 00546 00547 // ===> Attribute chanWidth, which is optional 00548 00549 00550 00555 bool isChanWidthExists() const; 00556 00557 00558 00564 Frequency getChanWidth() const; 00565 00566 00567 00568 00575 void setChanWidth (Frequency chanWidth); 00576 00577 00578 00579 00583 void clearChanWidth (); 00584 00585 00586 00587 00588 // ===> Attribute chanWidthArray, which is optional 00589 00590 00591 00596 bool isChanWidthArrayExists() const; 00597 00598 00599 00605 vector<Frequency > getChanWidthArray() const; 00606 00607 00608 00609 00616 void setChanWidthArray (vector<Frequency > chanWidthArray); 00617 00618 00619 00620 00624 void clearChanWidthArray (); 00625 00626 00627 00628 00629 // ===> Attribute correlationBit, which is optional 00630 00631 00632 00637 bool isCorrelationBitExists() const; 00638 00639 00640 00646 CorrelationBitMod::CorrelationBit getCorrelationBit() const; 00647 00648 00649 00650 00657 void setCorrelationBit (CorrelationBitMod::CorrelationBit correlationBit); 00658 00659 00660 00661 00665 void clearCorrelationBit (); 00666 00667 00668 00669 00670 // ===> Attribute effectiveBw, which is optional 00671 00672 00673 00678 bool isEffectiveBwExists() const; 00679 00680 00681 00687 Frequency getEffectiveBw() const; 00688 00689 00690 00691 00698 void setEffectiveBw (Frequency effectiveBw); 00699 00700 00701 00702 00706 void clearEffectiveBw (); 00707 00708 00709 00710 00711 // ===> Attribute effectiveBwArray, which is optional 00712 00713 00714 00719 bool isEffectiveBwArrayExists() const; 00720 00721 00722 00728 vector<Frequency > getEffectiveBwArray() const; 00729 00730 00731 00732 00739 void setEffectiveBwArray (vector<Frequency > effectiveBwArray); 00740 00741 00742 00743 00747 void clearEffectiveBwArray (); 00748 00749 00750 00751 00752 // ===> Attribute freqGroup, which is optional 00753 00754 00755 00760 bool isFreqGroupExists() const; 00761 00762 00763 00769 int getFreqGroup() const; 00770 00771 00772 00773 00780 void setFreqGroup (int freqGroup); 00781 00782 00783 00784 00788 void clearFreqGroup (); 00789 00790 00791 00792 00793 // ===> Attribute freqGroupName, which is optional 00794 00795 00796 00801 bool isFreqGroupNameExists() const; 00802 00803 00804 00810 string getFreqGroupName() const; 00811 00812 00813 00814 00821 void setFreqGroupName (string freqGroupName); 00822 00823 00824 00825 00829 void clearFreqGroupName (); 00830 00831 00832 00833 00834 // ===> Attribute lineArray, which is optional 00835 00836 00837 00842 bool isLineArrayExists() const; 00843 00844 00845 00851 vector<bool > getLineArray() const; 00852 00853 00854 00855 00862 void setLineArray (vector<bool > lineArray); 00863 00864 00865 00866 00870 void clearLineArray (); 00871 00872 00873 00874 00875 // ===> Attribute measFreqRef, which is optional 00876 00877 00878 00883 bool isMeasFreqRefExists() const; 00884 00885 00886 00892 FrequencyReferenceCodeMod::FrequencyReferenceCode getMeasFreqRef() const; 00893 00894 00895 00896 00903 void setMeasFreqRef (FrequencyReferenceCodeMod::FrequencyReferenceCode measFreqRef); 00904 00905 00906 00907 00911 void clearMeasFreqRef (); 00912 00913 00914 00915 00916 // ===> Attribute name, which is optional 00917 00918 00919 00924 bool isNameExists() const; 00925 00926 00927 00933 string getName() const; 00934 00935 00936 00937 00944 void setName (string name); 00945 00946 00947 00948 00952 void clearName (); 00953 00954 00955 00956 00957 // ===> Attribute oversampling, which is optional 00958 00959 00960 00965 bool isOversamplingExists() const; 00966 00967 00968 00974 bool getOversampling() const; 00975 00976 00977 00978 00985 void setOversampling (bool oversampling); 00986 00987 00988 00989 00993 void clearOversampling (); 00994 00995 00996 00997 00998 // ===> Attribute quantization, which is optional 00999 01000 01001 01006 bool isQuantizationExists() const; 01007 01008 01009 01015 bool getQuantization() const; 01016 01017 01018 01019 01026 void setQuantization (bool quantization); 01027 01028 01029 01030 01034 void clearQuantization (); 01035 01036 01037 01038 01039 // ===> Attribute refChan, which is optional 01040 01041 01042 01047 bool isRefChanExists() const; 01048 01049 01050 01056 double getRefChan() const; 01057 01058 01059 01060 01067 void setRefChan (double refChan); 01068 01069 01070 01071 01075 void clearRefChan (); 01076 01077 01078 01079 01080 // ===> Attribute resolution, which is optional 01081 01082 01083 01088 bool isResolutionExists() const; 01089 01090 01091 01097 Frequency getResolution() const; 01098 01099 01100 01101 01108 void setResolution (Frequency resolution); 01109 01110 01111 01112 01116 void clearResolution (); 01117 01118 01119 01120 01121 // ===> Attribute resolutionArray, which is optional 01122 01123 01124 01129 bool isResolutionArrayExists() const; 01130 01131 01132 01138 vector<Frequency > getResolutionArray() const; 01139 01140 01141 01142 01149 void setResolutionArray (vector<Frequency > resolutionArray); 01150 01151 01152 01153 01157 void clearResolutionArray (); 01158 01159 01160 01161 01162 // ===> Attribute numAssocValues, which is optional 01163 01164 01165 01170 bool isNumAssocValuesExists() const; 01171 01172 01173 01179 int getNumAssocValues() const; 01180 01181 01182 01183 01190 void setNumAssocValues (int numAssocValues); 01191 01192 01193 01194 01198 void clearNumAssocValues (); 01199 01200 01201 01202 01203 // ===> Attribute assocNature, which is optional 01204 01205 01206 01211 bool isAssocNatureExists() const; 01212 01213 01214 01220 vector<SpectralResolutionTypeMod::SpectralResolutionType > getAssocNature() const; 01221 01222 01223 01224 01231 void setAssocNature (vector<SpectralResolutionTypeMod::SpectralResolutionType > assocNature); 01232 01233 01234 01235 01239 void clearAssocNature (); 01240 01241 01242 01244 // Extrinsic Table Attributes // 01246 01247 01248 // ===> Attribute assocSpectralWindowId, which is optional 01249 01250 01251 01256 bool isAssocSpectralWindowIdExists() const; 01257 01258 01259 01265 vector<Tag> getAssocSpectralWindowId() const; 01266 01267 01268 01269 01276 void setAssocSpectralWindowId (vector<Tag> assocSpectralWindowId); 01277 01278 01279 01280 01284 void clearAssocSpectralWindowId (); 01285 01286 01287 01288 01289 // ===> Attribute dopplerId, which is optional 01290 01291 01292 01297 bool isDopplerIdExists() const; 01298 01299 01300 01306 int getDopplerId() const; 01307 01308 01309 01310 01317 void setDopplerId (int dopplerId); 01318 01319 01320 01321 01325 void clearDopplerId (); 01326 01327 01328 01329 01330 // ===> Attribute imageSpectralWindowId, which is optional 01331 01332 01333 01338 bool isImageSpectralWindowIdExists() const; 01339 01340 01341 01347 Tag getImageSpectralWindowId() const; 01348 01349 01350 01351 01358 void setImageSpectralWindowId (Tag imageSpectralWindowId); 01359 01360 01361 01362 01366 void clearImageSpectralWindowId (); 01367 01368 01369 01371 // Links // 01373 01374 01375 01382 void setAssocSpectralWindowId (int i, Tag assocSpectralWindowId) ; 01383 01384 01385 01386 01387 01392 void addAssocSpectralWindowId(Tag id); 01393 01398 void addAssocSpectralWindowId(const vector<Tag> & id); 01399 01400 01406 const Tag getAssocSpectralWindowId(int i); 01407 01415 SpectralWindowRow* getSpectralWindowUsingAssocSpectralWindowId(int i); 01416 01421 vector<SpectralWindowRow *> getSpectralWindowsUsingAssocSpectralWindowId(); 01422 01423 01424 01425 01426 01427 01428 01429 01438 SpectralWindowRow* getSpectralWindowUsingImageSpectralWindowId(); 01439 01440 01441 01442 01443 01444 01445 01446 01447 // ===> Slice link from a row of SpectralWindow table to a collection of row of Doppler table. 01448 01454 vector <DopplerRow *> getDopplers(); 01455 01456 01457 01458 01459 01460 01461 01462 01482 bool compareNoAutoInc(BasebandNameMod::BasebandName basebandName, NetSidebandMod::NetSideband netSideband, int numChan, Frequency refFreq, SidebandProcessingModeMod::SidebandProcessingMode sidebandProcessingMode, Frequency totBandwidth, WindowFunctionMod::WindowFunction windowFunction); 01483 01484 01485 01486 01506 bool compareRequiredValue(BasebandNameMod::BasebandName basebandName, NetSidebandMod::NetSideband netSideband, int numChan, Frequency refFreq, SidebandProcessingModeMod::SidebandProcessingMode sidebandProcessingMode, Frequency totBandwidth, WindowFunctionMod::WindowFunction windowFunction); 01507 01508 01517 bool equalByRequiredValue(SpectralWindowRow* x) ; 01518 01519 #ifndef WITHOUT_ACS 01520 01524 asdmIDL::SpectralWindowRowIDL *toIDL() const; 01525 #endif 01526 01527 #ifndef WITHOUT_ACS 01528 01533 void setFromIDL (asdmIDL::SpectralWindowRowIDL x) ; 01534 #endif 01535 01540 std::string toXML() const; 01541 01548 void setFromXML (std::string rowDoc) ; 01549 01552 // binary-deserialization material from an EndianIStream // 01554 01555 std::map<std::string, SpectralWindowAttributeFromBin> fromBinMethods; 01556 void spectralWindowIdFromBin( EndianIStream& eis); 01557 void basebandNameFromBin( EndianIStream& eis); 01558 void netSidebandFromBin( EndianIStream& eis); 01559 void numChanFromBin( EndianIStream& eis); 01560 void refFreqFromBin( EndianIStream& eis); 01561 void sidebandProcessingModeFromBin( EndianIStream& eis); 01562 void totBandwidthFromBin( EndianIStream& eis); 01563 void windowFunctionFromBin( EndianIStream& eis); 01564 01565 void chanFreqStartFromBin( EndianIStream& eis); 01566 void chanFreqStepFromBin( EndianIStream& eis); 01567 void chanFreqArrayFromBin( EndianIStream& eis); 01568 void chanWidthFromBin( EndianIStream& eis); 01569 void chanWidthArrayFromBin( EndianIStream& eis); 01570 void correlationBitFromBin( EndianIStream& eis); 01571 void effectiveBwFromBin( EndianIStream& eis); 01572 void effectiveBwArrayFromBin( EndianIStream& eis); 01573 void freqGroupFromBin( EndianIStream& eis); 01574 void freqGroupNameFromBin( EndianIStream& eis); 01575 void lineArrayFromBin( EndianIStream& eis); 01576 void measFreqRefFromBin( EndianIStream& eis); 01577 void nameFromBin( EndianIStream& eis); 01578 void oversamplingFromBin( EndianIStream& eis); 01579 void quantizationFromBin( EndianIStream& eis); 01580 void refChanFromBin( EndianIStream& eis); 01581 void resolutionFromBin( EndianIStream& eis); 01582 void resolutionArrayFromBin( EndianIStream& eis); 01583 void numAssocValuesFromBin( EndianIStream& eis); 01584 void assocNatureFromBin( EndianIStream& eis); 01585 void assocSpectralWindowIdFromBin( EndianIStream& eis); 01586 void imageSpectralWindowIdFromBin( EndianIStream& eis); 01587 void dopplerIdFromBin( EndianIStream& eis); 01588 01589 01597 static SpectralWindowRow* fromBin(EndianIStream& eis, SpectralWindowTable& table, const std::vector<std::string>& attributesSeq); 01598 01605 void fromText(const std::string& attributeName, const std::string& t); 01607 01608 private: 01612 SpectralWindowTable &table; 01616 bool hasBeenAdded; 01617 01618 // This method is used by the Table class when this row is added to the table. 01619 void isAdded(bool added); 01620 01621 01630 SpectralWindowRow (SpectralWindowTable &table); 01631 01649 SpectralWindowRow (SpectralWindowTable &table, SpectralWindowRow &row); 01650 01652 // Intrinsic Table Attributes // 01654 01655 01656 // ===> Attribute spectralWindowId 01657 01658 01659 01660 Tag spectralWindowId; 01661 01662 01663 01664 01674 void setSpectralWindowId (Tag spectralWindowId); 01675 01676 01677 01678 01679 // ===> Attribute basebandName 01680 01681 01682 01683 BasebandNameMod::BasebandName basebandName; 01684 01685 01686 01687 01688 01689 01690 // ===> Attribute netSideband 01691 01692 01693 01694 NetSidebandMod::NetSideband netSideband; 01695 01696 01697 01698 01699 01700 01701 // ===> Attribute numChan 01702 01703 01704 01705 int numChan; 01706 01707 01708 01709 01710 01711 01712 // ===> Attribute refFreq 01713 01714 01715 01716 Frequency refFreq; 01717 01718 01719 01720 01721 01722 01723 // ===> Attribute sidebandProcessingMode 01724 01725 01726 01727 SidebandProcessingModeMod::SidebandProcessingMode sidebandProcessingMode; 01728 01729 01730 01731 01732 01733 01734 // ===> Attribute totBandwidth 01735 01736 01737 01738 Frequency totBandwidth; 01739 01740 01741 01742 01743 01744 01745 // ===> Attribute windowFunction 01746 01747 01748 01749 WindowFunctionMod::WindowFunction windowFunction; 01750 01751 01752 01753 01754 01755 01756 // ===> Attribute chanFreqStart, which is optional 01757 01758 01759 bool chanFreqStartExists; 01760 01761 01762 Frequency chanFreqStart; 01763 01764 01765 01766 01767 01768 01769 // ===> Attribute chanFreqStep, which is optional 01770 01771 01772 bool chanFreqStepExists; 01773 01774 01775 Frequency chanFreqStep; 01776 01777 01778 01779 01780 01781 01782 // ===> Attribute chanFreqArray, which is optional 01783 01784 01785 bool chanFreqArrayExists; 01786 01787 01788 vector<Frequency > chanFreqArray; 01789 01790 01791 01792 01793 01794 01795 // ===> Attribute chanWidth, which is optional 01796 01797 01798 bool chanWidthExists; 01799 01800 01801 Frequency chanWidth; 01802 01803 01804 01805 01806 01807 01808 // ===> Attribute chanWidthArray, which is optional 01809 01810 01811 bool chanWidthArrayExists; 01812 01813 01814 vector<Frequency > chanWidthArray; 01815 01816 01817 01818 01819 01820 01821 // ===> Attribute correlationBit, which is optional 01822 01823 01824 bool correlationBitExists; 01825 01826 01827 CorrelationBitMod::CorrelationBit correlationBit; 01828 01829 01830 01831 01832 01833 01834 // ===> Attribute effectiveBw, which is optional 01835 01836 01837 bool effectiveBwExists; 01838 01839 01840 Frequency effectiveBw; 01841 01842 01843 01844 01845 01846 01847 // ===> Attribute effectiveBwArray, which is optional 01848 01849 01850 bool effectiveBwArrayExists; 01851 01852 01853 vector<Frequency > effectiveBwArray; 01854 01855 01856 01857 01858 01859 01860 // ===> Attribute freqGroup, which is optional 01861 01862 01863 bool freqGroupExists; 01864 01865 01866 int freqGroup; 01867 01868 01869 01870 01871 01872 01873 // ===> Attribute freqGroupName, which is optional 01874 01875 01876 bool freqGroupNameExists; 01877 01878 01879 string freqGroupName; 01880 01881 01882 01883 01884 01885 01886 // ===> Attribute lineArray, which is optional 01887 01888 01889 bool lineArrayExists; 01890 01891 01892 vector<bool > lineArray; 01893 01894 01895 01896 01897 01898 01899 // ===> Attribute measFreqRef, which is optional 01900 01901 01902 bool measFreqRefExists; 01903 01904 01905 FrequencyReferenceCodeMod::FrequencyReferenceCode measFreqRef; 01906 01907 01908 01909 01910 01911 01912 // ===> Attribute name, which is optional 01913 01914 01915 bool nameExists; 01916 01917 01918 string name; 01919 01920 01921 01922 01923 01924 01925 // ===> Attribute oversampling, which is optional 01926 01927 01928 bool oversamplingExists; 01929 01930 01931 bool oversampling; 01932 01933 01934 01935 01936 01937 01938 // ===> Attribute quantization, which is optional 01939 01940 01941 bool quantizationExists; 01942 01943 01944 bool quantization; 01945 01946 01947 01948 01949 01950 01951 // ===> Attribute refChan, which is optional 01952 01953 01954 bool refChanExists; 01955 01956 01957 double refChan; 01958 01959 01960 01961 01962 01963 01964 // ===> Attribute resolution, which is optional 01965 01966 01967 bool resolutionExists; 01968 01969 01970 Frequency resolution; 01971 01972 01973 01974 01975 01976 01977 // ===> Attribute resolutionArray, which is optional 01978 01979 01980 bool resolutionArrayExists; 01981 01982 01983 vector<Frequency > resolutionArray; 01984 01985 01986 01987 01988 01989 01990 // ===> Attribute numAssocValues, which is optional 01991 01992 01993 bool numAssocValuesExists; 01994 01995 01996 int numAssocValues; 01997 01998 01999 02000 02001 02002 02003 // ===> Attribute assocNature, which is optional 02004 02005 02006 bool assocNatureExists; 02007 02008 02009 vector<SpectralResolutionTypeMod::SpectralResolutionType > assocNature; 02010 02011 02012 02013 02014 02016 // Extrinsic Table Attributes // 02018 02019 02020 // ===> Attribute assocSpectralWindowId, which is optional 02021 02022 02023 bool assocSpectralWindowIdExists; 02024 02025 02026 vector<Tag> assocSpectralWindowId; 02027 02028 02029 02030 02031 02032 02033 // ===> Attribute dopplerId, which is optional 02034 02035 02036 bool dopplerIdExists; 02037 02038 02039 int dopplerId; 02040 02041 02042 02043 02044 02045 02046 // ===> Attribute imageSpectralWindowId, which is optional 02047 02048 02049 bool imageSpectralWindowIdExists; 02050 02051 02052 Tag imageSpectralWindowId; 02053 02054 02055 02056 02057 02059 // Links // 02061 02062 02063 02064 02065 02066 02067 02068 02069 02070 02071 02072 02073 02074 02075 02076 02077 02078 02079 02080 02081 02082 /* 02084 // binary-deserialization material from an EndianIStream // 02086 std::map<std::string, SpectralWindowAttributeFromBin> fromBinMethods; 02087 void spectralWindowIdFromBin( EndianIStream& eis); 02088 void basebandNameFromBin( EndianIStream& eis); 02089 void netSidebandFromBin( EndianIStream& eis); 02090 void numChanFromBin( EndianIStream& eis); 02091 void refFreqFromBin( EndianIStream& eis); 02092 void sidebandProcessingModeFromBin( EndianIStream& eis); 02093 void totBandwidthFromBin( EndianIStream& eis); 02094 void windowFunctionFromBin( EndianIStream& eis); 02095 02096 void chanFreqStartFromBin( EndianIStream& eis); 02097 void chanFreqStepFromBin( EndianIStream& eis); 02098 void chanFreqArrayFromBin( EndianIStream& eis); 02099 void chanWidthFromBin( EndianIStream& eis); 02100 void chanWidthArrayFromBin( EndianIStream& eis); 02101 void correlationBitFromBin( EndianIStream& eis); 02102 void effectiveBwFromBin( EndianIStream& eis); 02103 void effectiveBwArrayFromBin( EndianIStream& eis); 02104 void freqGroupFromBin( EndianIStream& eis); 02105 void freqGroupNameFromBin( EndianIStream& eis); 02106 void lineArrayFromBin( EndianIStream& eis); 02107 void measFreqRefFromBin( EndianIStream& eis); 02108 void nameFromBin( EndianIStream& eis); 02109 void oversamplingFromBin( EndianIStream& eis); 02110 void quantizationFromBin( EndianIStream& eis); 02111 void refChanFromBin( EndianIStream& eis); 02112 void resolutionFromBin( EndianIStream& eis); 02113 void resolutionArrayFromBin( EndianIStream& eis); 02114 void numAssocValuesFromBin( EndianIStream& eis); 02115 void assocNatureFromBin( EndianIStream& eis); 02116 void assocSpectralWindowIdFromBin( EndianIStream& eis); 02117 void imageSpectralWindowIdFromBin( EndianIStream& eis); 02118 void dopplerIdFromBin( EndianIStream& eis); 02119 02120 */ 02121 02123 // text-deserialization material // 02125 std::map<std::string, SpectralWindowAttributeFromText> fromTextMethods; 02126 02127 void spectralWindowIdFromText (const string & s); 02128 02129 02130 void basebandNameFromText (const string & s); 02131 02132 02133 void netSidebandFromText (const string & s); 02134 02135 02136 void numChanFromText (const string & s); 02137 02138 02139 void refFreqFromText (const string & s); 02140 02141 02142 void sidebandProcessingModeFromText (const string & s); 02143 02144 02145 void totBandwidthFromText (const string & s); 02146 02147 02148 void windowFunctionFromText (const string & s); 02149 02150 02151 02152 void chanFreqStartFromText (const string & s); 02153 02154 02155 void chanFreqStepFromText (const string & s); 02156 02157 02158 void chanFreqArrayFromText (const string & s); 02159 02160 02161 void chanWidthFromText (const string & s); 02162 02163 02164 void chanWidthArrayFromText (const string & s); 02165 02166 02167 void correlationBitFromText (const string & s); 02168 02169 02170 void effectiveBwFromText (const string & s); 02171 02172 02173 void effectiveBwArrayFromText (const string & s); 02174 02175 02176 void freqGroupFromText (const string & s); 02177 02178 02179 void freqGroupNameFromText (const string & s); 02180 02181 02182 void lineArrayFromText (const string & s); 02183 02184 02185 void measFreqRefFromText (const string & s); 02186 02187 02188 void nameFromText (const string & s); 02189 02190 02191 void oversamplingFromText (const string & s); 02192 02193 02194 void quantizationFromText (const string & s); 02195 02196 02197 void refChanFromText (const string & s); 02198 02199 02200 void resolutionFromText (const string & s); 02201 02202 02203 void resolutionArrayFromText (const string & s); 02204 02205 02206 void numAssocValuesFromText (const string & s); 02207 02208 02209 void assocNatureFromText (const string & s); 02210 02211 02212 void assocSpectralWindowIdFromText (const string & s); 02213 02214 02215 void imageSpectralWindowIdFromText (const string & s); 02216 02217 02218 void dopplerIdFromText (const string & s); 02219 02220 02221 02226 void toBin(EndianOSStream& eoss); 02227 02237 }; 02238 02239 } // End namespace asdm 02240 02241 #endif /* SpectralWindow_CLASS */