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