CalDelayRow.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 CalDelayRow.h
00032  */
00033  
00034 #ifndef CalDelayRow_CLASS
00035 #define CalDelayRow_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::CalDelayRowIDL;
00047 #endif
00048 
00049 
00050 
00051 
00052 
00053 
00054 #include <ArrayTime.h>
00055 using  asdm::ArrayTime;
00056 
00057 #include <Angle.h>
00058 using  asdm::Angle;
00059 
00060 #include <Tag.h>
00061 using  asdm::Tag;
00062 
00063 #include <Frequency.h>
00064 using  asdm::Frequency;
00065 
00066 
00067 
00068 
00069         
00070 
00071         
00072 #include "CAtmPhaseCorrection.h"
00073 using namespace AtmPhaseCorrectionMod;
00074         
00075 
00076         
00077 #include "CBasebandName.h"
00078 using namespace BasebandNameMod;
00079         
00080 
00081         
00082 #include "CReceiverBand.h"
00083 using namespace ReceiverBandMod;
00084         
00085 
00086         
00087 
00088         
00089 
00090         
00091 
00092         
00093 
00094         
00095 
00096         
00097 
00098         
00099 #include "CPolarizationType.h"
00100 using namespace PolarizationTypeMod;
00101         
00102 
00103         
00104 
00105         
00106 
00107         
00108 
00109         
00110 
00111         
00112 
00113         
00114 
00115         
00116 #include "CReceiverSideband.h"
00117 using namespace ReceiverSidebandMod;
00118         
00119 
00120 
00121 
00122 #include <ConversionException.h>
00123 #include <NoSuchRow.h>
00124 #include <IllegalAccessException.h>
00125 
00126 
00127 /*\file CalDelay.h
00128     \brief Generated from model's revision "1.55", branch "HEAD"
00129 */
00130 
00131 namespace asdm {
00132 
00133 //class asdm::CalDelayTable;
00134 
00135 
00136 // class asdm::CalDataRow;
00137 class CalDataRow;
00138 
00139 // class asdm::CalReductionRow;
00140 class CalReductionRow;
00141         
00142 
00143 class CalDelayRow;
00144 typedef void (CalDelayRow::*CalDelayAttributeFromBin) (EndianISStream& eiss);
00145 
00152 class CalDelayRow {
00153 friend class asdm::CalDelayTable;
00154 
00155 public:
00156 
00157         virtual ~CalDelayRow();
00158 
00162         CalDelayTable &getTable() const;
00163         
00168         bool isAdded() const;
00169                 
00171         // Intrinsic Table Attributes //
00173         
00174         
00175         // ===> Attribute antennaName
00176         
00177         
00178         
00179 
00180         
00185         string getAntennaName() const;
00186         
00187  
00188         
00189         
00199         void setAntennaName (string antennaName);
00200                 
00201         
00202         
00203         
00204 
00205 
00206         
00207         // ===> Attribute atmPhaseCorrection
00208         
00209         
00210         
00211 
00212         
00217         AtmPhaseCorrectionMod::AtmPhaseCorrection getAtmPhaseCorrection() const;
00218         
00219  
00220         
00221         
00231         void setAtmPhaseCorrection (AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection);
00232                 
00233         
00234         
00235         
00236 
00237 
00238         
00239         // ===> Attribute basebandName
00240         
00241         
00242         
00243 
00244         
00249         BasebandNameMod::BasebandName getBasebandName() const;
00250         
00251  
00252         
00253         
00263         void setBasebandName (BasebandNameMod::BasebandName basebandName);
00264                 
00265         
00266         
00267         
00268 
00269 
00270         
00271         // ===> Attribute receiverBand
00272         
00273         
00274         
00275 
00276         
00281         ReceiverBandMod::ReceiverBand getReceiverBand() const;
00282         
00283  
00284         
00285         
00295         void setReceiverBand (ReceiverBandMod::ReceiverBand receiverBand);
00296                 
00297         
00298         
00299         
00300 
00301 
00302         
00303         // ===> Attribute startValidTime
00304         
00305         
00306         
00307 
00308         
00313         ArrayTime getStartValidTime() const;
00314         
00315  
00316         
00317         
00325         void setStartValidTime (ArrayTime startValidTime);
00326                 
00327         
00328         
00329         
00330 
00331 
00332         
00333         // ===> Attribute endValidTime
00334         
00335         
00336         
00337 
00338         
00343         ArrayTime getEndValidTime() const;
00344         
00345  
00346         
00347         
00355         void setEndValidTime (ArrayTime endValidTime);
00356                 
00357         
00358         
00359         
00360 
00361 
00362         
00363         // ===> Attribute refAntennaName
00364         
00365         
00366         
00367 
00368         
00373         string getRefAntennaName() const;
00374         
00375  
00376         
00377         
00385         void setRefAntennaName (string refAntennaName);
00386                 
00387         
00388         
00389         
00390 
00391 
00392         
00393         // ===> Attribute numReceptor
00394         
00395         
00396         
00397 
00398         
00403         int getNumReceptor() const;
00404         
00405  
00406         
00407         
00415         void setNumReceptor (int numReceptor);
00416                 
00417         
00418         
00419         
00420 
00421 
00422         
00423         // ===> Attribute delayError
00424         
00425         
00426         
00427 
00428         
00433         vector<double > getDelayError() const;
00434         
00435  
00436         
00437         
00445         void setDelayError (vector<double > delayError);
00446                 
00447         
00448         
00449         
00450 
00451 
00452         
00453         // ===> Attribute delayOffset
00454         
00455         
00456         
00457 
00458         
00463         vector<double > getDelayOffset() const;
00464         
00465  
00466         
00467         
00475         void setDelayOffset (vector<double > delayOffset);
00476                 
00477         
00478         
00479         
00480 
00481 
00482         
00483         // ===> Attribute polarizationTypes
00484         
00485         
00486         
00487 
00488         
00493         vector<PolarizationTypeMod::PolarizationType > getPolarizationTypes() const;
00494         
00495  
00496         
00497         
00505         void setPolarizationTypes (vector<PolarizationTypeMod::PolarizationType > polarizationTypes);
00506                 
00507         
00508         
00509         
00510 
00511 
00512         
00513         // ===> Attribute reducedChiSquared
00514         
00515         
00516         
00517 
00518         
00523         vector<double > getReducedChiSquared() const;
00524         
00525  
00526         
00527         
00535         void setReducedChiSquared (vector<double > reducedChiSquared);
00536                 
00537         
00538         
00539         
00540 
00541 
00542         
00543         // ===> Attribute crossDelayOffset, which is optional
00544         
00545         
00546         
00551         bool isCrossDelayOffsetExists() const;
00552         
00553 
00554         
00560         double getCrossDelayOffset() const;
00561         
00562  
00563         
00564         
00571         void setCrossDelayOffset (double crossDelayOffset);
00572                 
00573         
00574         
00575         
00579         void clearCrossDelayOffset ();
00580         
00581 
00582 
00583         
00584         // ===> Attribute crossDelayOffsetError, which is optional
00585         
00586         
00587         
00592         bool isCrossDelayOffsetErrorExists() const;
00593         
00594 
00595         
00601         double getCrossDelayOffsetError() const;
00602         
00603  
00604         
00605         
00612         void setCrossDelayOffsetError (double crossDelayOffsetError);
00613                 
00614         
00615         
00616         
00620         void clearCrossDelayOffsetError ();
00621         
00622 
00623 
00624         
00625         // ===> Attribute numSideband, which is optional
00626         
00627         
00628         
00633         bool isNumSidebandExists() const;
00634         
00635 
00636         
00642         int getNumSideband() const;
00643         
00644  
00645         
00646         
00653         void setNumSideband (int numSideband);
00654                 
00655         
00656         
00657         
00661         void clearNumSideband ();
00662         
00663 
00664 
00665         
00666         // ===> Attribute refFreq, which is optional
00667         
00668         
00669         
00674         bool isRefFreqExists() const;
00675         
00676 
00677         
00683         vector<Frequency > getRefFreq() const;
00684         
00685  
00686         
00687         
00694         void setRefFreq (vector<Frequency > refFreq);
00695                 
00696         
00697         
00698         
00702         void clearRefFreq ();
00703         
00704 
00705 
00706         
00707         // ===> Attribute refFreqPhase, which is optional
00708         
00709         
00710         
00715         bool isRefFreqPhaseExists() const;
00716         
00717 
00718         
00724         vector<Angle > getRefFreqPhase() const;
00725         
00726  
00727         
00728         
00735         void setRefFreqPhase (vector<Angle > refFreqPhase);
00736                 
00737         
00738         
00739         
00743         void clearRefFreqPhase ();
00744         
00745 
00746 
00747         
00748         // ===> Attribute sidebands, which is optional
00749         
00750         
00751         
00756         bool isSidebandsExists() const;
00757         
00758 
00759         
00765         vector<ReceiverSidebandMod::ReceiverSideband > getSidebands() const;
00766         
00767  
00768         
00769         
00776         void setSidebands (vector<ReceiverSidebandMod::ReceiverSideband > sidebands);
00777                 
00778         
00779         
00780         
00784         void clearSidebands ();
00785         
00786 
00787 
00789         // Extrinsic Table Attributes //
00791         
00792         
00793         // ===> Attribute calDataId
00794         
00795         
00796         
00797 
00798         
00803         Tag getCalDataId() const;
00804         
00805  
00806         
00807         
00817         void setCalDataId (Tag calDataId);
00818                 
00819         
00820         
00821         
00822 
00823 
00824         
00825         // ===> Attribute calReductionId
00826         
00827         
00828         
00829 
00830         
00835         Tag getCalReductionId() const;
00836         
00837  
00838         
00839         
00849         void setCalReductionId (Tag calReductionId);
00850                 
00851         
00852         
00853         
00854 
00855 
00857         // Links //
00859         
00860         
00861 
00862         
00863                 
00870          CalDataRow* getCalDataUsingCalDataId();
00871          
00872 
00873         
00874 
00875         
00876 
00877         
00878                 
00885          CalReductionRow* getCalReductionUsingCalReductionId();
00886          
00887 
00888         
00889 
00890         
00891         
00892         
00926         bool compareNoAutoInc(string antennaName, AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection, BasebandNameMod::BasebandName basebandName, ReceiverBandMod::ReceiverBand receiverBand, Tag calDataId, Tag calReductionId, ArrayTime startValidTime, ArrayTime endValidTime, string refAntennaName, int numReceptor, vector<double > delayError, vector<double > delayOffset, vector<PolarizationTypeMod::PolarizationType > polarizationTypes, vector<double > reducedChiSquared);
00927         
00928         
00929 
00930         
00952         bool compareRequiredValue(ArrayTime startValidTime, ArrayTime endValidTime, string refAntennaName, int numReceptor, vector<double > delayError, vector<double > delayOffset, vector<PolarizationTypeMod::PolarizationType > polarizationTypes, vector<double > reducedChiSquared); 
00953                  
00954         
00963         bool equalByRequiredValue(CalDelayRow* x) ;
00964         
00965 #ifndef WITHOUT_ACS
00966 
00970         CalDelayRowIDL *toIDL() const;
00971 #endif
00972         
00973 #ifndef WITHOUT_ACS
00974 
00979         void setFromIDL (CalDelayRowIDL x) ;
00980 #endif
00981         
00986         string toXML() const;
00987 
00994         void setFromXML (string rowDoc) ;       
00995 
00996 private:
01000         CalDelayTable &table;
01004         bool hasBeenAdded;
01005 
01006         // This method is used by the Table class when this row is added to the table.
01007         void isAdded(bool added);
01008 
01009 
01018         CalDelayRow (CalDelayTable &table);
01019 
01037          CalDelayRow (CalDelayTable &table, CalDelayRow &row);
01038                 
01040         // Intrinsic Table Attributes //
01042         
01043         
01044         // ===> Attribute antennaName
01045         
01046         
01047 
01048         string antennaName;
01049 
01050         
01051         
01052         
01053 
01054         
01055         // ===> Attribute atmPhaseCorrection
01056         
01057         
01058 
01059         AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection;
01060 
01061         
01062         
01063         
01064 
01065         
01066         // ===> Attribute basebandName
01067         
01068         
01069 
01070         BasebandNameMod::BasebandName basebandName;
01071 
01072         
01073         
01074         
01075 
01076         
01077         // ===> Attribute receiverBand
01078         
01079         
01080 
01081         ReceiverBandMod::ReceiverBand receiverBand;
01082 
01083         
01084         
01085         
01086 
01087         
01088         // ===> Attribute startValidTime
01089         
01090         
01091 
01092         ArrayTime startValidTime;
01093 
01094         
01095         
01096         
01097 
01098         
01099         // ===> Attribute endValidTime
01100         
01101         
01102 
01103         ArrayTime endValidTime;
01104 
01105         
01106         
01107         
01108 
01109         
01110         // ===> Attribute refAntennaName
01111         
01112         
01113 
01114         string refAntennaName;
01115 
01116         
01117         
01118         
01119 
01120         
01121         // ===> Attribute numReceptor
01122         
01123         
01124 
01125         int numReceptor;
01126 
01127         
01128         
01129         
01130 
01131         
01132         // ===> Attribute delayError
01133         
01134         
01135 
01136         vector<double > delayError;
01137 
01138         
01139         
01140         
01141 
01142         
01143         // ===> Attribute delayOffset
01144         
01145         
01146 
01147         vector<double > delayOffset;
01148 
01149         
01150         
01151         
01152 
01153         
01154         // ===> Attribute polarizationTypes
01155         
01156         
01157 
01158         vector<PolarizationTypeMod::PolarizationType > polarizationTypes;
01159 
01160         
01161         
01162         
01163 
01164         
01165         // ===> Attribute reducedChiSquared
01166         
01167         
01168 
01169         vector<double > reducedChiSquared;
01170 
01171         
01172         
01173         
01174 
01175         
01176         // ===> Attribute crossDelayOffset, which is optional
01177         
01178         
01179         bool crossDelayOffsetExists;
01180         
01181 
01182         double crossDelayOffset;
01183 
01184         
01185         
01186         
01187 
01188         
01189         // ===> Attribute crossDelayOffsetError, which is optional
01190         
01191         
01192         bool crossDelayOffsetErrorExists;
01193         
01194 
01195         double crossDelayOffsetError;
01196 
01197         
01198         
01199         
01200 
01201         
01202         // ===> Attribute numSideband, which is optional
01203         
01204         
01205         bool numSidebandExists;
01206         
01207 
01208         int numSideband;
01209 
01210         
01211         
01212         
01213 
01214         
01215         // ===> Attribute refFreq, which is optional
01216         
01217         
01218         bool refFreqExists;
01219         
01220 
01221         vector<Frequency > refFreq;
01222 
01223         
01224         
01225         
01226 
01227         
01228         // ===> Attribute refFreqPhase, which is optional
01229         
01230         
01231         bool refFreqPhaseExists;
01232         
01233 
01234         vector<Angle > refFreqPhase;
01235 
01236         
01237         
01238         
01239 
01240         
01241         // ===> Attribute sidebands, which is optional
01242         
01243         
01244         bool sidebandsExists;
01245         
01246 
01247         vector<ReceiverSidebandMod::ReceiverSideband > sidebands;
01248 
01249         
01250         
01251         
01252 
01254         // Extrinsic Table Attributes //
01256         
01257         
01258         // ===> Attribute calDataId
01259         
01260         
01261 
01262         Tag calDataId;
01263 
01264         
01265         
01266         
01267 
01268         
01269         // ===> Attribute calReductionId
01270         
01271         
01272 
01273         Tag calReductionId;
01274 
01275         
01276         
01277         
01278 
01280         // Links //
01282         
01283         
01284                 
01285 
01286          
01287 
01288         
01289 
01290         
01291                 
01292 
01293          
01294 
01295         
01296 
01297         
01299         // binary-deserialization material//
01301         map<string, CalDelayAttributeFromBin> fromBinMethods;
01302 void antennaNameFromBin( EndianISStream& eiss);
01303 void atmPhaseCorrectionFromBin( EndianISStream& eiss);
01304 void basebandNameFromBin( EndianISStream& eiss);
01305 void receiverBandFromBin( EndianISStream& eiss);
01306 void calDataIdFromBin( EndianISStream& eiss);
01307 void calReductionIdFromBin( EndianISStream& eiss);
01308 void startValidTimeFromBin( EndianISStream& eiss);
01309 void endValidTimeFromBin( EndianISStream& eiss);
01310 void refAntennaNameFromBin( EndianISStream& eiss);
01311 void numReceptorFromBin( EndianISStream& eiss);
01312 void delayErrorFromBin( EndianISStream& eiss);
01313 void delayOffsetFromBin( EndianISStream& eiss);
01314 void polarizationTypesFromBin( EndianISStream& eiss);
01315 void reducedChiSquaredFromBin( EndianISStream& eiss);
01316 
01317 void crossDelayOffsetFromBin( EndianISStream& eiss);
01318 void crossDelayOffsetErrorFromBin( EndianISStream& eiss);
01319 void numSidebandFromBin( EndianISStream& eiss);
01320 void refFreqFromBin( EndianISStream& eiss);
01321 void refFreqPhaseFromBin( EndianISStream& eiss);
01322 void sidebandsFromBin( EndianISStream& eiss);
01323         
01324         
01329          void toBin(EndianOSStream& eoss);
01330                  
01338          static CalDelayRow* fromBin(EndianISStream& eiss, CalDelayTable& table, const vector<string>& attributesSeq);   
01339 
01340 };
01341 
01342 } // End namespace asdm
01343 
01344 #endif /* CalDelay_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines