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.64", 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 01533 void toIDL(asdmIDL::SpectralWindowRowIDL& x) const; 01534 #endif 01535 01536 #ifndef WITHOUT_ACS 01537 01542 void setFromIDL (asdmIDL::SpectralWindowRowIDL x) ; 01543 #endif 01544 01549 std::string toXML() const; 01550 01557 void setFromXML (std::string rowDoc) ; 01558 01561 // binary-deserialization material from an EndianIStream // 01563 01564 std::map<std::string, SpectralWindowAttributeFromBin> fromBinMethods; 01565 void spectralWindowIdFromBin( EndianIStream& eis); 01566 void basebandNameFromBin( EndianIStream& eis); 01567 void netSidebandFromBin( EndianIStream& eis); 01568 void numChanFromBin( EndianIStream& eis); 01569 void refFreqFromBin( EndianIStream& eis); 01570 void sidebandProcessingModeFromBin( EndianIStream& eis); 01571 void totBandwidthFromBin( EndianIStream& eis); 01572 void windowFunctionFromBin( EndianIStream& eis); 01573 01574 void chanFreqStartFromBin( EndianIStream& eis); 01575 void chanFreqStepFromBin( EndianIStream& eis); 01576 void chanFreqArrayFromBin( EndianIStream& eis); 01577 void chanWidthFromBin( EndianIStream& eis); 01578 void chanWidthArrayFromBin( EndianIStream& eis); 01579 void correlationBitFromBin( EndianIStream& eis); 01580 void effectiveBwFromBin( EndianIStream& eis); 01581 void effectiveBwArrayFromBin( EndianIStream& eis); 01582 void freqGroupFromBin( EndianIStream& eis); 01583 void freqGroupNameFromBin( EndianIStream& eis); 01584 void lineArrayFromBin( EndianIStream& eis); 01585 void measFreqRefFromBin( EndianIStream& eis); 01586 void nameFromBin( EndianIStream& eis); 01587 void oversamplingFromBin( EndianIStream& eis); 01588 void quantizationFromBin( EndianIStream& eis); 01589 void refChanFromBin( EndianIStream& eis); 01590 void resolutionFromBin( EndianIStream& eis); 01591 void resolutionArrayFromBin( EndianIStream& eis); 01592 void numAssocValuesFromBin( EndianIStream& eis); 01593 void assocNatureFromBin( EndianIStream& eis); 01594 void assocSpectralWindowIdFromBin( EndianIStream& eis); 01595 void imageSpectralWindowIdFromBin( EndianIStream& eis); 01596 void dopplerIdFromBin( EndianIStream& eis); 01597 01598 01606 static SpectralWindowRow* fromBin(EndianIStream& eis, SpectralWindowTable& table, const std::vector<std::string>& attributesSeq); 01607 01614 void fromText(const std::string& attributeName, const std::string& t); 01616 01617 private: 01621 SpectralWindowTable &table; 01625 bool hasBeenAdded; 01626 01627 // This method is used by the Table class when this row is added to the table. 01628 void isAdded(bool added); 01629 01630 01639 SpectralWindowRow (SpectralWindowTable &table); 01640 01658 SpectralWindowRow (SpectralWindowTable &table, SpectralWindowRow &row); 01659 01661 // Intrinsic Table Attributes // 01663 01664 01665 // ===> Attribute spectralWindowId 01666 01667 01668 01669 Tag spectralWindowId; 01670 01671 01672 01673 01683 void setSpectralWindowId (Tag spectralWindowId); 01684 01685 01686 01687 01688 // ===> Attribute basebandName 01689 01690 01691 01692 BasebandNameMod::BasebandName basebandName; 01693 01694 01695 01696 01697 01698 01699 // ===> Attribute netSideband 01700 01701 01702 01703 NetSidebandMod::NetSideband netSideband; 01704 01705 01706 01707 01708 01709 01710 // ===> Attribute numChan 01711 01712 01713 01714 int numChan; 01715 01716 01717 01718 01719 01720 01721 // ===> Attribute refFreq 01722 01723 01724 01725 Frequency refFreq; 01726 01727 01728 01729 01730 01731 01732 // ===> Attribute sidebandProcessingMode 01733 01734 01735 01736 SidebandProcessingModeMod::SidebandProcessingMode sidebandProcessingMode; 01737 01738 01739 01740 01741 01742 01743 // ===> Attribute totBandwidth 01744 01745 01746 01747 Frequency totBandwidth; 01748 01749 01750 01751 01752 01753 01754 // ===> Attribute windowFunction 01755 01756 01757 01758 WindowFunctionMod::WindowFunction windowFunction; 01759 01760 01761 01762 01763 01764 01765 // ===> Attribute chanFreqStart, which is optional 01766 01767 01768 bool chanFreqStartExists; 01769 01770 01771 Frequency chanFreqStart; 01772 01773 01774 01775 01776 01777 01778 // ===> Attribute chanFreqStep, which is optional 01779 01780 01781 bool chanFreqStepExists; 01782 01783 01784 Frequency chanFreqStep; 01785 01786 01787 01788 01789 01790 01791 // ===> Attribute chanFreqArray, which is optional 01792 01793 01794 bool chanFreqArrayExists; 01795 01796 01797 vector<Frequency > chanFreqArray; 01798 01799 01800 01801 01802 01803 01804 // ===> Attribute chanWidth, which is optional 01805 01806 01807 bool chanWidthExists; 01808 01809 01810 Frequency chanWidth; 01811 01812 01813 01814 01815 01816 01817 // ===> Attribute chanWidthArray, which is optional 01818 01819 01820 bool chanWidthArrayExists; 01821 01822 01823 vector<Frequency > chanWidthArray; 01824 01825 01826 01827 01828 01829 01830 // ===> Attribute correlationBit, which is optional 01831 01832 01833 bool correlationBitExists; 01834 01835 01836 CorrelationBitMod::CorrelationBit correlationBit; 01837 01838 01839 01840 01841 01842 01843 // ===> Attribute effectiveBw, which is optional 01844 01845 01846 bool effectiveBwExists; 01847 01848 01849 Frequency effectiveBw; 01850 01851 01852 01853 01854 01855 01856 // ===> Attribute effectiveBwArray, which is optional 01857 01858 01859 bool effectiveBwArrayExists; 01860 01861 01862 vector<Frequency > effectiveBwArray; 01863 01864 01865 01866 01867 01868 01869 // ===> Attribute freqGroup, which is optional 01870 01871 01872 bool freqGroupExists; 01873 01874 01875 int freqGroup; 01876 01877 01878 01879 01880 01881 01882 // ===> Attribute freqGroupName, which is optional 01883 01884 01885 bool freqGroupNameExists; 01886 01887 01888 string freqGroupName; 01889 01890 01891 01892 01893 01894 01895 // ===> Attribute lineArray, which is optional 01896 01897 01898 bool lineArrayExists; 01899 01900 01901 vector<bool > lineArray; 01902 01903 01904 01905 01906 01907 01908 // ===> Attribute measFreqRef, which is optional 01909 01910 01911 bool measFreqRefExists; 01912 01913 01914 FrequencyReferenceCodeMod::FrequencyReferenceCode measFreqRef; 01915 01916 01917 01918 01919 01920 01921 // ===> Attribute name, which is optional 01922 01923 01924 bool nameExists; 01925 01926 01927 string name; 01928 01929 01930 01931 01932 01933 01934 // ===> Attribute oversampling, which is optional 01935 01936 01937 bool oversamplingExists; 01938 01939 01940 bool oversampling; 01941 01942 01943 01944 01945 01946 01947 // ===> Attribute quantization, which is optional 01948 01949 01950 bool quantizationExists; 01951 01952 01953 bool quantization; 01954 01955 01956 01957 01958 01959 01960 // ===> Attribute refChan, which is optional 01961 01962 01963 bool refChanExists; 01964 01965 01966 double refChan; 01967 01968 01969 01970 01971 01972 01973 // ===> Attribute resolution, which is optional 01974 01975 01976 bool resolutionExists; 01977 01978 01979 Frequency resolution; 01980 01981 01982 01983 01984 01985 01986 // ===> Attribute resolutionArray, which is optional 01987 01988 01989 bool resolutionArrayExists; 01990 01991 01992 vector<Frequency > resolutionArray; 01993 01994 01995 01996 01997 01998 01999 // ===> Attribute numAssocValues, which is optional 02000 02001 02002 bool numAssocValuesExists; 02003 02004 02005 int numAssocValues; 02006 02007 02008 02009 02010 02011 02012 // ===> Attribute assocNature, which is optional 02013 02014 02015 bool assocNatureExists; 02016 02017 02018 vector<SpectralResolutionTypeMod::SpectralResolutionType > assocNature; 02019 02020 02021 02022 02023 02025 // Extrinsic Table Attributes // 02027 02028 02029 // ===> Attribute assocSpectralWindowId, which is optional 02030 02031 02032 bool assocSpectralWindowIdExists; 02033 02034 02035 vector<Tag> assocSpectralWindowId; 02036 02037 02038 02039 02040 02041 02042 // ===> Attribute dopplerId, which is optional 02043 02044 02045 bool dopplerIdExists; 02046 02047 02048 int dopplerId; 02049 02050 02051 02052 02053 02054 02055 // ===> Attribute imageSpectralWindowId, which is optional 02056 02057 02058 bool imageSpectralWindowIdExists; 02059 02060 02061 Tag imageSpectralWindowId; 02062 02063 02064 02065 02066 02068 // Links // 02070 02071 02072 02073 02074 02075 02076 02077 02078 02079 02080 02081 02082 02083 02084 02085 02086 02087 02088 02089 02090 02091 /* 02093 // binary-deserialization material from an EndianIStream // 02095 std::map<std::string, SpectralWindowAttributeFromBin> fromBinMethods; 02096 void spectralWindowIdFromBin( EndianIStream& eis); 02097 void basebandNameFromBin( EndianIStream& eis); 02098 void netSidebandFromBin( EndianIStream& eis); 02099 void numChanFromBin( EndianIStream& eis); 02100 void refFreqFromBin( EndianIStream& eis); 02101 void sidebandProcessingModeFromBin( EndianIStream& eis); 02102 void totBandwidthFromBin( EndianIStream& eis); 02103 void windowFunctionFromBin( EndianIStream& eis); 02104 02105 void chanFreqStartFromBin( EndianIStream& eis); 02106 void chanFreqStepFromBin( EndianIStream& eis); 02107 void chanFreqArrayFromBin( EndianIStream& eis); 02108 void chanWidthFromBin( EndianIStream& eis); 02109 void chanWidthArrayFromBin( EndianIStream& eis); 02110 void correlationBitFromBin( EndianIStream& eis); 02111 void effectiveBwFromBin( EndianIStream& eis); 02112 void effectiveBwArrayFromBin( EndianIStream& eis); 02113 void freqGroupFromBin( EndianIStream& eis); 02114 void freqGroupNameFromBin( EndianIStream& eis); 02115 void lineArrayFromBin( EndianIStream& eis); 02116 void measFreqRefFromBin( EndianIStream& eis); 02117 void nameFromBin( EndianIStream& eis); 02118 void oversamplingFromBin( EndianIStream& eis); 02119 void quantizationFromBin( EndianIStream& eis); 02120 void refChanFromBin( EndianIStream& eis); 02121 void resolutionFromBin( EndianIStream& eis); 02122 void resolutionArrayFromBin( EndianIStream& eis); 02123 void numAssocValuesFromBin( EndianIStream& eis); 02124 void assocNatureFromBin( EndianIStream& eis); 02125 void assocSpectralWindowIdFromBin( EndianIStream& eis); 02126 void imageSpectralWindowIdFromBin( EndianIStream& eis); 02127 void dopplerIdFromBin( EndianIStream& eis); 02128 02129 */ 02130 02132 // text-deserialization material // 02134 std::map<std::string, SpectralWindowAttributeFromText> fromTextMethods; 02135 02136 void spectralWindowIdFromText (const string & s); 02137 02138 02139 void basebandNameFromText (const string & s); 02140 02141 02142 void netSidebandFromText (const string & s); 02143 02144 02145 void numChanFromText (const string & s); 02146 02147 02148 void refFreqFromText (const string & s); 02149 02150 02151 void sidebandProcessingModeFromText (const string & s); 02152 02153 02154 void totBandwidthFromText (const string & s); 02155 02156 02157 void windowFunctionFromText (const string & s); 02158 02159 02160 02161 void chanFreqStartFromText (const string & s); 02162 02163 02164 void chanFreqStepFromText (const string & s); 02165 02166 02167 void chanFreqArrayFromText (const string & s); 02168 02169 02170 void chanWidthFromText (const string & s); 02171 02172 02173 void chanWidthArrayFromText (const string & s); 02174 02175 02176 void correlationBitFromText (const string & s); 02177 02178 02179 void effectiveBwFromText (const string & s); 02180 02181 02182 void effectiveBwArrayFromText (const string & s); 02183 02184 02185 void freqGroupFromText (const string & s); 02186 02187 02188 void freqGroupNameFromText (const string & s); 02189 02190 02191 void lineArrayFromText (const string & s); 02192 02193 02194 void measFreqRefFromText (const string & s); 02195 02196 02197 void nameFromText (const string & s); 02198 02199 02200 void oversamplingFromText (const string & s); 02201 02202 02203 void quantizationFromText (const string & s); 02204 02205 02206 void refChanFromText (const string & s); 02207 02208 02209 void resolutionFromText (const string & s); 02210 02211 02212 void resolutionArrayFromText (const string & s); 02213 02214 02215 void numAssocValuesFromText (const string & s); 02216 02217 02218 void assocNatureFromText (const string & s); 02219 02220 02221 void assocSpectralWindowIdFromText (const string & s); 02222 02223 02224 void imageSpectralWindowIdFromText (const string & s); 02225 02226 02227 void dopplerIdFromText (const string & s); 02228 02229 02230 02235 void toBin(EndianOSStream& eoss); 02236 02246 }; 02247 02248 } // End namespace asdm 02249 02250 #endif /* SpectralWindow_CLASS */