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.64", 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         
00986          void toIDL(asdmIDL::CalPhaseRowIDL& x) const;
00987 #endif
00988         
00989 #ifndef WITHOUT_ACS
00990 
00995         void setFromIDL (asdmIDL::CalPhaseRowIDL x) ;
00996 #endif
00997         
01002         std::string toXML() const;
01003 
01010         void setFromXML (std::string rowDoc) ;
01011 
01014         // binary-deserialization material from an EndianIStream  //
01016 
01017         std::map<std::string, CalPhaseAttributeFromBin> fromBinMethods;
01018 void basebandNameFromBin( EndianIStream& eis);
01019 void receiverBandFromBin( EndianIStream& eis);
01020 void atmPhaseCorrectionFromBin( EndianIStream& eis);
01021 void calDataIdFromBin( EndianIStream& eis);
01022 void calReductionIdFromBin( EndianIStream& eis);
01023 void startValidTimeFromBin( EndianIStream& eis);
01024 void endValidTimeFromBin( EndianIStream& eis);
01025 void numBaselineFromBin( EndianIStream& eis);
01026 void numReceptorFromBin( EndianIStream& eis);
01027 void ampliFromBin( EndianIStream& eis);
01028 void antennaNamesFromBin( EndianIStream& eis);
01029 void baselineLengthsFromBin( EndianIStream& eis);
01030 void decorrelationFactorFromBin( EndianIStream& eis);
01031 void directionFromBin( EndianIStream& eis);
01032 void frequencyRangeFromBin( EndianIStream& eis);
01033 void integrationTimeFromBin( EndianIStream& eis);
01034 void phaseFromBin( EndianIStream& eis);
01035 void polarizationTypesFromBin( EndianIStream& eis);
01036 void phaseRMSFromBin( EndianIStream& eis);
01037 void statPhaseRMSFromBin( EndianIStream& eis);
01038 
01039 void correctionValidityFromBin( EndianIStream& eis);
01040 
01041 
01049          static CalPhaseRow* fromBin(EndianIStream& eis, CalPhaseTable& table, const std::vector<std::string>& attributesSeq);   
01050  
01057          void fromText(const std::string& attributeName, const std::string&  t);
01059 
01060 private:
01064         CalPhaseTable &table;
01068         bool hasBeenAdded;
01069 
01070         // This method is used by the Table class when this row is added to the table.
01071         void isAdded(bool added);
01072 
01073 
01082         CalPhaseRow (CalPhaseTable &table);
01083 
01101          CalPhaseRow (CalPhaseTable &table, CalPhaseRow &row);
01102                 
01104         // Intrinsic Table Attributes //
01106         
01107         
01108         // ===> Attribute basebandName
01109         
01110         
01111 
01112         BasebandNameMod::BasebandName basebandName;
01113 
01114         
01115         
01116         
01117 
01118         
01119         // ===> Attribute receiverBand
01120         
01121         
01122 
01123         ReceiverBandMod::ReceiverBand receiverBand;
01124 
01125         
01126         
01127         
01128 
01129         
01130         // ===> Attribute atmPhaseCorrection
01131         
01132         
01133 
01134         AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection;
01135 
01136         
01137         
01138         
01139 
01140         
01141         // ===> Attribute startValidTime
01142         
01143         
01144 
01145         ArrayTime startValidTime;
01146 
01147         
01148         
01149         
01150 
01151         
01152         // ===> Attribute endValidTime
01153         
01154         
01155 
01156         ArrayTime endValidTime;
01157 
01158         
01159         
01160         
01161 
01162         
01163         // ===> Attribute numBaseline
01164         
01165         
01166 
01167         int numBaseline;
01168 
01169         
01170         
01171         
01172 
01173         
01174         // ===> Attribute numReceptor
01175         
01176         
01177 
01178         int numReceptor;
01179 
01180         
01181         
01182         
01183 
01184         
01185         // ===> Attribute ampli
01186         
01187         
01188 
01189         vector<vector<float > > ampli;
01190 
01191         
01192         
01193         
01194 
01195         
01196         // ===> Attribute antennaNames
01197         
01198         
01199 
01200         vector<vector<string > > antennaNames;
01201 
01202         
01203         
01204         
01205 
01206         
01207         // ===> Attribute baselineLengths
01208         
01209         
01210 
01211         vector<Length > baselineLengths;
01212 
01213         
01214         
01215         
01216 
01217         
01218         // ===> Attribute decorrelationFactor
01219         
01220         
01221 
01222         vector<vector<float > > decorrelationFactor;
01223 
01224         
01225         
01226         
01227 
01228         
01229         // ===> Attribute direction
01230         
01231         
01232 
01233         vector<Angle > direction;
01234 
01235         
01236         
01237         
01238 
01239         
01240         // ===> Attribute frequencyRange
01241         
01242         
01243 
01244         vector<Frequency > frequencyRange;
01245 
01246         
01247         
01248         
01249 
01250         
01251         // ===> Attribute integrationTime
01252         
01253         
01254 
01255         Interval integrationTime;
01256 
01257         
01258         
01259         
01260 
01261         
01262         // ===> Attribute phase
01263         
01264         
01265 
01266         vector<vector<float > > phase;
01267 
01268         
01269         
01270         
01271 
01272         
01273         // ===> Attribute polarizationTypes
01274         
01275         
01276 
01277         vector<PolarizationTypeMod::PolarizationType > polarizationTypes;
01278 
01279         
01280         
01281         
01282 
01283         
01284         // ===> Attribute phaseRMS
01285         
01286         
01287 
01288         vector<vector<float > > phaseRMS;
01289 
01290         
01291         
01292         
01293 
01294         
01295         // ===> Attribute statPhaseRMS
01296         
01297         
01298 
01299         vector<vector<float > > statPhaseRMS;
01300 
01301         
01302         
01303         
01304 
01305         
01306         // ===> Attribute correctionValidity, which is optional
01307         
01308         
01309         bool correctionValidityExists;
01310         
01311 
01312         vector<bool > correctionValidity;
01313 
01314         
01315         
01316         
01317 
01319         // Extrinsic Table Attributes //
01321         
01322         
01323         // ===> Attribute calDataId
01324         
01325         
01326 
01327         Tag calDataId;
01328 
01329         
01330         
01331         
01332 
01333         
01334         // ===> Attribute calReductionId
01335         
01336         
01337 
01338         Tag calReductionId;
01339 
01340         
01341         
01342         
01343 
01345         // Links //
01347         
01348         
01349                 
01350 
01351          
01352 
01353         
01354 
01355         
01356                 
01357 
01358          
01359 
01360         
01361 
01362         
01363 /*
01365         // binary-deserialization material from an EndianIStream  //
01367         std::map<std::string, CalPhaseAttributeFromBin> fromBinMethods;
01368 void basebandNameFromBin( EndianIStream& eis);
01369 void receiverBandFromBin( EndianIStream& eis);
01370 void atmPhaseCorrectionFromBin( EndianIStream& eis);
01371 void calDataIdFromBin( EndianIStream& eis);
01372 void calReductionIdFromBin( EndianIStream& eis);
01373 void startValidTimeFromBin( EndianIStream& eis);
01374 void endValidTimeFromBin( EndianIStream& eis);
01375 void numBaselineFromBin( EndianIStream& eis);
01376 void numReceptorFromBin( EndianIStream& eis);
01377 void ampliFromBin( EndianIStream& eis);
01378 void antennaNamesFromBin( EndianIStream& eis);
01379 void baselineLengthsFromBin( EndianIStream& eis);
01380 void decorrelationFactorFromBin( EndianIStream& eis);
01381 void directionFromBin( EndianIStream& eis);
01382 void frequencyRangeFromBin( EndianIStream& eis);
01383 void integrationTimeFromBin( EndianIStream& eis);
01384 void phaseFromBin( EndianIStream& eis);
01385 void polarizationTypesFromBin( EndianIStream& eis);
01386 void phaseRMSFromBin( EndianIStream& eis);
01387 void statPhaseRMSFromBin( EndianIStream& eis);
01388 
01389 void correctionValidityFromBin( EndianIStream& eis);
01390 
01391 */
01392         
01394         // text-deserialization material //
01396         std::map<std::string, CalPhaseAttributeFromText> fromTextMethods;
01397         
01398 void basebandNameFromText (const string & s);
01399         
01400         
01401 void receiverBandFromText (const string & s);
01402         
01403         
01404 void atmPhaseCorrectionFromText (const string & s);
01405         
01406         
01407 void calDataIdFromText (const string & s);
01408         
01409         
01410 void calReductionIdFromText (const string & s);
01411         
01412         
01413 void startValidTimeFromText (const string & s);
01414         
01415         
01416 void endValidTimeFromText (const string & s);
01417         
01418         
01419 void numBaselineFromText (const string & s);
01420         
01421         
01422 void numReceptorFromText (const string & s);
01423         
01424         
01425 void ampliFromText (const string & s);
01426         
01427         
01428 void antennaNamesFromText (const string & s);
01429         
01430         
01431 void baselineLengthsFromText (const string & s);
01432         
01433         
01434 void decorrelationFactorFromText (const string & s);
01435         
01436         
01437 void directionFromText (const string & s);
01438         
01439         
01440 void frequencyRangeFromText (const string & s);
01441         
01442         
01443 void integrationTimeFromText (const string & s);
01444         
01445         
01446 void phaseFromText (const string & s);
01447         
01448         
01449 void polarizationTypesFromText (const string & s);
01450         
01451         
01452 void phaseRMSFromText (const string & s);
01453         
01454         
01455 void statPhaseRMSFromText (const string & s);
01456         
01457 
01458         
01459 void correctionValidityFromText (const string & s);
01460         
01461         
01462         
01467          void toBin(EndianOSStream& eoss);
01468                  
01478 };
01479 
01480 } // End namespace asdm
01481 
01482 #endif /* CalPhase_CLASS */