casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
CalPhaseRow.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 CalPhaseRow.h
00032  */
00033  
00034 #ifndef CalPhaseRow_CLASS
00035 #define CalPhaseRow_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 <ArrayTime.h>
00052         
00053 
00054          
00055 #include <Interval.h>
00056         
00057 
00058          
00059 #include <Angle.h>
00060         
00061 
00062          
00063 #include <Tag.h>
00064         
00065 
00066          
00067 #include <Length.h>
00068         
00069 
00070          
00071 #include <Frequency.h>
00072         
00073 
00074 
00075 
00076 
00077         
00078 #include "CBasebandName.h"
00079         
00080 
00081         
00082 #include "CReceiverBand.h"
00083         
00084 
00085         
00086 #include "CAtmPhaseCorrection.h"
00087         
00088 
00089         
00090 
00091         
00092 
00093         
00094 
00095         
00096 
00097         
00098 
00099         
00100 
00101         
00102 
00103         
00104 
00105         
00106 
00107         
00108 
00109         
00110 
00111         
00112 
00113         
00114 #include "CPolarizationType.h"
00115         
00116 
00117         
00118 
00119         
00120 
00121         
00122 
00123 
00124 
00125 #include <ConversionException.h>
00126 #include <NoSuchRow.h>
00127 #include <IllegalAccessException.h>
00128 
00129 #include <RowTransformer.h>
00130 //#include <TableStreamReader.h>
00131 
00132 /*\file CalPhase.h
00133     \brief Generated from model's revision "1.61", branch "HEAD"
00134 */
00135 
00136 namespace asdm {
00137 
00138 //class asdm::CalPhaseTable;
00139 
00140 
00141 // class asdm::CalDataRow;
00142 class CalDataRow;
00143 
00144 // class asdm::CalReductionRow;
00145 class CalReductionRow;
00146         
00147 
00148 class CalPhaseRow;
00149 typedef void (CalPhaseRow::*CalPhaseAttributeFromBin) (EndianIStream& eis);
00150 typedef void (CalPhaseRow::*CalPhaseAttributeFromText) (const string& s);
00151 
00158 class CalPhaseRow {
00159 friend class asdm::CalPhaseTable;
00160 friend class asdm::RowTransformer<CalPhaseRow>;
00161 //friend class asdm::TableStreamReader<CalPhaseTable, CalPhaseRow>;
00162 
00163 public:
00164 
00165         virtual ~CalPhaseRow();
00166 
00170         CalPhaseTable &getTable() const;
00171         
00176         bool isAdded() const;
00177                 
00179         // Intrinsic Table Attributes //
00181         
00182         
00183         // ===> Attribute basebandName
00184         
00185         
00186         
00187 
00188         
00193         BasebandNameMod::BasebandName getBasebandName() const;
00194         
00195  
00196         
00197         
00207         void setBasebandName (BasebandNameMod::BasebandName basebandName);
00208                 
00209         
00210         
00211         
00212 
00213 
00214         
00215         // ===> Attribute receiverBand
00216         
00217         
00218         
00219 
00220         
00225         ReceiverBandMod::ReceiverBand getReceiverBand() const;
00226         
00227  
00228         
00229         
00239         void setReceiverBand (ReceiverBandMod::ReceiverBand receiverBand);
00240                 
00241         
00242         
00243         
00244 
00245 
00246         
00247         // ===> Attribute atmPhaseCorrection
00248         
00249         
00250         
00251 
00252         
00257         AtmPhaseCorrectionMod::AtmPhaseCorrection getAtmPhaseCorrection() const;
00258         
00259  
00260         
00261         
00271         void setAtmPhaseCorrection (AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection);
00272                 
00273         
00274         
00275         
00276 
00277 
00278         
00279         // ===> Attribute startValidTime
00280         
00281         
00282         
00283 
00284         
00289         ArrayTime getStartValidTime() const;
00290         
00291  
00292         
00293         
00301         void setStartValidTime (ArrayTime startValidTime);
00302                 
00303         
00304         
00305         
00306 
00307 
00308         
00309         // ===> Attribute endValidTime
00310         
00311         
00312         
00313 
00314         
00319         ArrayTime getEndValidTime() const;
00320         
00321  
00322         
00323         
00331         void setEndValidTime (ArrayTime endValidTime);
00332                 
00333         
00334         
00335         
00336 
00337 
00338         
00339         // ===> Attribute numBaseline
00340         
00341         
00342         
00343 
00344         
00349         int getNumBaseline() const;
00350         
00351  
00352         
00353         
00361         void setNumBaseline (int numBaseline);
00362                 
00363         
00364         
00365         
00366 
00367 
00368         
00369         // ===> Attribute numReceptor
00370         
00371         
00372         
00373 
00374         
00379         int getNumReceptor() const;
00380         
00381  
00382         
00383         
00391         void setNumReceptor (int numReceptor);
00392                 
00393         
00394         
00395         
00396 
00397 
00398         
00399         // ===> Attribute ampli
00400         
00401         
00402         
00403 
00404         
00409         vector<vector<float > > getAmpli() const;
00410         
00411  
00412         
00413         
00421         void setAmpli (vector<vector<float > > ampli);
00422                 
00423         
00424         
00425         
00426 
00427 
00428         
00429         // ===> Attribute antennaNames
00430         
00431         
00432         
00433 
00434         
00439         vector<vector<string > > getAntennaNames() const;
00440         
00441  
00442         
00443         
00451         void setAntennaNames (vector<vector<string > > antennaNames);
00452                 
00453         
00454         
00455         
00456 
00457 
00458         
00459         // ===> Attribute baselineLengths
00460         
00461         
00462         
00463 
00464         
00469         vector<Length > getBaselineLengths() const;
00470         
00471  
00472         
00473         
00481         void setBaselineLengths (vector<Length > baselineLengths);
00482                 
00483         
00484         
00485         
00486 
00487 
00488         
00489         // ===> Attribute decorrelationFactor
00490         
00491         
00492         
00493 
00494         
00499         vector<vector<float > > getDecorrelationFactor() const;
00500         
00501  
00502         
00503         
00511         void setDecorrelationFactor (vector<vector<float > > decorrelationFactor);
00512                 
00513         
00514         
00515         
00516 
00517 
00518         
00519         // ===> Attribute direction
00520         
00521         
00522         
00523 
00524         
00529         vector<Angle > getDirection() const;
00530         
00531  
00532         
00533         
00541         void setDirection (vector<Angle > direction);
00542                 
00543         
00544         
00545         
00546 
00547 
00548         
00549         // ===> Attribute frequencyRange
00550         
00551         
00552         
00553 
00554         
00559         vector<Frequency > getFrequencyRange() const;
00560         
00561  
00562         
00563         
00571         void setFrequencyRange (vector<Frequency > frequencyRange);
00572                 
00573         
00574         
00575         
00576 
00577 
00578         
00579         // ===> Attribute integrationTime
00580         
00581         
00582         
00583 
00584         
00589         Interval getIntegrationTime() const;
00590         
00591  
00592         
00593         
00601         void setIntegrationTime (Interval integrationTime);
00602                 
00603         
00604         
00605         
00606 
00607 
00608         
00609         // ===> Attribute phase
00610         
00611         
00612         
00613 
00614         
00619         vector<vector<float > > getPhase() const;
00620         
00621  
00622         
00623         
00631         void setPhase (vector<vector<float > > phase);
00632                 
00633         
00634         
00635         
00636 
00637 
00638         
00639         // ===> Attribute polarizationTypes
00640         
00641         
00642         
00643 
00644         
00649         vector<PolarizationTypeMod::PolarizationType > getPolarizationTypes() const;
00650         
00651  
00652         
00653         
00661         void setPolarizationTypes (vector<PolarizationTypeMod::PolarizationType > polarizationTypes);
00662                 
00663         
00664         
00665         
00666 
00667 
00668         
00669         // ===> Attribute phaseRMS
00670         
00671         
00672         
00673 
00674         
00679         vector<vector<float > > getPhaseRMS() const;
00680         
00681  
00682         
00683         
00691         void setPhaseRMS (vector<vector<float > > phaseRMS);
00692                 
00693         
00694         
00695         
00696 
00697 
00698         
00699         // ===> Attribute statPhaseRMS
00700         
00701         
00702         
00703 
00704         
00709         vector<vector<float > > getStatPhaseRMS() const;
00710         
00711  
00712         
00713         
00721         void setStatPhaseRMS (vector<vector<float > > statPhaseRMS);
00722                 
00723         
00724         
00725         
00726 
00727 
00728         
00729         // ===> Attribute correctionValidity, which is optional
00730         
00731         
00732         
00737         bool isCorrectionValidityExists() const;
00738         
00739 
00740         
00746         vector<bool > getCorrectionValidity() const;
00747         
00748  
00749         
00750         
00757         void setCorrectionValidity (vector<bool > correctionValidity);
00758                 
00759         
00760         
00761         
00765         void clearCorrectionValidity ();
00766         
00767 
00768 
00770         // Extrinsic Table Attributes //
00772         
00773         
00774         // ===> Attribute calDataId
00775         
00776         
00777         
00778 
00779         
00784         Tag getCalDataId() const;
00785         
00786  
00787         
00788         
00798         void setCalDataId (Tag calDataId);
00799                 
00800         
00801         
00802         
00803 
00804 
00805         
00806         // ===> Attribute calReductionId
00807         
00808         
00809         
00810 
00811         
00816         Tag getCalReductionId() const;
00817         
00818  
00819         
00820         
00830         void setCalReductionId (Tag calReductionId);
00831                 
00832         
00833         
00834         
00835 
00836 
00838         // Links //
00840         
00841         
00842 
00843         
00844                 
00851          CalDataRow* getCalDataUsingCalDataId();
00852          
00853 
00854         
00855 
00856         
00857 
00858         
00859                 
00866          CalReductionRow* getCalReductionUsingCalReductionId();
00867          
00868 
00869         
00870 
00871         
00872         
00873         
00919         bool compareNoAutoInc(BasebandNameMod::BasebandName basebandName, ReceiverBandMod::ReceiverBand receiverBand, AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection, Tag calDataId, Tag calReductionId, ArrayTime startValidTime, ArrayTime endValidTime, int numBaseline, int numReceptor, vector<vector<float > > ampli, vector<vector<string > > antennaNames, vector<Length > baselineLengths, vector<vector<float > > decorrelationFactor, vector<Angle > direction, vector<Frequency > frequencyRange, Interval integrationTime, vector<vector<float > > phase, vector<PolarizationTypeMod::PolarizationType > polarizationTypes, vector<vector<float > > phaseRMS, vector<vector<float > > statPhaseRMS);
00920         
00921         
00922 
00923         
00959         bool compareRequiredValue(ArrayTime startValidTime, ArrayTime endValidTime, int numBaseline, int numReceptor, vector<vector<float > > ampli, vector<vector<string > > antennaNames, vector<Length > baselineLengths, vector<vector<float > > decorrelationFactor, vector<Angle > direction, vector<Frequency > frequencyRange, Interval integrationTime, vector<vector<float > > phase, vector<PolarizationTypeMod::PolarizationType > polarizationTypes, vector<vector<float > > phaseRMS, vector<vector<float > > statPhaseRMS); 
00960                  
00961         
00970         bool equalByRequiredValue(CalPhaseRow* x) ;
00971         
00972 #ifndef WITHOUT_ACS
00973 
00977         asdmIDL::CalPhaseRowIDL *toIDL() const;
00978 #endif
00979         
00980 #ifndef WITHOUT_ACS
00981 
00986         void setFromIDL (asdmIDL::CalPhaseRowIDL x) ;
00987 #endif
00988         
00993         std::string toXML() const;
00994 
01001         void setFromXML (std::string rowDoc) ;
01002 
01005         // binary-deserialization material from an EndianIStream  //
01007 
01008         std::map<std::string, CalPhaseAttributeFromBin> fromBinMethods;
01009 void basebandNameFromBin( EndianIStream& eis);
01010 void receiverBandFromBin( EndianIStream& eis);
01011 void atmPhaseCorrectionFromBin( EndianIStream& eis);
01012 void calDataIdFromBin( EndianIStream& eis);
01013 void calReductionIdFromBin( EndianIStream& eis);
01014 void startValidTimeFromBin( EndianIStream& eis);
01015 void endValidTimeFromBin( EndianIStream& eis);
01016 void numBaselineFromBin( EndianIStream& eis);
01017 void numReceptorFromBin( EndianIStream& eis);
01018 void ampliFromBin( EndianIStream& eis);
01019 void antennaNamesFromBin( EndianIStream& eis);
01020 void baselineLengthsFromBin( EndianIStream& eis);
01021 void decorrelationFactorFromBin( EndianIStream& eis);
01022 void directionFromBin( EndianIStream& eis);
01023 void frequencyRangeFromBin( EndianIStream& eis);
01024 void integrationTimeFromBin( EndianIStream& eis);
01025 void phaseFromBin( EndianIStream& eis);
01026 void polarizationTypesFromBin( EndianIStream& eis);
01027 void phaseRMSFromBin( EndianIStream& eis);
01028 void statPhaseRMSFromBin( EndianIStream& eis);
01029 
01030 void correctionValidityFromBin( EndianIStream& eis);
01031 
01032 
01040          static CalPhaseRow* fromBin(EndianIStream& eis, CalPhaseTable& table, const std::vector<std::string>& attributesSeq);   
01042 
01043 private:
01047         CalPhaseTable &table;
01051         bool hasBeenAdded;
01052 
01053         // This method is used by the Table class when this row is added to the table.
01054         void isAdded(bool added);
01055 
01056 
01065         CalPhaseRow (CalPhaseTable &table);
01066 
01084          CalPhaseRow (CalPhaseTable &table, CalPhaseRow &row);
01085                 
01087         // Intrinsic Table Attributes //
01089         
01090         
01091         // ===> Attribute basebandName
01092         
01093         
01094 
01095         BasebandNameMod::BasebandName basebandName;
01096 
01097         
01098         
01099         
01100 
01101         
01102         // ===> Attribute receiverBand
01103         
01104         
01105 
01106         ReceiverBandMod::ReceiverBand receiverBand;
01107 
01108         
01109         
01110         
01111 
01112         
01113         // ===> Attribute atmPhaseCorrection
01114         
01115         
01116 
01117         AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection;
01118 
01119         
01120         
01121         
01122 
01123         
01124         // ===> Attribute startValidTime
01125         
01126         
01127 
01128         ArrayTime startValidTime;
01129 
01130         
01131         
01132         
01133 
01134         
01135         // ===> Attribute endValidTime
01136         
01137         
01138 
01139         ArrayTime endValidTime;
01140 
01141         
01142         
01143         
01144 
01145         
01146         // ===> Attribute numBaseline
01147         
01148         
01149 
01150         int numBaseline;
01151 
01152         
01153         
01154         
01155 
01156         
01157         // ===> Attribute numReceptor
01158         
01159         
01160 
01161         int numReceptor;
01162 
01163         
01164         
01165         
01166 
01167         
01168         // ===> Attribute ampli
01169         
01170         
01171 
01172         vector<vector<float > > ampli;
01173 
01174         
01175         
01176         
01177 
01178         
01179         // ===> Attribute antennaNames
01180         
01181         
01182 
01183         vector<vector<string > > antennaNames;
01184 
01185         
01186         
01187         
01188 
01189         
01190         // ===> Attribute baselineLengths
01191         
01192         
01193 
01194         vector<Length > baselineLengths;
01195 
01196         
01197         
01198         
01199 
01200         
01201         // ===> Attribute decorrelationFactor
01202         
01203         
01204 
01205         vector<vector<float > > decorrelationFactor;
01206 
01207         
01208         
01209         
01210 
01211         
01212         // ===> Attribute direction
01213         
01214         
01215 
01216         vector<Angle > direction;
01217 
01218         
01219         
01220         
01221 
01222         
01223         // ===> Attribute frequencyRange
01224         
01225         
01226 
01227         vector<Frequency > frequencyRange;
01228 
01229         
01230         
01231         
01232 
01233         
01234         // ===> Attribute integrationTime
01235         
01236         
01237 
01238         Interval integrationTime;
01239 
01240         
01241         
01242         
01243 
01244         
01245         // ===> Attribute phase
01246         
01247         
01248 
01249         vector<vector<float > > phase;
01250 
01251         
01252         
01253         
01254 
01255         
01256         // ===> Attribute polarizationTypes
01257         
01258         
01259 
01260         vector<PolarizationTypeMod::PolarizationType > polarizationTypes;
01261 
01262         
01263         
01264         
01265 
01266         
01267         // ===> Attribute phaseRMS
01268         
01269         
01270 
01271         vector<vector<float > > phaseRMS;
01272 
01273         
01274         
01275         
01276 
01277         
01278         // ===> Attribute statPhaseRMS
01279         
01280         
01281 
01282         vector<vector<float > > statPhaseRMS;
01283 
01284         
01285         
01286         
01287 
01288         
01289         // ===> Attribute correctionValidity, which is optional
01290         
01291         
01292         bool correctionValidityExists;
01293         
01294 
01295         vector<bool > correctionValidity;
01296 
01297         
01298         
01299         
01300 
01302         // Extrinsic Table Attributes //
01304         
01305         
01306         // ===> Attribute calDataId
01307         
01308         
01309 
01310         Tag calDataId;
01311 
01312         
01313         
01314         
01315 
01316         
01317         // ===> Attribute calReductionId
01318         
01319         
01320 
01321         Tag calReductionId;
01322 
01323         
01324         
01325         
01326 
01328         // Links //
01330         
01331         
01332                 
01333 
01334          
01335 
01336         
01337 
01338         
01339                 
01340 
01341          
01342 
01343         
01344 
01345         
01346 /*
01348         // binary-deserialization material from an EndianIStream  //
01350         std::map<std::string, CalPhaseAttributeFromBin> fromBinMethods;
01351 void basebandNameFromBin( EndianIStream& eis);
01352 void receiverBandFromBin( EndianIStream& eis);
01353 void atmPhaseCorrectionFromBin( EndianIStream& eis);
01354 void calDataIdFromBin( EndianIStream& eis);
01355 void calReductionIdFromBin( EndianIStream& eis);
01356 void startValidTimeFromBin( EndianIStream& eis);
01357 void endValidTimeFromBin( EndianIStream& eis);
01358 void numBaselineFromBin( EndianIStream& eis);
01359 void numReceptorFromBin( EndianIStream& eis);
01360 void ampliFromBin( EndianIStream& eis);
01361 void antennaNamesFromBin( EndianIStream& eis);
01362 void baselineLengthsFromBin( EndianIStream& eis);
01363 void decorrelationFactorFromBin( EndianIStream& eis);
01364 void directionFromBin( EndianIStream& eis);
01365 void frequencyRangeFromBin( EndianIStream& eis);
01366 void integrationTimeFromBin( EndianIStream& eis);
01367 void phaseFromBin( EndianIStream& eis);
01368 void polarizationTypesFromBin( EndianIStream& eis);
01369 void phaseRMSFromBin( EndianIStream& eis);
01370 void statPhaseRMSFromBin( EndianIStream& eis);
01371 
01372 void correctionValidityFromBin( EndianIStream& eis);
01373 
01374 */
01375         
01377         // text-deserialization material //
01379         std::map<std::string, CalPhaseAttributeFromText> fromTextMethods;
01380         
01381 void basebandNameFromText (const string & s);
01382         
01383         
01384 void receiverBandFromText (const string & s);
01385         
01386         
01387 void atmPhaseCorrectionFromText (const string & s);
01388         
01389         
01390 void calDataIdFromText (const string & s);
01391         
01392         
01393 void calReductionIdFromText (const string & s);
01394         
01395         
01396 void startValidTimeFromText (const string & s);
01397         
01398         
01399 void endValidTimeFromText (const string & s);
01400         
01401         
01402 void numBaselineFromText (const string & s);
01403         
01404         
01405 void numReceptorFromText (const string & s);
01406         
01407         
01408 void ampliFromText (const string & s);
01409         
01410         
01411 void antennaNamesFromText (const string & s);
01412         
01413         
01414 void baselineLengthsFromText (const string & s);
01415         
01416         
01417 void decorrelationFactorFromText (const string & s);
01418         
01419         
01420 void directionFromText (const string & s);
01421         
01422         
01423 void frequencyRangeFromText (const string & s);
01424         
01425         
01426 void integrationTimeFromText (const string & s);
01427         
01428         
01429 void phaseFromText (const string & s);
01430         
01431         
01432 void polarizationTypesFromText (const string & s);
01433         
01434         
01435 void phaseRMSFromText (const string & s);
01436         
01437         
01438 void statPhaseRMSFromText (const string & s);
01439         
01440 
01441         
01442 void correctionValidityFromText (const string & s);
01443         
01444         
01445         
01446         void fromText(const std::string& attributeName, const std::string&  t);
01447         
01452          void toBin(EndianOSStream& eoss);
01453                  
01463 };
01464 
01465 } // End namespace asdm
01466 
01467 #endif /* CalPhase_CLASS */