CalBandpassRow.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 CalBandpassRow.h
00032  */
00033  
00034 #ifndef CalBandpassRow_CLASS
00035 #define CalBandpassRow_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::CalBandpassRowIDL;
00047 #endif
00048 
00049 
00050 
00051 
00052 
00053 
00054 #include <ArrayTime.h>
00055 using  asdm::ArrayTime;
00056 
00057 #include <Tag.h>
00058 using  asdm::Tag;
00059 
00060 #include <Frequency.h>
00061 using  asdm::Frequency;
00062 
00063 
00064 
00065 
00066         
00067 #include "CBasebandName.h"
00068 using namespace BasebandNameMod;
00069         
00070 
00071         
00072 #include "CNetSideband.h"
00073 using namespace NetSidebandMod;
00074         
00075 
00076         
00077 #include "CAtmPhaseCorrection.h"
00078 using namespace AtmPhaseCorrectionMod;
00079         
00080 
00081         
00082 #include "CCalCurveType.h"
00083 using namespace CalCurveTypeMod;
00084         
00085 
00086         
00087 #include "CReceiverBand.h"
00088 using namespace ReceiverBandMod;
00089         
00090 
00091         
00092 
00093         
00094 
00095         
00096 
00097         
00098 
00099         
00100 
00101         
00102 
00103         
00104 
00105         
00106 
00107         
00108 #include "CPolarizationType.h"
00109 using namespace PolarizationTypeMod;
00110         
00111 
00112         
00113 
00114         
00115 
00116         
00117 
00118         
00119 
00120 
00121 
00122 #include <ConversionException.h>
00123 #include <NoSuchRow.h>
00124 #include <IllegalAccessException.h>
00125 
00126 
00127 /*\file CalBandpass.h
00128     \brief Generated from model's revision "1.55", branch "HEAD"
00129 */
00130 
00131 namespace asdm {
00132 
00133 //class asdm::CalBandpassTable;
00134 
00135 
00136 // class asdm::CalReductionRow;
00137 class CalReductionRow;
00138 
00139 // class asdm::CalDataRow;
00140 class CalDataRow;
00141         
00142 
00143 class CalBandpassRow;
00144 typedef void (CalBandpassRow::*CalBandpassAttributeFromBin) (EndianISStream& eiss);
00145 
00152 class CalBandpassRow {
00153 friend class asdm::CalBandpassTable;
00154 
00155 public:
00156 
00157         virtual ~CalBandpassRow();
00158 
00162         CalBandpassTable &getTable() const;
00163         
00168         bool isAdded() const;
00169                 
00171         // Intrinsic Table Attributes //
00173         
00174         
00175         // ===> Attribute basebandName
00176         
00177         
00178         
00179 
00180         
00185         BasebandNameMod::BasebandName getBasebandName() const;
00186         
00187  
00188         
00189         
00199         void setBasebandName (BasebandNameMod::BasebandName basebandName);
00200                 
00201         
00202         
00203         
00204 
00205 
00206         
00207         // ===> Attribute sideband
00208         
00209         
00210         
00211 
00212         
00217         NetSidebandMod::NetSideband getSideband() const;
00218         
00219  
00220         
00221         
00231         void setSideband (NetSidebandMod::NetSideband sideband);
00232                 
00233         
00234         
00235         
00236 
00237 
00238         
00239         // ===> Attribute atmPhaseCorrection
00240         
00241         
00242         
00243 
00244         
00249         AtmPhaseCorrectionMod::AtmPhaseCorrection getAtmPhaseCorrection() const;
00250         
00251  
00252         
00253         
00263         void setAtmPhaseCorrection (AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection);
00264                 
00265         
00266         
00267         
00268 
00269 
00270         
00271         // ===> Attribute typeCurve
00272         
00273         
00274         
00275 
00276         
00281         CalCurveTypeMod::CalCurveType getTypeCurve() const;
00282         
00283  
00284         
00285         
00295         void setTypeCurve (CalCurveTypeMod::CalCurveType typeCurve);
00296                 
00297         
00298         
00299         
00300 
00301 
00302         
00303         // ===> Attribute receiverBand
00304         
00305         
00306         
00307 
00308         
00313         ReceiverBandMod::ReceiverBand getReceiverBand() const;
00314         
00315  
00316         
00317         
00327         void setReceiverBand (ReceiverBandMod::ReceiverBand receiverBand);
00328                 
00329         
00330         
00331         
00332 
00333 
00334         
00335         // ===> Attribute startValidTime
00336         
00337         
00338         
00339 
00340         
00345         ArrayTime getStartValidTime() const;
00346         
00347  
00348         
00349         
00357         void setStartValidTime (ArrayTime startValidTime);
00358                 
00359         
00360         
00361         
00362 
00363 
00364         
00365         // ===> Attribute endValidTime
00366         
00367         
00368         
00369 
00370         
00375         ArrayTime getEndValidTime() const;
00376         
00377  
00378         
00379         
00387         void setEndValidTime (ArrayTime endValidTime);
00388                 
00389         
00390         
00391         
00392 
00393 
00394         
00395         // ===> Attribute numAntenna
00396         
00397         
00398         
00399 
00400         
00405         int getNumAntenna() const;
00406         
00407  
00408         
00409         
00417         void setNumAntenna (int numAntenna);
00418                 
00419         
00420         
00421         
00422 
00423 
00424         
00425         // ===> Attribute numPoly
00426         
00427         
00428         
00429 
00430         
00435         int getNumPoly() const;
00436         
00437  
00438         
00439         
00447         void setNumPoly (int numPoly);
00448                 
00449         
00450         
00451         
00452 
00453 
00454         
00455         // ===> Attribute numReceptor
00456         
00457         
00458         
00459 
00460         
00465         int getNumReceptor() const;
00466         
00467  
00468         
00469         
00477         void setNumReceptor (int numReceptor);
00478                 
00479         
00480         
00481         
00482 
00483 
00484         
00485         // ===> Attribute antennaNames
00486         
00487         
00488         
00489 
00490         
00495         vector<string > getAntennaNames() const;
00496         
00497  
00498         
00499         
00507         void setAntennaNames (vector<string > antennaNames);
00508                 
00509         
00510         
00511         
00512 
00513 
00514         
00515         // ===> Attribute refAntennaName
00516         
00517         
00518         
00519 
00520         
00525         string getRefAntennaName() const;
00526         
00527  
00528         
00529         
00537         void setRefAntennaName (string refAntennaName);
00538                 
00539         
00540         
00541         
00542 
00543 
00544         
00545         // ===> Attribute freqLimits
00546         
00547         
00548         
00549 
00550         
00555         vector<Frequency > getFreqLimits() const;
00556         
00557  
00558         
00559         
00567         void setFreqLimits (vector<Frequency > freqLimits);
00568                 
00569         
00570         
00571         
00572 
00573 
00574         
00575         // ===> Attribute polarizationTypes
00576         
00577         
00578         
00579 
00580         
00585         vector<PolarizationTypeMod::PolarizationType > getPolarizationTypes() const;
00586         
00587  
00588         
00589         
00597         void setPolarizationTypes (vector<PolarizationTypeMod::PolarizationType > polarizationTypes);
00598                 
00599         
00600         
00601         
00602 
00603 
00604         
00605         // ===> Attribute curve
00606         
00607         
00608         
00609 
00610         
00615         vector<vector<vector<float > > > getCurve() const;
00616         
00617  
00618         
00619         
00627         void setCurve (vector<vector<vector<float > > > curve);
00628                 
00629         
00630         
00631         
00632 
00633 
00634         
00635         // ===> Attribute reducedChiSquared
00636         
00637         
00638         
00639 
00640         
00645         vector<double > getReducedChiSquared() const;
00646         
00647  
00648         
00649         
00657         void setReducedChiSquared (vector<double > reducedChiSquared);
00658                 
00659         
00660         
00661         
00662 
00663 
00664         
00665         // ===> Attribute numBaseline, which is optional
00666         
00667         
00668         
00673         bool isNumBaselineExists() const;
00674         
00675 
00676         
00682         int getNumBaseline() const;
00683         
00684  
00685         
00686         
00693         void setNumBaseline (int numBaseline);
00694                 
00695         
00696         
00697         
00701         void clearNumBaseline ();
00702         
00703 
00704 
00705         
00706         // ===> Attribute rms, which is optional
00707         
00708         
00709         
00714         bool isRmsExists() const;
00715         
00716 
00717         
00723         vector<vector<float > > getRms() const;
00724         
00725  
00726         
00727         
00734         void setRms (vector<vector<float > > rms);
00735                 
00736         
00737         
00738         
00742         void clearRms ();
00743         
00744 
00745 
00747         // Extrinsic Table Attributes //
00749         
00750         
00751         // ===> Attribute calDataId
00752         
00753         
00754         
00755 
00756         
00761         Tag getCalDataId() const;
00762         
00763  
00764         
00765         
00775         void setCalDataId (Tag calDataId);
00776                 
00777         
00778         
00779         
00780 
00781 
00782         
00783         // ===> Attribute calReductionId
00784         
00785         
00786         
00787 
00788         
00793         Tag getCalReductionId() const;
00794         
00795  
00796         
00797         
00807         void setCalReductionId (Tag calReductionId);
00808                 
00809         
00810         
00811         
00812 
00813 
00815         // Links //
00817         
00818         
00819 
00820         
00821                 
00828          CalReductionRow* getCalReductionUsingCalReductionId();
00829          
00830 
00831         
00832 
00833         
00834 
00835         
00836                 
00843          CalDataRow* getCalDataUsingCalDataId();
00844          
00845 
00846         
00847 
00848         
00849         
00850         
00892         bool compareNoAutoInc(BasebandNameMod::BasebandName basebandName, NetSidebandMod::NetSideband sideband, AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection, CalCurveTypeMod::CalCurveType typeCurve, ReceiverBandMod::ReceiverBand receiverBand, Tag calDataId, Tag calReductionId, ArrayTime startValidTime, ArrayTime endValidTime, int numAntenna, int numPoly, int numReceptor, vector<string > antennaNames, string refAntennaName, vector<Frequency > freqLimits, vector<PolarizationTypeMod::PolarizationType > polarizationTypes, vector<vector<vector<float > > > curve, vector<double > reducedChiSquared);
00893         
00894         
00895 
00896         
00924         bool compareRequiredValue(ArrayTime startValidTime, ArrayTime endValidTime, int numAntenna, int numPoly, int numReceptor, vector<string > antennaNames, string refAntennaName, vector<Frequency > freqLimits, vector<PolarizationTypeMod::PolarizationType > polarizationTypes, vector<vector<vector<float > > > curve, vector<double > reducedChiSquared); 
00925                  
00926         
00935         bool equalByRequiredValue(CalBandpassRow* x) ;
00936         
00937 #ifndef WITHOUT_ACS
00938 
00942         CalBandpassRowIDL *toIDL() const;
00943 #endif
00944         
00945 #ifndef WITHOUT_ACS
00946 
00951         void setFromIDL (CalBandpassRowIDL x) ;
00952 #endif
00953         
00958         string toXML() const;
00959 
00966         void setFromXML (string rowDoc) ;       
00967 
00968 private:
00972         CalBandpassTable &table;
00976         bool hasBeenAdded;
00977 
00978         // This method is used by the Table class when this row is added to the table.
00979         void isAdded(bool added);
00980 
00981 
00990         CalBandpassRow (CalBandpassTable &table);
00991 
01009          CalBandpassRow (CalBandpassTable &table, CalBandpassRow &row);
01010                 
01012         // Intrinsic Table Attributes //
01014         
01015         
01016         // ===> Attribute basebandName
01017         
01018         
01019 
01020         BasebandNameMod::BasebandName basebandName;
01021 
01022         
01023         
01024         
01025 
01026         
01027         // ===> Attribute sideband
01028         
01029         
01030 
01031         NetSidebandMod::NetSideband sideband;
01032 
01033         
01034         
01035         
01036 
01037         
01038         // ===> Attribute atmPhaseCorrection
01039         
01040         
01041 
01042         AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection;
01043 
01044         
01045         
01046         
01047 
01048         
01049         // ===> Attribute typeCurve
01050         
01051         
01052 
01053         CalCurveTypeMod::CalCurveType typeCurve;
01054 
01055         
01056         
01057         
01058 
01059         
01060         // ===> Attribute receiverBand
01061         
01062         
01063 
01064         ReceiverBandMod::ReceiverBand receiverBand;
01065 
01066         
01067         
01068         
01069 
01070         
01071         // ===> Attribute startValidTime
01072         
01073         
01074 
01075         ArrayTime startValidTime;
01076 
01077         
01078         
01079         
01080 
01081         
01082         // ===> Attribute endValidTime
01083         
01084         
01085 
01086         ArrayTime endValidTime;
01087 
01088         
01089         
01090         
01091 
01092         
01093         // ===> Attribute numAntenna
01094         
01095         
01096 
01097         int numAntenna;
01098 
01099         
01100         
01101         
01102 
01103         
01104         // ===> Attribute numPoly
01105         
01106         
01107 
01108         int numPoly;
01109 
01110         
01111         
01112         
01113 
01114         
01115         // ===> Attribute numReceptor
01116         
01117         
01118 
01119         int numReceptor;
01120 
01121         
01122         
01123         
01124 
01125         
01126         // ===> Attribute antennaNames
01127         
01128         
01129 
01130         vector<string > antennaNames;
01131 
01132         
01133         
01134         
01135 
01136         
01137         // ===> Attribute refAntennaName
01138         
01139         
01140 
01141         string refAntennaName;
01142 
01143         
01144         
01145         
01146 
01147         
01148         // ===> Attribute freqLimits
01149         
01150         
01151 
01152         vector<Frequency > freqLimits;
01153 
01154         
01155         
01156         
01157 
01158         
01159         // ===> Attribute polarizationTypes
01160         
01161         
01162 
01163         vector<PolarizationTypeMod::PolarizationType > polarizationTypes;
01164 
01165         
01166         
01167         
01168 
01169         
01170         // ===> Attribute curve
01171         
01172         
01173 
01174         vector<vector<vector<float > > > curve;
01175 
01176         
01177         
01178         
01179 
01180         
01181         // ===> Attribute reducedChiSquared
01182         
01183         
01184 
01185         vector<double > reducedChiSquared;
01186 
01187         
01188         
01189         
01190 
01191         
01192         // ===> Attribute numBaseline, which is optional
01193         
01194         
01195         bool numBaselineExists;
01196         
01197 
01198         int numBaseline;
01199 
01200         
01201         
01202         
01203 
01204         
01205         // ===> Attribute rms, which is optional
01206         
01207         
01208         bool rmsExists;
01209         
01210 
01211         vector<vector<float > > rms;
01212 
01213         
01214         
01215         
01216 
01218         // Extrinsic Table Attributes //
01220         
01221         
01222         // ===> Attribute calDataId
01223         
01224         
01225 
01226         Tag calDataId;
01227 
01228         
01229         
01230         
01231 
01232         
01233         // ===> Attribute calReductionId
01234         
01235         
01236 
01237         Tag calReductionId;
01238 
01239         
01240         
01241         
01242 
01244         // Links //
01246         
01247         
01248                 
01249 
01250          
01251 
01252         
01253 
01254         
01255                 
01256 
01257          
01258 
01259         
01260 
01261         
01263         // binary-deserialization material//
01265         map<string, CalBandpassAttributeFromBin> fromBinMethods;
01266 void basebandNameFromBin( EndianISStream& eiss);
01267 void sidebandFromBin( EndianISStream& eiss);
01268 void atmPhaseCorrectionFromBin( EndianISStream& eiss);
01269 void typeCurveFromBin( EndianISStream& eiss);
01270 void receiverBandFromBin( EndianISStream& eiss);
01271 void calDataIdFromBin( EndianISStream& eiss);
01272 void calReductionIdFromBin( EndianISStream& eiss);
01273 void startValidTimeFromBin( EndianISStream& eiss);
01274 void endValidTimeFromBin( EndianISStream& eiss);
01275 void numAntennaFromBin( EndianISStream& eiss);
01276 void numPolyFromBin( EndianISStream& eiss);
01277 void numReceptorFromBin( EndianISStream& eiss);
01278 void antennaNamesFromBin( EndianISStream& eiss);
01279 void refAntennaNameFromBin( EndianISStream& eiss);
01280 void freqLimitsFromBin( EndianISStream& eiss);
01281 void polarizationTypesFromBin( EndianISStream& eiss);
01282 void curveFromBin( EndianISStream& eiss);
01283 void reducedChiSquaredFromBin( EndianISStream& eiss);
01284 
01285 void numBaselineFromBin( EndianISStream& eiss);
01286 void rmsFromBin( EndianISStream& eiss);
01287         
01288         
01293          void toBin(EndianOSStream& eoss);
01294                  
01302          static CalBandpassRow* fromBin(EndianISStream& eiss, CalBandpassTable& table, const vector<string>& attributesSeq);     
01303 
01304 };
01305 
01306 } // End namespace asdm
01307 
01308 #endif /* CalBandpass_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines