CalPositionRow.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 CalPositionRow.h
00032  */
00033  
00034 #ifndef CalPositionRow_CLASS
00035 #define CalPositionRow_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::CalPositionRowIDL;
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 <Length.h>
00064 using  asdm::Length;
00065 
00066 
00067 
00068 
00069         
00070 
00071         
00072 #include "CAtmPhaseCorrection.h"
00073 using namespace AtmPhaseCorrectionMod;
00074         
00075 
00076         
00077 
00078         
00079 
00080         
00081 
00082         
00083 
00084         
00085 
00086         
00087 #include "CPositionMethod.h"
00088 using namespace PositionMethodMod;
00089         
00090 
00091         
00092 #include "CReceiverBand.h"
00093 using namespace ReceiverBandMod;
00094         
00095 
00096         
00097 
00098         
00099 
00100         
00101 
00102         
00103 
00104         
00105 
00106         
00107 
00108         
00109 
00110         
00111 
00112         
00113 
00114         
00115 
00116 
00117 
00118 #include <ConversionException.h>
00119 #include <NoSuchRow.h>
00120 #include <IllegalAccessException.h>
00121 
00122 
00123 /*\file CalPosition.h
00124     \brief Generated from model's revision "1.55", branch "HEAD"
00125 */
00126 
00127 namespace asdm {
00128 
00129 //class asdm::CalPositionTable;
00130 
00131 
00132 // class asdm::CalDataRow;
00133 class CalDataRow;
00134 
00135 // class asdm::CalReductionRow;
00136 class CalReductionRow;
00137         
00138 
00139 class CalPositionRow;
00140 typedef void (CalPositionRow::*CalPositionAttributeFromBin) (EndianISStream& eiss);
00141 
00148 class CalPositionRow {
00149 friend class asdm::CalPositionTable;
00150 
00151 public:
00152 
00153         virtual ~CalPositionRow();
00154 
00158         CalPositionTable &getTable() const;
00159         
00164         bool isAdded() const;
00165                 
00167         // Intrinsic Table Attributes //
00169         
00170         
00171         // ===> Attribute antennaName
00172         
00173         
00174         
00175 
00176         
00181         string getAntennaName() const;
00182         
00183  
00184         
00185         
00195         void setAntennaName (string antennaName);
00196                 
00197         
00198         
00199         
00200 
00201 
00202         
00203         // ===> Attribute atmPhaseCorrection
00204         
00205         
00206         
00207 
00208         
00213         AtmPhaseCorrectionMod::AtmPhaseCorrection getAtmPhaseCorrection() const;
00214         
00215  
00216         
00217         
00227         void setAtmPhaseCorrection (AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection);
00228                 
00229         
00230         
00231         
00232 
00233 
00234         
00235         // ===> Attribute startValidTime
00236         
00237         
00238         
00239 
00240         
00245         ArrayTime getStartValidTime() const;
00246         
00247  
00248         
00249         
00257         void setStartValidTime (ArrayTime startValidTime);
00258                 
00259         
00260         
00261         
00262 
00263 
00264         
00265         // ===> Attribute endValidTime
00266         
00267         
00268         
00269 
00270         
00275         ArrayTime getEndValidTime() const;
00276         
00277  
00278         
00279         
00287         void setEndValidTime (ArrayTime endValidTime);
00288                 
00289         
00290         
00291         
00292 
00293 
00294         
00295         // ===> Attribute antennaPosition
00296         
00297         
00298         
00299 
00300         
00305         vector<Length > getAntennaPosition() const;
00306         
00307  
00308         
00309         
00317         void setAntennaPosition (vector<Length > antennaPosition);
00318                 
00319         
00320         
00321         
00322 
00323 
00324         
00325         // ===> Attribute stationName
00326         
00327         
00328         
00329 
00330         
00335         string getStationName() const;
00336         
00337  
00338         
00339         
00347         void setStationName (string stationName);
00348                 
00349         
00350         
00351         
00352 
00353 
00354         
00355         // ===> Attribute stationPosition
00356         
00357         
00358         
00359 
00360         
00365         vector<Length > getStationPosition() const;
00366         
00367  
00368         
00369         
00377         void setStationPosition (vector<Length > stationPosition);
00378                 
00379         
00380         
00381         
00382 
00383 
00384         
00385         // ===> Attribute positionMethod
00386         
00387         
00388         
00389 
00390         
00395         PositionMethodMod::PositionMethod getPositionMethod() const;
00396         
00397  
00398         
00399         
00407         void setPositionMethod (PositionMethodMod::PositionMethod positionMethod);
00408                 
00409         
00410         
00411         
00412 
00413 
00414         
00415         // ===> Attribute receiverBand
00416         
00417         
00418         
00419 
00420         
00425         ReceiverBandMod::ReceiverBand getReceiverBand() const;
00426         
00427  
00428         
00429         
00437         void setReceiverBand (ReceiverBandMod::ReceiverBand receiverBand);
00438                 
00439         
00440         
00441         
00442 
00443 
00444         
00445         // ===> Attribute numAntenna
00446         
00447         
00448         
00449 
00450         
00455         int getNumAntenna() const;
00456         
00457  
00458         
00459         
00467         void setNumAntenna (int numAntenna);
00468                 
00469         
00470         
00471         
00472 
00473 
00474         
00475         // ===> Attribute refAntennaNames
00476         
00477         
00478         
00479 
00480         
00485         vector<string > getRefAntennaNames() const;
00486         
00487  
00488         
00489         
00497         void setRefAntennaNames (vector<string > refAntennaNames);
00498                 
00499         
00500         
00501         
00502 
00503 
00504         
00505         // ===> Attribute axesOffset
00506         
00507         
00508         
00509 
00510         
00515         Length getAxesOffset() const;
00516         
00517  
00518         
00519         
00527         void setAxesOffset (Length axesOffset);
00528                 
00529         
00530         
00531         
00532 
00533 
00534         
00535         // ===> Attribute axesOffsetErr
00536         
00537         
00538         
00539 
00540         
00545         Length getAxesOffsetErr() const;
00546         
00547  
00548         
00549         
00557         void setAxesOffsetErr (Length axesOffsetErr);
00558                 
00559         
00560         
00561         
00562 
00563 
00564         
00565         // ===> Attribute axesOffsetFixed
00566         
00567         
00568         
00569 
00570         
00575         bool getAxesOffsetFixed() const;
00576         
00577  
00578         
00579         
00587         void setAxesOffsetFixed (bool axesOffsetFixed);
00588                 
00589         
00590         
00591         
00592 
00593 
00594         
00595         // ===> Attribute positionOffset
00596         
00597         
00598         
00599 
00600         
00605         vector<Length > getPositionOffset() const;
00606         
00607  
00608         
00609         
00617         void setPositionOffset (vector<Length > positionOffset);
00618                 
00619         
00620         
00621         
00622 
00623 
00624         
00625         // ===> Attribute positionErr
00626         
00627         
00628         
00629 
00630         
00635         vector<Length > getPositionErr() const;
00636         
00637  
00638         
00639         
00647         void setPositionErr (vector<Length > positionErr);
00648                 
00649         
00650         
00651         
00652 
00653 
00654         
00655         // ===> Attribute reducedChiSquared
00656         
00657         
00658         
00659 
00660         
00665         double getReducedChiSquared() const;
00666         
00667  
00668         
00669         
00677         void setReducedChiSquared (double reducedChiSquared);
00678                 
00679         
00680         
00681         
00682 
00683 
00684         
00685         // ===> Attribute delayRms, which is optional
00686         
00687         
00688         
00693         bool isDelayRmsExists() const;
00694         
00695 
00696         
00702         double getDelayRms() const;
00703         
00704  
00705         
00706         
00713         void setDelayRms (double delayRms);
00714                 
00715         
00716         
00717         
00721         void clearDelayRms ();
00722         
00723 
00724 
00725         
00726         // ===> Attribute phaseRms, which is optional
00727         
00728         
00729         
00734         bool isPhaseRmsExists() const;
00735         
00736 
00737         
00743         Angle getPhaseRms() const;
00744         
00745  
00746         
00747         
00754         void setPhaseRms (Angle phaseRms);
00755                 
00756         
00757         
00758         
00762         void clearPhaseRms ();
00763         
00764 
00765 
00767         // Extrinsic Table Attributes //
00769         
00770         
00771         // ===> Attribute calDataId
00772         
00773         
00774         
00775 
00776         
00781         Tag getCalDataId() const;
00782         
00783  
00784         
00785         
00795         void setCalDataId (Tag calDataId);
00796                 
00797         
00798         
00799         
00800 
00801 
00802         
00803         // ===> Attribute calReductionId
00804         
00805         
00806         
00807 
00808         
00813         Tag getCalReductionId() const;
00814         
00815  
00816         
00817         
00827         void setCalReductionId (Tag calReductionId);
00828                 
00829         
00830         
00831         
00832 
00833 
00835         // Links //
00837         
00838         
00839 
00840         
00841                 
00848          CalDataRow* getCalDataUsingCalDataId();
00849          
00850 
00851         
00852 
00853         
00854 
00855         
00856                 
00863          CalReductionRow* getCalReductionUsingCalReductionId();
00864          
00865 
00866         
00867 
00868         
00869         
00870         
00914         bool compareNoAutoInc(string antennaName, AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection, Tag calDataId, Tag calReductionId, ArrayTime startValidTime, ArrayTime endValidTime, vector<Length > antennaPosition, string stationName, vector<Length > stationPosition, PositionMethodMod::PositionMethod positionMethod, ReceiverBandMod::ReceiverBand receiverBand, int numAntenna, vector<string > refAntennaNames, Length axesOffset, Length axesOffsetErr, bool axesOffsetFixed, vector<Length > positionOffset, vector<Length > positionErr, double reducedChiSquared);
00915         
00916         
00917 
00918         
00954         bool compareRequiredValue(ArrayTime startValidTime, ArrayTime endValidTime, vector<Length > antennaPosition, string stationName, vector<Length > stationPosition, PositionMethodMod::PositionMethod positionMethod, ReceiverBandMod::ReceiverBand receiverBand, int numAntenna, vector<string > refAntennaNames, Length axesOffset, Length axesOffsetErr, bool axesOffsetFixed, vector<Length > positionOffset, vector<Length > positionErr, double reducedChiSquared); 
00955                  
00956         
00965         bool equalByRequiredValue(CalPositionRow* x) ;
00966         
00967 #ifndef WITHOUT_ACS
00968 
00972         CalPositionRowIDL *toIDL() const;
00973 #endif
00974         
00975 #ifndef WITHOUT_ACS
00976 
00981         void setFromIDL (CalPositionRowIDL x) ;
00982 #endif
00983         
00988         string toXML() const;
00989 
00996         void setFromXML (string rowDoc) ;       
00997 
00998 private:
01002         CalPositionTable &table;
01006         bool hasBeenAdded;
01007 
01008         // This method is used by the Table class when this row is added to the table.
01009         void isAdded(bool added);
01010 
01011 
01020         CalPositionRow (CalPositionTable &table);
01021 
01039          CalPositionRow (CalPositionTable &table, CalPositionRow &row);
01040                 
01042         // Intrinsic Table Attributes //
01044         
01045         
01046         // ===> Attribute antennaName
01047         
01048         
01049 
01050         string antennaName;
01051 
01052         
01053         
01054         
01055 
01056         
01057         // ===> Attribute atmPhaseCorrection
01058         
01059         
01060 
01061         AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection;
01062 
01063         
01064         
01065         
01066 
01067         
01068         // ===> Attribute startValidTime
01069         
01070         
01071 
01072         ArrayTime startValidTime;
01073 
01074         
01075         
01076         
01077 
01078         
01079         // ===> Attribute endValidTime
01080         
01081         
01082 
01083         ArrayTime endValidTime;
01084 
01085         
01086         
01087         
01088 
01089         
01090         // ===> Attribute antennaPosition
01091         
01092         
01093 
01094         vector<Length > antennaPosition;
01095 
01096         
01097         
01098         
01099 
01100         
01101         // ===> Attribute stationName
01102         
01103         
01104 
01105         string stationName;
01106 
01107         
01108         
01109         
01110 
01111         
01112         // ===> Attribute stationPosition
01113         
01114         
01115 
01116         vector<Length > stationPosition;
01117 
01118         
01119         
01120         
01121 
01122         
01123         // ===> Attribute positionMethod
01124         
01125         
01126 
01127         PositionMethodMod::PositionMethod positionMethod;
01128 
01129         
01130         
01131         
01132 
01133         
01134         // ===> Attribute receiverBand
01135         
01136         
01137 
01138         ReceiverBandMod::ReceiverBand receiverBand;
01139 
01140         
01141         
01142         
01143 
01144         
01145         // ===> Attribute numAntenna
01146         
01147         
01148 
01149         int numAntenna;
01150 
01151         
01152         
01153         
01154 
01155         
01156         // ===> Attribute refAntennaNames
01157         
01158         
01159 
01160         vector<string > refAntennaNames;
01161 
01162         
01163         
01164         
01165 
01166         
01167         // ===> Attribute axesOffset
01168         
01169         
01170 
01171         Length axesOffset;
01172 
01173         
01174         
01175         
01176 
01177         
01178         // ===> Attribute axesOffsetErr
01179         
01180         
01181 
01182         Length axesOffsetErr;
01183 
01184         
01185         
01186         
01187 
01188         
01189         // ===> Attribute axesOffsetFixed
01190         
01191         
01192 
01193         bool axesOffsetFixed;
01194 
01195         
01196         
01197         
01198 
01199         
01200         // ===> Attribute positionOffset
01201         
01202         
01203 
01204         vector<Length > positionOffset;
01205 
01206         
01207         
01208         
01209 
01210         
01211         // ===> Attribute positionErr
01212         
01213         
01214 
01215         vector<Length > positionErr;
01216 
01217         
01218         
01219         
01220 
01221         
01222         // ===> Attribute reducedChiSquared
01223         
01224         
01225 
01226         double reducedChiSquared;
01227 
01228         
01229         
01230         
01231 
01232         
01233         // ===> Attribute delayRms, which is optional
01234         
01235         
01236         bool delayRmsExists;
01237         
01238 
01239         double delayRms;
01240 
01241         
01242         
01243         
01244 
01245         
01246         // ===> Attribute phaseRms, which is optional
01247         
01248         
01249         bool phaseRmsExists;
01250         
01251 
01252         Angle phaseRms;
01253 
01254         
01255         
01256         
01257 
01259         // Extrinsic Table Attributes //
01261         
01262         
01263         // ===> Attribute calDataId
01264         
01265         
01266 
01267         Tag calDataId;
01268 
01269         
01270         
01271         
01272 
01273         
01274         // ===> Attribute calReductionId
01275         
01276         
01277 
01278         Tag calReductionId;
01279 
01280         
01281         
01282         
01283 
01285         // Links //
01287         
01288         
01289                 
01290 
01291          
01292 
01293         
01294 
01295         
01296                 
01297 
01298          
01299 
01300         
01301 
01302         
01304         // binary-deserialization material//
01306         map<string, CalPositionAttributeFromBin> fromBinMethods;
01307 void antennaNameFromBin( EndianISStream& eiss);
01308 void atmPhaseCorrectionFromBin( EndianISStream& eiss);
01309 void calDataIdFromBin( EndianISStream& eiss);
01310 void calReductionIdFromBin( EndianISStream& eiss);
01311 void startValidTimeFromBin( EndianISStream& eiss);
01312 void endValidTimeFromBin( EndianISStream& eiss);
01313 void antennaPositionFromBin( EndianISStream& eiss);
01314 void stationNameFromBin( EndianISStream& eiss);
01315 void stationPositionFromBin( EndianISStream& eiss);
01316 void positionMethodFromBin( EndianISStream& eiss);
01317 void receiverBandFromBin( EndianISStream& eiss);
01318 void numAntennaFromBin( EndianISStream& eiss);
01319 void refAntennaNamesFromBin( EndianISStream& eiss);
01320 void axesOffsetFromBin( EndianISStream& eiss);
01321 void axesOffsetErrFromBin( EndianISStream& eiss);
01322 void axesOffsetFixedFromBin( EndianISStream& eiss);
01323 void positionOffsetFromBin( EndianISStream& eiss);
01324 void positionErrFromBin( EndianISStream& eiss);
01325 void reducedChiSquaredFromBin( EndianISStream& eiss);
01326 
01327 void delayRmsFromBin( EndianISStream& eiss);
01328 void phaseRmsFromBin( EndianISStream& eiss);
01329         
01330         
01335          void toBin(EndianOSStream& eoss);
01336                  
01344          static CalPositionRow* fromBin(EndianISStream& eiss, CalPositionTable& table, const vector<string>& attributesSeq);     
01345 
01346 };
01347 
01348 } // End namespace asdm
01349 
01350 #endif /* CalPosition_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines