casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
SpectralWindowRow.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 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 */