SpectralWindowRow.h

00001 
00002 /*
00003  * ALMA - Atacama Large Millimeter Array
00004  * (c) European Southern Observatory, 2002
00005  * (c) Associated Universities Inc., 2002
00006  * Copyright by ESO (in the framework of the ALMA collaboration),
00007  * Copyright by AUI (in the framework of the ALMA collaboration),
00008  * All rights reserved.
00009  * 
00010  * This library is free software; you can redistribute it and/or
00011  * modify it under the terms of the GNU Lesser General Public
00012  * License as published by the Free software Foundation; either
00013  * version 2.1 of the License, or (at your option) any later version.
00014  * 
00015  * This library is distributed in the hope that it will be useful,
00016  * but WITHOUT ANY WARRANTY, without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018  * Lesser General Public License for more details.
00019  * 
00020  * You should have received a copy of the GNU Lesser General Public
00021  * License along with this library; if not, write to the Free Software
00022  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
00023  * MA 02111-1307  USA
00024  *
00025  * Warning!
00026  *  -------------------------------------------------------------------- 
00027  * | This is generated code!  Do not modify this file.                  |
00028  * | If you do, all changes will be lost when the file is re-generated. |
00029  *  --------------------------------------------------------------------
00030  *
00031  * File SpectralWindowRow.h
00032  */
00033  
00034 #ifndef SpectralWindowRow_CLASS
00035 #define SpectralWindowRow_CLASS
00036 
00037 #include <vector>
00038 #include <string>
00039 #include <set>
00040 using std::vector;
00041 using std::string;
00042 using std::set;
00043 
00044 #ifndef WITHOUT_ACS
00045 #include <asdmIDLC.h>
00046 using asdmIDL::SpectralWindowRowIDL;
00047 #endif
00048 
00049 #include <Angle.h>
00050 #include <AngularRate.h>
00051 #include <ArrayTime.h>
00052 #include <ArrayTimeInterval.h>
00053 #include <Complex.h>
00054 #include <Entity.h>
00055 #include <EntityId.h>
00056 #include <EntityRef.h>
00057 #include <Flux.h>
00058 #include <Frequency.h>
00059 #include <Humidity.h>
00060 #include <Interval.h>
00061 #include <Length.h>
00062 #include <Pressure.h>
00063 #include <Speed.h>
00064 #include <Tag.h>
00065 #include <Temperature.h>
00066 #include <ConversionException.h>
00067 #include <NoSuchRow.h>
00068 #include <IllegalAccessException.h>
00069 
00070 /*
00071 #include <Enumerations.h>
00072 using namespace enumerations;
00073  */
00074 
00075 
00076 
00077 
00078         
00079 
00080         
00081 
00082         
00083 
00084         
00085 
00086         
00087 
00088         
00089 
00090         
00091 
00092         
00093 
00094         
00095 
00096         
00097 
00098         
00099 #include "CNetSideband.h"
00100 using namespace NetSidebandMod;
00101         
00102 
00103         
00104 #include "CSidebandProcessingMode.h"
00105 using namespace SidebandProcessingModeMod;
00106         
00107 
00108         
00109 #include "CBasebandName.h"
00110 using namespace BasebandNameMod;
00111         
00112 
00113         
00114 
00115         
00116 
00117         
00118 
00119         
00120 
00121         
00122 #include "CSpectralResolutionType.h"
00123 using namespace SpectralResolutionTypeMod;
00124         
00125 
00126         
00127 
00128         
00129 #include "CWindowFunction.h"
00130 using namespace WindowFunctionMod;
00131         
00132 
00133         
00134 
00135         
00136 #include "CCorrelationBit.h"
00137 using namespace CorrelationBitMod;
00138         
00139 
00140         
00141 
00142 
00143 
00144 using asdm::Angle;
00145 using asdm::AngularRate;
00146 using asdm::ArrayTime;
00147 using asdm::Complex;
00148 using asdm::Entity;
00149 using asdm::EntityId;
00150 using asdm::EntityRef;
00151 using asdm::Flux;
00152 using asdm::Frequency;
00153 using asdm::Humidity;
00154 using asdm::Interval;
00155 using asdm::Length;
00156 using asdm::Pressure;
00157 using asdm::Speed;
00158 using asdm::Tag;
00159 using asdm::Temperature;
00160 using asdm::ConversionException;
00161 using asdm::NoSuchRow;
00162 using asdm::IllegalAccessException;
00163 
00164 /*\file SpectralWindow.h
00165     \brief Generated from model's revision "1.41", branch "HEAD"
00166 */
00167 
00168 namespace asdm {
00169 
00170 //class asdm::SpectralWindowTable;
00171 
00172 
00173 // class asdm::DopplerRow;
00174 class DopplerRow;
00175 
00176 // class asdm::SpectralWindowRow;
00177 class SpectralWindowRow;
00178 
00179 // class asdm::SpectralWindowRow;
00180 class SpectralWindowRow;
00181         
00182 
00189 class SpectralWindowRow {
00190 friend class asdm::SpectralWindowTable;
00191 
00192 public:
00193 
00194         virtual ~SpectralWindowRow();
00195 
00199         SpectralWindowTable &getTable() const;
00200         
00201 #ifndef WITHOUT_ACS
00202 
00206         SpectralWindowRowIDL *toIDL() const;
00207 #endif
00208         
00209 #ifndef WITHOUT_ACS
00210 
00214         void setFromIDL (SpectralWindowRowIDL x) throw(ConversionException);
00215 #endif
00216         
00221         string toXML() const;
00222 
00228         void setFromXML (string rowDoc) throw(ConversionException);
00229         
00231         // Intrinsic Table Attributes //
00233         
00234         
00235         // ===> Attribute spectralWindowId
00236         
00237         
00238         
00239 
00240         
00245         Tag getSpectralWindowId() const;
00246         
00247  
00248         
00249         
00250         
00251         
00252 
00253 
00254         
00255         // ===> Attribute numChan
00256         
00257         
00258         
00259 
00260         
00265         int getNumChan() const;
00266         
00267  
00268         
00269         
00275         void setNumChan (int numChan);
00276                 
00277         
00278         
00279         
00280 
00281 
00282         
00283         // ===> Attribute name, which is optional
00284         
00285         
00286         
00291         bool isNameExists() const;
00292         
00293 
00294         
00300         string getName() const throw(IllegalAccessException);
00301         
00302  
00303         
00304         
00310         void setName (string name);
00311                 
00312         
00313         
00314         
00318         void clearName ();
00319         
00320 
00321 
00322         
00323         // ===> Attribute refFreq
00324         
00325         
00326         
00327 
00328         
00333         Frequency getRefFreq() const;
00334         
00335  
00336         
00337         
00343         void setRefFreq (Frequency refFreq);
00344                 
00345         
00346         
00347         
00348 
00349 
00350         
00351         // ===> Attribute chanFreq
00352         
00353         
00354         
00355 
00356         
00361         vector<Frequency > getChanFreq() const;
00362         
00363  
00364         
00365         
00371         void setChanFreq (vector<Frequency > chanFreq);
00372                 
00373         
00374         
00375         
00376 
00377 
00378         
00379         // ===> Attribute chanWidth
00380         
00381         
00382         
00383 
00384         
00389         vector<Frequency > getChanWidth() const;
00390         
00391  
00392         
00393         
00399         void setChanWidth (vector<Frequency > chanWidth);
00400                 
00401         
00402         
00403         
00404 
00405 
00406         
00407         // ===> Attribute measFreqRef, which is optional
00408         
00409         
00410         
00415         bool isMeasFreqRefExists() const;
00416         
00417 
00418         
00424         int getMeasFreqRef() const throw(IllegalAccessException);
00425         
00426  
00427         
00428         
00434         void setMeasFreqRef (int measFreqRef);
00435                 
00436         
00437         
00438         
00442         void clearMeasFreqRef ();
00443         
00444 
00445 
00446         
00447         // ===> Attribute effectiveBw
00448         
00449         
00450         
00451 
00452         
00457         vector<Frequency > getEffectiveBw() const;
00458         
00459  
00460         
00461         
00467         void setEffectiveBw (vector<Frequency > effectiveBw);
00468                 
00469         
00470         
00471         
00472 
00473 
00474         
00475         // ===> Attribute resolution
00476         
00477         
00478         
00479 
00480         
00485         vector<Frequency > getResolution() const;
00486         
00487  
00488         
00489         
00495         void setResolution (vector<Frequency > resolution);
00496                 
00497         
00498         
00499         
00500 
00501 
00502         
00503         // ===> Attribute totBandwidth
00504         
00505         
00506         
00507 
00508         
00513         Frequency getTotBandwidth() const;
00514         
00515  
00516         
00517         
00523         void setTotBandwidth (Frequency totBandwidth);
00524                 
00525         
00526         
00527         
00528 
00529 
00530         
00531         // ===> Attribute netSideband
00532         
00533         
00534         
00535 
00536         
00541         NetSideband getNetSideband() const;
00542         
00543  
00544         
00545         
00551         void setNetSideband (NetSideband netSideband);
00552                 
00553         
00554         
00555         
00556 
00557 
00558         
00559         // ===> Attribute sidebandProcessingMode
00560         
00561         
00562         
00563 
00564         
00569         SidebandProcessingMode getSidebandProcessingMode() const;
00570         
00571  
00572         
00573         
00579         void setSidebandProcessingMode (SidebandProcessingMode sidebandProcessingMode);
00580                 
00581         
00582         
00583         
00584 
00585 
00586         
00587         // ===> Attribute basebandName, which is optional
00588         
00589         
00590         
00595         bool isBasebandNameExists() const;
00596         
00597 
00598         
00604         BasebandName getBasebandName() const throw(IllegalAccessException);
00605         
00606  
00607         
00608         
00614         void setBasebandName (BasebandName basebandName);
00615                 
00616         
00617         
00618         
00622         void clearBasebandName ();
00623         
00624 
00625 
00626         
00627         // ===> Attribute bbcSideband, which is optional
00628         
00629         
00630         
00635         bool isBbcSidebandExists() const;
00636         
00637 
00638         
00644         int getBbcSideband() const throw(IllegalAccessException);
00645         
00646  
00647         
00648         
00654         void setBbcSideband (int bbcSideband);
00655                 
00656         
00657         
00658         
00662         void clearBbcSideband ();
00663         
00664 
00665 
00666         
00667         // ===> Attribute ifConvChain, which is optional
00668         
00669         
00670         
00675         bool isIfConvChainExists() const;
00676         
00677 
00678         
00684         int getIfConvChain() const throw(IllegalAccessException);
00685         
00686  
00687         
00688         
00694         void setIfConvChain (int ifConvChain);
00695                 
00696         
00697         
00698         
00702         void clearIfConvChain ();
00703         
00704 
00705 
00706         
00707         // ===> Attribute freqGroup, which is optional
00708         
00709         
00710         
00715         bool isFreqGroupExists() const;
00716         
00717 
00718         
00724         int getFreqGroup() const throw(IllegalAccessException);
00725         
00726  
00727         
00728         
00734         void setFreqGroup (int freqGroup);
00735                 
00736         
00737         
00738         
00742         void clearFreqGroup ();
00743         
00744 
00745 
00746         
00747         // ===> Attribute freqGroupName, which is optional
00748         
00749         
00750         
00755         bool isFreqGroupNameExists() const;
00756         
00757 
00758         
00764         string getFreqGroupName() const throw(IllegalAccessException);
00765         
00766  
00767         
00768         
00774         void setFreqGroupName (string freqGroupName);
00775                 
00776         
00777         
00778         
00782         void clearFreqGroupName ();
00783         
00784 
00785 
00786         
00787         // ===> Attribute assocNature, which is optional
00788         
00789         
00790         
00795         bool isAssocNatureExists() const;
00796         
00797 
00798         
00804         vector<SpectralResolutionType > getAssocNature() const throw(IllegalAccessException);
00805         
00806  
00807         
00808         
00814         void setAssocNature (vector<SpectralResolutionType > assocNature);
00815                 
00816         
00817         
00818         
00822         void clearAssocNature ();
00823         
00824 
00825 
00826         
00827         // ===> Attribute quantization
00828         
00829         
00830         
00831 
00832         
00837         bool getQuantization() const;
00838         
00839  
00840         
00841         
00847         void setQuantization (bool quantization);
00848                 
00849         
00850         
00851         
00852 
00853 
00854         
00855         // ===> Attribute windowFunction
00856         
00857         
00858         
00859 
00860         
00865         WindowFunction getWindowFunction() const;
00866         
00867  
00868         
00869         
00875         void setWindowFunction (WindowFunction windowFunction);
00876                 
00877         
00878         
00879         
00880 
00881 
00882         
00883         // ===> Attribute oversampling
00884         
00885         
00886         
00887 
00888         
00893         bool getOversampling() const;
00894         
00895  
00896         
00897         
00903         void setOversampling (bool oversampling);
00904                 
00905         
00906         
00907         
00908 
00909 
00910         
00911         // ===> Attribute correlationBit
00912         
00913         
00914         
00915 
00916         
00921         CorrelationBit getCorrelationBit() const;
00922         
00923  
00924         
00925         
00931         void setCorrelationBit (CorrelationBit correlationBit);
00932                 
00933         
00934         
00935         
00936 
00937 
00938         
00939         // ===> Attribute flagRow
00940         
00941         
00942         
00943 
00944         
00949         bool getFlagRow() const;
00950         
00951  
00952         
00953         
00959         void setFlagRow (bool flagRow);
00960                 
00961         
00962         
00963         
00964 
00965 
00967         // Extrinsic Table Attributes //
00969         
00970         
00971         // ===> Attribute assocSpectralWindowId, which is optional
00972         
00973         
00974         
00979         bool isAssocSpectralWindowIdExists() const;
00980         
00981 
00982         
00988         vector<Tag>  getAssocSpectralWindowId() const throw(IllegalAccessException);
00989         
00990  
00991         
00992         
00998         void setAssocSpectralWindowId (vector<Tag>  assocSpectralWindowId);
00999                 
01000         
01001         
01002         
01006         void clearAssocSpectralWindowId ();
01007         
01008 
01009 
01010         
01011         // ===> Attribute dopplerId, which is optional
01012         
01013         
01014         
01019         bool isDopplerIdExists() const;
01020         
01021 
01022         
01028         int getDopplerId() const throw(IllegalAccessException);
01029         
01030  
01031         
01032         
01038         void setDopplerId (int dopplerId);
01039                 
01040         
01041         
01042         
01046         void clearDopplerId ();
01047         
01048 
01049 
01050         
01051         // ===> Attribute imageSpectralWindowId, which is optional
01052         
01053         
01054         
01059         bool isImageSpectralWindowIdExists() const;
01060         
01061 
01062         
01068         Tag getImageSpectralWindowId() const throw(IllegalAccessException);
01069         
01070  
01071         
01072         
01078         void setImageSpectralWindowId (Tag imageSpectralWindowId);
01079                 
01080         
01081         
01082         
01086         void clearImageSpectralWindowId ();
01087         
01088 
01089 
01091         // Links //
01093         
01094         
01095 
01096         
01097                 
01098         // ===> Slice link from a row of SpectralWindow table to a collection of row of Doppler table.
01099         
01105         vector <DopplerRow *> getDopplers();
01106         
01107         
01108 
01109         
01110 
01111         
01112                 
01120         void setAssocSpectralWindowId (int i, Tag assocSpectralWindowId) throw(IllegalAccessException, OutOfBoundsException); 
01121                         
01122         
01123 
01124         
01125                  
01130  void addAssocSpectralWindowId(Tag id); 
01131 
01136  void addAssocSpectralWindowId(const vector<Tag> & id); 
01137  
01138 
01144  const Tag getAssocSpectralWindowId(int i);
01145  
01153  SpectralWindowRow* getSpectralWindow(int i); 
01154  
01159  vector<SpectralWindowRow *> getSpectralWindows(); 
01160   
01161 
01162         
01163 
01164         
01165 
01166         
01167                 
01176          SpectralWindowRow* getSpectralWindowUsingImageSpectralWindowId();
01177          
01178 
01179         
01180 
01181         
01182         
01183         
01188         bool compareNoAutoInc(int numChan, Frequency refFreq, vector<Frequency > chanFreq, vector<Frequency > chanWidth, vector<Frequency > effectiveBw, vector<Frequency > resolution, Frequency totBandwidth, NetSideband netSideband, SidebandProcessingMode sidebandProcessingMode, bool quantization, WindowFunction windowFunction, bool oversampling, CorrelationBit correlationBit, bool flagRow);
01189         
01190         
01191 
01192         
01193         bool compareRequiredValue(int numChan, Frequency refFreq, vector<Frequency > chanFreq, vector<Frequency > chanWidth, vector<Frequency > effectiveBw, vector<Frequency > resolution, Frequency totBandwidth, NetSideband netSideband, SidebandProcessingMode sidebandProcessingMode, bool quantization, WindowFunction windowFunction, bool oversampling, CorrelationBit correlationBit, bool flagRow); 
01194                  
01195         
01204         bool equalByRequiredValue(SpectralWindowRow* x) ;
01205 
01206 private:
01210         SpectralWindowTable &table;
01214         bool hasBeenAdded;
01215 
01216         // This method is used by the Table class when this row is added to the table.
01217         void isAdded();
01218 
01219 
01228         SpectralWindowRow (SpectralWindowTable &table);
01229 
01247          SpectralWindowRow (SpectralWindowTable &table, SpectralWindowRow &row);
01248                 
01250         // Intrinsic Table Attributes //
01252         
01253         
01254         // ===> Attribute spectralWindowId
01255         
01256         
01257 
01258         Tag spectralWindowId;
01259 
01260         
01261         
01262         
01269         void setSpectralWindowId (Tag spectralWindowId) throw(IllegalAccessException);
01270                 
01271         
01272 
01273         
01274         // ===> Attribute numChan
01275         
01276         
01277 
01278         int numChan;
01279 
01280         
01281         
01282         
01283 
01284         
01285         // ===> Attribute name, which is optional
01286         
01287         
01288         bool nameExists;
01289         
01290 
01291         string name;
01292 
01293         
01294         
01295         
01296 
01297         
01298         // ===> Attribute refFreq
01299         
01300         
01301 
01302         Frequency refFreq;
01303 
01304         
01305         
01306         
01307 
01308         
01309         // ===> Attribute chanFreq
01310         
01311         
01312 
01313         vector<Frequency > chanFreq;
01314 
01315         
01316         
01317         
01318 
01319         
01320         // ===> Attribute chanWidth
01321         
01322         
01323 
01324         vector<Frequency > chanWidth;
01325 
01326         
01327         
01328         
01329 
01330         
01331         // ===> Attribute measFreqRef, which is optional
01332         
01333         
01334         bool measFreqRefExists;
01335         
01336 
01337         int measFreqRef;
01338 
01339         
01340         
01341         
01342 
01343         
01344         // ===> Attribute effectiveBw
01345         
01346         
01347 
01348         vector<Frequency > effectiveBw;
01349 
01350         
01351         
01352         
01353 
01354         
01355         // ===> Attribute resolution
01356         
01357         
01358 
01359         vector<Frequency > resolution;
01360 
01361         
01362         
01363         
01364 
01365         
01366         // ===> Attribute totBandwidth
01367         
01368         
01369 
01370         Frequency totBandwidth;
01371 
01372         
01373         
01374         
01375 
01376         
01377         // ===> Attribute netSideband
01378         
01379         
01380 
01381         NetSideband netSideband;
01382 
01383         
01384         
01385         
01386 
01387         
01388         // ===> Attribute sidebandProcessingMode
01389         
01390         
01391 
01392         SidebandProcessingMode sidebandProcessingMode;
01393 
01394         
01395         
01396         
01397 
01398         
01399         // ===> Attribute basebandName, which is optional
01400         
01401         
01402         bool basebandNameExists;
01403         
01404 
01405         BasebandName basebandName;
01406 
01407         
01408         
01409         
01410 
01411         
01412         // ===> Attribute bbcSideband, which is optional
01413         
01414         
01415         bool bbcSidebandExists;
01416         
01417 
01418         int bbcSideband;
01419 
01420         
01421         
01422         
01423 
01424         
01425         // ===> Attribute ifConvChain, which is optional
01426         
01427         
01428         bool ifConvChainExists;
01429         
01430 
01431         int ifConvChain;
01432 
01433         
01434         
01435         
01436 
01437         
01438         // ===> Attribute freqGroup, which is optional
01439         
01440         
01441         bool freqGroupExists;
01442         
01443 
01444         int freqGroup;
01445 
01446         
01447         
01448         
01449 
01450         
01451         // ===> Attribute freqGroupName, which is optional
01452         
01453         
01454         bool freqGroupNameExists;
01455         
01456 
01457         string freqGroupName;
01458 
01459         
01460         
01461         
01462 
01463         
01464         // ===> Attribute assocNature, which is optional
01465         
01466         
01467         bool assocNatureExists;
01468         
01469 
01470         vector<SpectralResolutionType > assocNature;
01471 
01472         
01473         
01474         
01475 
01476         
01477         // ===> Attribute quantization
01478         
01479         
01480 
01481         bool quantization;
01482 
01483         
01484         
01485         
01486 
01487         
01488         // ===> Attribute windowFunction
01489         
01490         
01491 
01492         WindowFunction windowFunction;
01493 
01494         
01495         
01496         
01497 
01498         
01499         // ===> Attribute oversampling
01500         
01501         
01502 
01503         bool oversampling;
01504 
01505         
01506         
01507         
01508 
01509         
01510         // ===> Attribute correlationBit
01511         
01512         
01513 
01514         CorrelationBit correlationBit;
01515 
01516         
01517         
01518         
01519 
01520         
01521         // ===> Attribute flagRow
01522         
01523         
01524 
01525         bool flagRow;
01526 
01527         
01528         
01529         
01530 
01532         // Extrinsic Table Attributes //
01534         
01535         
01536         // ===> Attribute assocSpectralWindowId, which is optional
01537         
01538         
01539         bool assocSpectralWindowIdExists;
01540         
01541 
01542         vector<Tag>  assocSpectralWindowId;
01543 
01544         
01545         
01546         
01547 
01548         
01549         // ===> Attribute dopplerId, which is optional
01550         
01551         
01552         bool dopplerIdExists;
01553         
01554 
01555         int dopplerId;
01556 
01557         
01558         
01559         
01560 
01561         
01562         // ===> Attribute imageSpectralWindowId, which is optional
01563         
01564         
01565         bool imageSpectralWindowIdExists;
01566         
01567 
01568         Tag imageSpectralWindowId;
01569 
01570         
01571         
01572         
01573 
01575         // Links //
01577         
01578         
01579                 
01580 
01581 
01582         
01583 
01584         
01585                 
01586 
01587 
01588         
01589 
01590         
01591                 
01592 
01593          
01594 
01595         
01596 
01597 
01598 };
01599 
01600 } // End namespace asdm
01601 
01602 #endif /* SpectralWindow_CLASS */

Generated on Thu Nov 29 16:46:47 2007 for ASDM C++ Implementation by  doxygen 1.5.1