casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
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 
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 <Angle.h>
00056         
00057 
00058          
00059 #include <Tag.h>
00060         
00061 
00062          
00063 #include <Length.h>
00064         
00065 
00066 
00067 
00068 
00069         
00070 
00071         
00072 #include "CAtmPhaseCorrection.h"
00073         
00074 
00075         
00076 
00077         
00078 
00079         
00080 
00081         
00082 
00083         
00084 
00085         
00086 #include "CPositionMethod.h"
00087         
00088 
00089         
00090 #include "CReceiverBand.h"
00091         
00092 
00093         
00094 
00095         
00096 
00097         
00098 
00099         
00100 
00101         
00102 
00103         
00104 
00105         
00106 
00107         
00108 
00109         
00110 
00111         
00112 
00113 
00114 
00115 #include <ConversionException.h>
00116 #include <NoSuchRow.h>
00117 #include <IllegalAccessException.h>
00118 
00119 #include <RowTransformer.h>
00120 //#include <TableStreamReader.h>
00121 
00122 /*\file CalPosition.h
00123     \brief Generated from model's revision "1.64", branch "HEAD"
00124 */
00125 
00126 namespace asdm {
00127 
00128 //class asdm::CalPositionTable;
00129 
00130 
00131 // class asdm::CalDataRow;
00132 class CalDataRow;
00133 
00134 // class asdm::CalReductionRow;
00135 class CalReductionRow;
00136         
00137 
00138 class CalPositionRow;
00139 typedef void (CalPositionRow::*CalPositionAttributeFromBin) (EndianIStream& eis);
00140 typedef void (CalPositionRow::*CalPositionAttributeFromText) (const string& s);
00141 
00148 class CalPositionRow {
00149 friend class asdm::CalPositionTable;
00150 friend class asdm::RowTransformer<CalPositionRow>;
00151 //friend class asdm::TableStreamReader<CalPositionTable, CalPositionRow>;
00152 
00153 public:
00154 
00155         virtual ~CalPositionRow();
00156 
00160         CalPositionTable &getTable() const;
00161         
00166         bool isAdded() const;
00167                 
00169         // Intrinsic Table Attributes //
00171         
00172         
00173         // ===> Attribute antennaName
00174         
00175         
00176         
00177 
00178         
00183         string getAntennaName() const;
00184         
00185  
00186         
00187         
00197         void setAntennaName (string antennaName);
00198                 
00199         
00200         
00201         
00202 
00203 
00204         
00205         // ===> Attribute atmPhaseCorrection
00206         
00207         
00208         
00209 
00210         
00215         AtmPhaseCorrectionMod::AtmPhaseCorrection getAtmPhaseCorrection() const;
00216         
00217  
00218         
00219         
00229         void setAtmPhaseCorrection (AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection);
00230                 
00231         
00232         
00233         
00234 
00235 
00236         
00237         // ===> Attribute startValidTime
00238         
00239         
00240         
00241 
00242         
00247         ArrayTime getStartValidTime() const;
00248         
00249  
00250         
00251         
00259         void setStartValidTime (ArrayTime startValidTime);
00260                 
00261         
00262         
00263         
00264 
00265 
00266         
00267         // ===> Attribute endValidTime
00268         
00269         
00270         
00271 
00272         
00277         ArrayTime getEndValidTime() const;
00278         
00279  
00280         
00281         
00289         void setEndValidTime (ArrayTime endValidTime);
00290                 
00291         
00292         
00293         
00294 
00295 
00296         
00297         // ===> Attribute antennaPosition
00298         
00299         
00300         
00301 
00302         
00307         vector<Length > getAntennaPosition() const;
00308         
00309  
00310         
00311         
00319         void setAntennaPosition (vector<Length > antennaPosition);
00320                 
00321         
00322         
00323         
00324 
00325 
00326         
00327         // ===> Attribute stationName
00328         
00329         
00330         
00331 
00332         
00337         string getStationName() const;
00338         
00339  
00340         
00341         
00349         void setStationName (string stationName);
00350                 
00351         
00352         
00353         
00354 
00355 
00356         
00357         // ===> Attribute stationPosition
00358         
00359         
00360         
00361 
00362         
00367         vector<Length > getStationPosition() const;
00368         
00369  
00370         
00371         
00379         void setStationPosition (vector<Length > stationPosition);
00380                 
00381         
00382         
00383         
00384 
00385 
00386         
00387         // ===> Attribute positionMethod
00388         
00389         
00390         
00391 
00392         
00397         PositionMethodMod::PositionMethod getPositionMethod() const;
00398         
00399  
00400         
00401         
00409         void setPositionMethod (PositionMethodMod::PositionMethod positionMethod);
00410                 
00411         
00412         
00413         
00414 
00415 
00416         
00417         // ===> Attribute receiverBand
00418         
00419         
00420         
00421 
00422         
00427         ReceiverBandMod::ReceiverBand getReceiverBand() const;
00428         
00429  
00430         
00431         
00439         void setReceiverBand (ReceiverBandMod::ReceiverBand receiverBand);
00440                 
00441         
00442         
00443         
00444 
00445 
00446         
00447         // ===> Attribute numAntenna
00448         
00449         
00450         
00451 
00452         
00457         int getNumAntenna() const;
00458         
00459  
00460         
00461         
00469         void setNumAntenna (int numAntenna);
00470                 
00471         
00472         
00473         
00474 
00475 
00476         
00477         // ===> Attribute refAntennaNames
00478         
00479         
00480         
00481 
00482         
00487         vector<string > getRefAntennaNames() const;
00488         
00489  
00490         
00491         
00499         void setRefAntennaNames (vector<string > refAntennaNames);
00500                 
00501         
00502         
00503         
00504 
00505 
00506         
00507         // ===> Attribute axesOffset
00508         
00509         
00510         
00511 
00512         
00517         Length getAxesOffset() const;
00518         
00519  
00520         
00521         
00529         void setAxesOffset (Length axesOffset);
00530                 
00531         
00532         
00533         
00534 
00535 
00536         
00537         // ===> Attribute axesOffsetErr
00538         
00539         
00540         
00541 
00542         
00547         Length getAxesOffsetErr() const;
00548         
00549  
00550         
00551         
00559         void setAxesOffsetErr (Length axesOffsetErr);
00560                 
00561         
00562         
00563         
00564 
00565 
00566         
00567         // ===> Attribute axesOffsetFixed
00568         
00569         
00570         
00571 
00572         
00577         bool getAxesOffsetFixed() const;
00578         
00579  
00580         
00581         
00589         void setAxesOffsetFixed (bool axesOffsetFixed);
00590                 
00591         
00592         
00593         
00594 
00595 
00596         
00597         // ===> Attribute positionOffset
00598         
00599         
00600         
00601 
00602         
00607         vector<Length > getPositionOffset() const;
00608         
00609  
00610         
00611         
00619         void setPositionOffset (vector<Length > positionOffset);
00620                 
00621         
00622         
00623         
00624 
00625 
00626         
00627         // ===> Attribute positionErr
00628         
00629         
00630         
00631 
00632         
00637         vector<Length > getPositionErr() const;
00638         
00639  
00640         
00641         
00649         void setPositionErr (vector<Length > positionErr);
00650                 
00651         
00652         
00653         
00654 
00655 
00656         
00657         // ===> Attribute reducedChiSquared
00658         
00659         
00660         
00661 
00662         
00667         double getReducedChiSquared() const;
00668         
00669  
00670         
00671         
00679         void setReducedChiSquared (double reducedChiSquared);
00680                 
00681         
00682         
00683         
00684 
00685 
00686         
00687         // ===> Attribute delayRms, which is optional
00688         
00689         
00690         
00695         bool isDelayRmsExists() const;
00696         
00697 
00698         
00704         double getDelayRms() const;
00705         
00706  
00707         
00708         
00715         void setDelayRms (double delayRms);
00716                 
00717         
00718         
00719         
00723         void clearDelayRms ();
00724         
00725 
00726 
00727         
00728         // ===> Attribute phaseRms, which is optional
00729         
00730         
00731         
00736         bool isPhaseRmsExists() const;
00737         
00738 
00739         
00745         Angle getPhaseRms() const;
00746         
00747  
00748         
00749         
00756         void setPhaseRms (Angle phaseRms);
00757                 
00758         
00759         
00760         
00764         void clearPhaseRms ();
00765         
00766 
00767 
00769         // Extrinsic Table Attributes //
00771         
00772         
00773         // ===> Attribute calDataId
00774         
00775         
00776         
00777 
00778         
00783         Tag getCalDataId() const;
00784         
00785  
00786         
00787         
00797         void setCalDataId (Tag calDataId);
00798                 
00799         
00800         
00801         
00802 
00803 
00804         
00805         // ===> Attribute calReductionId
00806         
00807         
00808         
00809 
00810         
00815         Tag getCalReductionId() const;
00816         
00817  
00818         
00819         
00829         void setCalReductionId (Tag calReductionId);
00830                 
00831         
00832         
00833         
00834 
00835 
00837         // Links //
00839         
00840         
00841 
00842         
00843                 
00850          CalDataRow* getCalDataUsingCalDataId();
00851          
00852 
00853         
00854 
00855         
00856 
00857         
00858                 
00865          CalReductionRow* getCalReductionUsingCalReductionId();
00866          
00867 
00868         
00869 
00870         
00871         
00872         
00916         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);
00917         
00918         
00919 
00920         
00956         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); 
00957                  
00958         
00967         bool equalByRequiredValue(CalPositionRow* x) ;
00968         
00969 #ifndef WITHOUT_ACS
00970 
00974         asdmIDL::CalPositionRowIDL *toIDL() const;
00975         
00983          void toIDL(asdmIDL::CalPositionRowIDL& x) const;
00984 #endif
00985         
00986 #ifndef WITHOUT_ACS
00987 
00992         void setFromIDL (asdmIDL::CalPositionRowIDL x) ;
00993 #endif
00994         
00999         std::string toXML() const;
01000 
01007         void setFromXML (std::string rowDoc) ;
01008 
01011         // binary-deserialization material from an EndianIStream  //
01013 
01014         std::map<std::string, CalPositionAttributeFromBin> fromBinMethods;
01015 void antennaNameFromBin( EndianIStream& eis);
01016 void atmPhaseCorrectionFromBin( EndianIStream& eis);
01017 void calDataIdFromBin( EndianIStream& eis);
01018 void calReductionIdFromBin( EndianIStream& eis);
01019 void startValidTimeFromBin( EndianIStream& eis);
01020 void endValidTimeFromBin( EndianIStream& eis);
01021 void antennaPositionFromBin( EndianIStream& eis);
01022 void stationNameFromBin( EndianIStream& eis);
01023 void stationPositionFromBin( EndianIStream& eis);
01024 void positionMethodFromBin( EndianIStream& eis);
01025 void receiverBandFromBin( EndianIStream& eis);
01026 void numAntennaFromBin( EndianIStream& eis);
01027 void refAntennaNamesFromBin( EndianIStream& eis);
01028 void axesOffsetFromBin( EndianIStream& eis);
01029 void axesOffsetErrFromBin( EndianIStream& eis);
01030 void axesOffsetFixedFromBin( EndianIStream& eis);
01031 void positionOffsetFromBin( EndianIStream& eis);
01032 void positionErrFromBin( EndianIStream& eis);
01033 void reducedChiSquaredFromBin( EndianIStream& eis);
01034 
01035 void delayRmsFromBin( EndianIStream& eis);
01036 void phaseRmsFromBin( EndianIStream& eis);
01037 
01038 
01046          static CalPositionRow* fromBin(EndianIStream& eis, CalPositionTable& table, const std::vector<std::string>& attributesSeq);     
01047  
01054          void fromText(const std::string& attributeName, const std::string&  t);
01056 
01057 private:
01061         CalPositionTable &table;
01065         bool hasBeenAdded;
01066 
01067         // This method is used by the Table class when this row is added to the table.
01068         void isAdded(bool added);
01069 
01070 
01079         CalPositionRow (CalPositionTable &table);
01080 
01098          CalPositionRow (CalPositionTable &table, CalPositionRow &row);
01099                 
01101         // Intrinsic Table Attributes //
01103         
01104         
01105         // ===> Attribute antennaName
01106         
01107         
01108 
01109         string antennaName;
01110 
01111         
01112         
01113         
01114 
01115         
01116         // ===> Attribute atmPhaseCorrection
01117         
01118         
01119 
01120         AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection;
01121 
01122         
01123         
01124         
01125 
01126         
01127         // ===> Attribute startValidTime
01128         
01129         
01130 
01131         ArrayTime startValidTime;
01132 
01133         
01134         
01135         
01136 
01137         
01138         // ===> Attribute endValidTime
01139         
01140         
01141 
01142         ArrayTime endValidTime;
01143 
01144         
01145         
01146         
01147 
01148         
01149         // ===> Attribute antennaPosition
01150         
01151         
01152 
01153         vector<Length > antennaPosition;
01154 
01155         
01156         
01157         
01158 
01159         
01160         // ===> Attribute stationName
01161         
01162         
01163 
01164         string stationName;
01165 
01166         
01167         
01168         
01169 
01170         
01171         // ===> Attribute stationPosition
01172         
01173         
01174 
01175         vector<Length > stationPosition;
01176 
01177         
01178         
01179         
01180 
01181         
01182         // ===> Attribute positionMethod
01183         
01184         
01185 
01186         PositionMethodMod::PositionMethod positionMethod;
01187 
01188         
01189         
01190         
01191 
01192         
01193         // ===> Attribute receiverBand
01194         
01195         
01196 
01197         ReceiverBandMod::ReceiverBand receiverBand;
01198 
01199         
01200         
01201         
01202 
01203         
01204         // ===> Attribute numAntenna
01205         
01206         
01207 
01208         int numAntenna;
01209 
01210         
01211         
01212         
01213 
01214         
01215         // ===> Attribute refAntennaNames
01216         
01217         
01218 
01219         vector<string > refAntennaNames;
01220 
01221         
01222         
01223         
01224 
01225         
01226         // ===> Attribute axesOffset
01227         
01228         
01229 
01230         Length axesOffset;
01231 
01232         
01233         
01234         
01235 
01236         
01237         // ===> Attribute axesOffsetErr
01238         
01239         
01240 
01241         Length axesOffsetErr;
01242 
01243         
01244         
01245         
01246 
01247         
01248         // ===> Attribute axesOffsetFixed
01249         
01250         
01251 
01252         bool axesOffsetFixed;
01253 
01254         
01255         
01256         
01257 
01258         
01259         // ===> Attribute positionOffset
01260         
01261         
01262 
01263         vector<Length > positionOffset;
01264 
01265         
01266         
01267         
01268 
01269         
01270         // ===> Attribute positionErr
01271         
01272         
01273 
01274         vector<Length > positionErr;
01275 
01276         
01277         
01278         
01279 
01280         
01281         // ===> Attribute reducedChiSquared
01282         
01283         
01284 
01285         double reducedChiSquared;
01286 
01287         
01288         
01289         
01290 
01291         
01292         // ===> Attribute delayRms, which is optional
01293         
01294         
01295         bool delayRmsExists;
01296         
01297 
01298         double delayRms;
01299 
01300         
01301         
01302         
01303 
01304         
01305         // ===> Attribute phaseRms, which is optional
01306         
01307         
01308         bool phaseRmsExists;
01309         
01310 
01311         Angle phaseRms;
01312 
01313         
01314         
01315         
01316 
01318         // Extrinsic Table Attributes //
01320         
01321         
01322         // ===> Attribute calDataId
01323         
01324         
01325 
01326         Tag calDataId;
01327 
01328         
01329         
01330         
01331 
01332         
01333         // ===> Attribute calReductionId
01334         
01335         
01336 
01337         Tag calReductionId;
01338 
01339         
01340         
01341         
01342 
01344         // Links //
01346         
01347         
01348                 
01349 
01350          
01351 
01352         
01353 
01354         
01355                 
01356 
01357          
01358 
01359         
01360 
01361         
01362 /*
01364         // binary-deserialization material from an EndianIStream  //
01366         std::map<std::string, CalPositionAttributeFromBin> fromBinMethods;
01367 void antennaNameFromBin( EndianIStream& eis);
01368 void atmPhaseCorrectionFromBin( EndianIStream& eis);
01369 void calDataIdFromBin( EndianIStream& eis);
01370 void calReductionIdFromBin( EndianIStream& eis);
01371 void startValidTimeFromBin( EndianIStream& eis);
01372 void endValidTimeFromBin( EndianIStream& eis);
01373 void antennaPositionFromBin( EndianIStream& eis);
01374 void stationNameFromBin( EndianIStream& eis);
01375 void stationPositionFromBin( EndianIStream& eis);
01376 void positionMethodFromBin( EndianIStream& eis);
01377 void receiverBandFromBin( EndianIStream& eis);
01378 void numAntennaFromBin( EndianIStream& eis);
01379 void refAntennaNamesFromBin( EndianIStream& eis);
01380 void axesOffsetFromBin( EndianIStream& eis);
01381 void axesOffsetErrFromBin( EndianIStream& eis);
01382 void axesOffsetFixedFromBin( EndianIStream& eis);
01383 void positionOffsetFromBin( EndianIStream& eis);
01384 void positionErrFromBin( EndianIStream& eis);
01385 void reducedChiSquaredFromBin( EndianIStream& eis);
01386 
01387 void delayRmsFromBin( EndianIStream& eis);
01388 void phaseRmsFromBin( EndianIStream& eis);
01389 
01390 */
01391         
01393         // text-deserialization material //
01395         std::map<std::string, CalPositionAttributeFromText> fromTextMethods;
01396         
01397 void antennaNameFromText (const string & s);
01398         
01399         
01400 void atmPhaseCorrectionFromText (const string & s);
01401         
01402         
01403 void calDataIdFromText (const string & s);
01404         
01405         
01406 void calReductionIdFromText (const string & s);
01407         
01408         
01409 void startValidTimeFromText (const string & s);
01410         
01411         
01412 void endValidTimeFromText (const string & s);
01413         
01414         
01415 void antennaPositionFromText (const string & s);
01416         
01417         
01418 void stationNameFromText (const string & s);
01419         
01420         
01421 void stationPositionFromText (const string & s);
01422         
01423         
01424 void positionMethodFromText (const string & s);
01425         
01426         
01427 void receiverBandFromText (const string & s);
01428         
01429         
01430 void numAntennaFromText (const string & s);
01431         
01432         
01433 void refAntennaNamesFromText (const string & s);
01434         
01435         
01436 void axesOffsetFromText (const string & s);
01437         
01438         
01439 void axesOffsetErrFromText (const string & s);
01440         
01441         
01442 void axesOffsetFixedFromText (const string & s);
01443         
01444         
01445 void positionOffsetFromText (const string & s);
01446         
01447         
01448 void positionErrFromText (const string & s);
01449         
01450         
01451 void reducedChiSquaredFromText (const string & s);
01452         
01453 
01454         
01455 void delayRmsFromText (const string & s);
01456         
01457         
01458 void phaseRmsFromText (const string & s);
01459         
01460         
01461         
01466          void toBin(EndianOSStream& eoss);
01467                  
01477 };
01478 
01479 } // End namespace asdm
01480 
01481 #endif /* CalPosition_CLASS */