casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
CalPointingModelRow.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 CalPointingModelRow.h
00032  */
00033  
00034 #ifndef CalPointingModelRow_CLASS
00035 #define CalPointingModelRow_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 
00064 
00065         
00066 
00067         
00068 #include "CReceiverBand.h"
00069         
00070 
00071         
00072 
00073         
00074 
00075         
00076 #include "CAntennaMake.h"
00077         
00078 
00079         
00080 #include "CPointingModelMode.h"
00081         
00082 
00083         
00084 #include "CPolarizationType.h"
00085         
00086 
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 #include <ConversionException.h>
00112 #include <NoSuchRow.h>
00113 #include <IllegalAccessException.h>
00114 
00115 #include <RowTransformer.h>
00116 //#include <TableStreamReader.h>
00117 
00118 /*\file CalPointingModel.h
00119     \brief Generated from model's revision "1.61", branch "HEAD"
00120 */
00121 
00122 namespace asdm {
00123 
00124 //class asdm::CalPointingModelTable;
00125 
00126 
00127 // class asdm::CalDataRow;
00128 class CalDataRow;
00129 
00130 // class asdm::CalReductionRow;
00131 class CalReductionRow;
00132         
00133 
00134 class CalPointingModelRow;
00135 typedef void (CalPointingModelRow::*CalPointingModelAttributeFromBin) (EndianIStream& eis);
00136 typedef void (CalPointingModelRow::*CalPointingModelAttributeFromText) (const string& s);
00137 
00144 class CalPointingModelRow {
00145 friend class asdm::CalPointingModelTable;
00146 friend class asdm::RowTransformer<CalPointingModelRow>;
00147 //friend class asdm::TableStreamReader<CalPointingModelTable, CalPointingModelRow>;
00148 
00149 public:
00150 
00151         virtual ~CalPointingModelRow();
00152 
00156         CalPointingModelTable &getTable() const;
00157         
00162         bool isAdded() const;
00163                 
00165         // Intrinsic Table Attributes //
00167         
00168         
00169         // ===> Attribute antennaName
00170         
00171         
00172         
00173 
00174         
00179         string getAntennaName() const;
00180         
00181  
00182         
00183         
00193         void setAntennaName (string antennaName);
00194                 
00195         
00196         
00197         
00198 
00199 
00200         
00201         // ===> Attribute receiverBand
00202         
00203         
00204         
00205 
00206         
00211         ReceiverBandMod::ReceiverBand getReceiverBand() const;
00212         
00213  
00214         
00215         
00225         void setReceiverBand (ReceiverBandMod::ReceiverBand receiverBand);
00226                 
00227         
00228         
00229         
00230 
00231 
00232         
00233         // ===> Attribute startValidTime
00234         
00235         
00236         
00237 
00238         
00243         ArrayTime getStartValidTime() const;
00244         
00245  
00246         
00247         
00255         void setStartValidTime (ArrayTime startValidTime);
00256                 
00257         
00258         
00259         
00260 
00261 
00262         
00263         // ===> Attribute endValidTime
00264         
00265         
00266         
00267 
00268         
00273         ArrayTime getEndValidTime() const;
00274         
00275  
00276         
00277         
00285         void setEndValidTime (ArrayTime endValidTime);
00286                 
00287         
00288         
00289         
00290 
00291 
00292         
00293         // ===> Attribute antennaMake
00294         
00295         
00296         
00297 
00298         
00303         AntennaMakeMod::AntennaMake getAntennaMake() const;
00304         
00305  
00306         
00307         
00315         void setAntennaMake (AntennaMakeMod::AntennaMake antennaMake);
00316                 
00317         
00318         
00319         
00320 
00321 
00322         
00323         // ===> Attribute pointingModelMode
00324         
00325         
00326         
00327 
00328         
00333         PointingModelModeMod::PointingModelMode getPointingModelMode() const;
00334         
00335  
00336         
00337         
00345         void setPointingModelMode (PointingModelModeMod::PointingModelMode pointingModelMode);
00346                 
00347         
00348         
00349         
00350 
00351 
00352         
00353         // ===> Attribute polarizationType
00354         
00355         
00356         
00357 
00358         
00363         PolarizationTypeMod::PolarizationType getPolarizationType() const;
00364         
00365  
00366         
00367         
00375         void setPolarizationType (PolarizationTypeMod::PolarizationType polarizationType);
00376                 
00377         
00378         
00379         
00380 
00381 
00382         
00383         // ===> Attribute numCoeff
00384         
00385         
00386         
00387 
00388         
00393         int getNumCoeff() const;
00394         
00395  
00396         
00397         
00405         void setNumCoeff (int numCoeff);
00406                 
00407         
00408         
00409         
00410 
00411 
00412         
00413         // ===> Attribute coeffName
00414         
00415         
00416         
00417 
00418         
00423         vector<string > getCoeffName() const;
00424         
00425  
00426         
00427         
00435         void setCoeffName (vector<string > coeffName);
00436                 
00437         
00438         
00439         
00440 
00441 
00442         
00443         // ===> Attribute coeffVal
00444         
00445         
00446         
00447 
00448         
00453         vector<float > getCoeffVal() const;
00454         
00455  
00456         
00457         
00465         void setCoeffVal (vector<float > coeffVal);
00466                 
00467         
00468         
00469         
00470 
00471 
00472         
00473         // ===> Attribute coeffError
00474         
00475         
00476         
00477 
00478         
00483         vector<float > getCoeffError() const;
00484         
00485  
00486         
00487         
00495         void setCoeffError (vector<float > coeffError);
00496                 
00497         
00498         
00499         
00500 
00501 
00502         
00503         // ===> Attribute coeffFixed
00504         
00505         
00506         
00507 
00508         
00513         vector<bool > getCoeffFixed() const;
00514         
00515  
00516         
00517         
00525         void setCoeffFixed (vector<bool > coeffFixed);
00526                 
00527         
00528         
00529         
00530 
00531 
00532         
00533         // ===> Attribute azimuthRMS
00534         
00535         
00536         
00537 
00538         
00543         Angle getAzimuthRMS() const;
00544         
00545  
00546         
00547         
00555         void setAzimuthRMS (Angle azimuthRMS);
00556                 
00557         
00558         
00559         
00560 
00561 
00562         
00563         // ===> Attribute elevationRms
00564         
00565         
00566         
00567 
00568         
00573         Angle getElevationRms() const;
00574         
00575  
00576         
00577         
00585         void setElevationRms (Angle elevationRms);
00586                 
00587         
00588         
00589         
00590 
00591 
00592         
00593         // ===> Attribute skyRMS
00594         
00595         
00596         
00597 
00598         
00603         Angle getSkyRMS() const;
00604         
00605  
00606         
00607         
00615         void setSkyRMS (Angle skyRMS);
00616                 
00617         
00618         
00619         
00620 
00621 
00622         
00623         // ===> Attribute reducedChiSquared
00624         
00625         
00626         
00627 
00628         
00633         double getReducedChiSquared() const;
00634         
00635  
00636         
00637         
00645         void setReducedChiSquared (double reducedChiSquared);
00646                 
00647         
00648         
00649         
00650 
00651 
00652         
00653         // ===> Attribute numObs, which is optional
00654         
00655         
00656         
00661         bool isNumObsExists() const;
00662         
00663 
00664         
00670         int getNumObs() const;
00671         
00672  
00673         
00674         
00681         void setNumObs (int numObs);
00682                 
00683         
00684         
00685         
00689         void clearNumObs ();
00690         
00691 
00692 
00693         
00694         // ===> Attribute coeffFormula, which is optional
00695         
00696         
00697         
00702         bool isCoeffFormulaExists() const;
00703         
00704 
00705         
00711         vector<string > getCoeffFormula() const;
00712         
00713  
00714         
00715         
00722         void setCoeffFormula (vector<string > coeffFormula);
00723                 
00724         
00725         
00726         
00730         void clearCoeffFormula ();
00731         
00732 
00733 
00735         // Extrinsic Table Attributes //
00737         
00738         
00739         // ===> Attribute calDataId
00740         
00741         
00742         
00743 
00744         
00749         Tag getCalDataId() const;
00750         
00751  
00752         
00753         
00763         void setCalDataId (Tag calDataId);
00764                 
00765         
00766         
00767         
00768 
00769 
00770         
00771         // ===> Attribute calReductionId
00772         
00773         
00774         
00775 
00776         
00781         Tag getCalReductionId() const;
00782         
00783  
00784         
00785         
00795         void setCalReductionId (Tag calReductionId);
00796                 
00797         
00798         
00799         
00800 
00801 
00803         // Links //
00805         
00806         
00807 
00808         
00809                 
00816          CalDataRow* getCalDataUsingCalDataId();
00817          
00818 
00819         
00820 
00821         
00822 
00823         
00824                 
00831          CalReductionRow* getCalReductionUsingCalReductionId();
00832          
00833 
00834         
00835 
00836         
00837         
00838         
00880         bool compareNoAutoInc(string antennaName, ReceiverBandMod::ReceiverBand receiverBand, Tag calDataId, Tag calReductionId, ArrayTime startValidTime, ArrayTime endValidTime, AntennaMakeMod::AntennaMake antennaMake, PointingModelModeMod::PointingModelMode pointingModelMode, PolarizationTypeMod::PolarizationType polarizationType, int numCoeff, vector<string > coeffName, vector<float > coeffVal, vector<float > coeffError, vector<bool > coeffFixed, Angle azimuthRMS, Angle elevationRms, Angle skyRMS, double reducedChiSquared);
00881         
00882         
00883 
00884         
00918         bool compareRequiredValue(ArrayTime startValidTime, ArrayTime endValidTime, AntennaMakeMod::AntennaMake antennaMake, PointingModelModeMod::PointingModelMode pointingModelMode, PolarizationTypeMod::PolarizationType polarizationType, int numCoeff, vector<string > coeffName, vector<float > coeffVal, vector<float > coeffError, vector<bool > coeffFixed, Angle azimuthRMS, Angle elevationRms, Angle skyRMS, double reducedChiSquared); 
00919                  
00920         
00929         bool equalByRequiredValue(CalPointingModelRow* x) ;
00930         
00931 #ifndef WITHOUT_ACS
00932 
00936         asdmIDL::CalPointingModelRowIDL *toIDL() const;
00937 #endif
00938         
00939 #ifndef WITHOUT_ACS
00940 
00945         void setFromIDL (asdmIDL::CalPointingModelRowIDL x) ;
00946 #endif
00947         
00952         std::string toXML() const;
00953 
00960         void setFromXML (std::string rowDoc) ;
00961 
00964         // binary-deserialization material from an EndianIStream  //
00966 
00967         std::map<std::string, CalPointingModelAttributeFromBin> fromBinMethods;
00968 void antennaNameFromBin( EndianIStream& eis);
00969 void receiverBandFromBin( EndianIStream& eis);
00970 void calDataIdFromBin( EndianIStream& eis);
00971 void calReductionIdFromBin( EndianIStream& eis);
00972 void startValidTimeFromBin( EndianIStream& eis);
00973 void endValidTimeFromBin( EndianIStream& eis);
00974 void antennaMakeFromBin( EndianIStream& eis);
00975 void pointingModelModeFromBin( EndianIStream& eis);
00976 void polarizationTypeFromBin( EndianIStream& eis);
00977 void numCoeffFromBin( EndianIStream& eis);
00978 void coeffNameFromBin( EndianIStream& eis);
00979 void coeffValFromBin( EndianIStream& eis);
00980 void coeffErrorFromBin( EndianIStream& eis);
00981 void coeffFixedFromBin( EndianIStream& eis);
00982 void azimuthRMSFromBin( EndianIStream& eis);
00983 void elevationRmsFromBin( EndianIStream& eis);
00984 void skyRMSFromBin( EndianIStream& eis);
00985 void reducedChiSquaredFromBin( EndianIStream& eis);
00986 
00987 void numObsFromBin( EndianIStream& eis);
00988 void coeffFormulaFromBin( EndianIStream& eis);
00989 
00990 
00998          static CalPointingModelRow* fromBin(EndianIStream& eis, CalPointingModelTable& table, const std::vector<std::string>& attributesSeq);   
01000 
01001 private:
01005         CalPointingModelTable &table;
01009         bool hasBeenAdded;
01010 
01011         // This method is used by the Table class when this row is added to the table.
01012         void isAdded(bool added);
01013 
01014 
01023         CalPointingModelRow (CalPointingModelTable &table);
01024 
01042          CalPointingModelRow (CalPointingModelTable &table, CalPointingModelRow &row);
01043                 
01045         // Intrinsic Table Attributes //
01047         
01048         
01049         // ===> Attribute antennaName
01050         
01051         
01052 
01053         string antennaName;
01054 
01055         
01056         
01057         
01058 
01059         
01060         // ===> Attribute receiverBand
01061         
01062         
01063 
01064         ReceiverBandMod::ReceiverBand receiverBand;
01065 
01066         
01067         
01068         
01069 
01070         
01071         // ===> Attribute startValidTime
01072         
01073         
01074 
01075         ArrayTime startValidTime;
01076 
01077         
01078         
01079         
01080 
01081         
01082         // ===> Attribute endValidTime
01083         
01084         
01085 
01086         ArrayTime endValidTime;
01087 
01088         
01089         
01090         
01091 
01092         
01093         // ===> Attribute antennaMake
01094         
01095         
01096 
01097         AntennaMakeMod::AntennaMake antennaMake;
01098 
01099         
01100         
01101         
01102 
01103         
01104         // ===> Attribute pointingModelMode
01105         
01106         
01107 
01108         PointingModelModeMod::PointingModelMode pointingModelMode;
01109 
01110         
01111         
01112         
01113 
01114         
01115         // ===> Attribute polarizationType
01116         
01117         
01118 
01119         PolarizationTypeMod::PolarizationType polarizationType;
01120 
01121         
01122         
01123         
01124 
01125         
01126         // ===> Attribute numCoeff
01127         
01128         
01129 
01130         int numCoeff;
01131 
01132         
01133         
01134         
01135 
01136         
01137         // ===> Attribute coeffName
01138         
01139         
01140 
01141         vector<string > coeffName;
01142 
01143         
01144         
01145         
01146 
01147         
01148         // ===> Attribute coeffVal
01149         
01150         
01151 
01152         vector<float > coeffVal;
01153 
01154         
01155         
01156         
01157 
01158         
01159         // ===> Attribute coeffError
01160         
01161         
01162 
01163         vector<float > coeffError;
01164 
01165         
01166         
01167         
01168 
01169         
01170         // ===> Attribute coeffFixed
01171         
01172         
01173 
01174         vector<bool > coeffFixed;
01175 
01176         
01177         
01178         
01179 
01180         
01181         // ===> Attribute azimuthRMS
01182         
01183         
01184 
01185         Angle azimuthRMS;
01186 
01187         
01188         
01189         
01190 
01191         
01192         // ===> Attribute elevationRms
01193         
01194         
01195 
01196         Angle elevationRms;
01197 
01198         
01199         
01200         
01201 
01202         
01203         // ===> Attribute skyRMS
01204         
01205         
01206 
01207         Angle skyRMS;
01208 
01209         
01210         
01211         
01212 
01213         
01214         // ===> Attribute reducedChiSquared
01215         
01216         
01217 
01218         double reducedChiSquared;
01219 
01220         
01221         
01222         
01223 
01224         
01225         // ===> Attribute numObs, which is optional
01226         
01227         
01228         bool numObsExists;
01229         
01230 
01231         int numObs;
01232 
01233         
01234         
01235         
01236 
01237         
01238         // ===> Attribute coeffFormula, which is optional
01239         
01240         
01241         bool coeffFormulaExists;
01242         
01243 
01244         vector<string > coeffFormula;
01245 
01246         
01247         
01248         
01249 
01251         // Extrinsic Table Attributes //
01253         
01254         
01255         // ===> Attribute calDataId
01256         
01257         
01258 
01259         Tag calDataId;
01260 
01261         
01262         
01263         
01264 
01265         
01266         // ===> Attribute calReductionId
01267         
01268         
01269 
01270         Tag calReductionId;
01271 
01272         
01273         
01274         
01275 
01277         // Links //
01279         
01280         
01281                 
01282 
01283          
01284 
01285         
01286 
01287         
01288                 
01289 
01290          
01291 
01292         
01293 
01294         
01295 /*
01297         // binary-deserialization material from an EndianIStream  //
01299         std::map<std::string, CalPointingModelAttributeFromBin> fromBinMethods;
01300 void antennaNameFromBin( EndianIStream& eis);
01301 void receiverBandFromBin( EndianIStream& eis);
01302 void calDataIdFromBin( EndianIStream& eis);
01303 void calReductionIdFromBin( EndianIStream& eis);
01304 void startValidTimeFromBin( EndianIStream& eis);
01305 void endValidTimeFromBin( EndianIStream& eis);
01306 void antennaMakeFromBin( EndianIStream& eis);
01307 void pointingModelModeFromBin( EndianIStream& eis);
01308 void polarizationTypeFromBin( EndianIStream& eis);
01309 void numCoeffFromBin( EndianIStream& eis);
01310 void coeffNameFromBin( EndianIStream& eis);
01311 void coeffValFromBin( EndianIStream& eis);
01312 void coeffErrorFromBin( EndianIStream& eis);
01313 void coeffFixedFromBin( EndianIStream& eis);
01314 void azimuthRMSFromBin( EndianIStream& eis);
01315 void elevationRmsFromBin( EndianIStream& eis);
01316 void skyRMSFromBin( EndianIStream& eis);
01317 void reducedChiSquaredFromBin( EndianIStream& eis);
01318 
01319 void numObsFromBin( EndianIStream& eis);
01320 void coeffFormulaFromBin( EndianIStream& eis);
01321 
01322 */
01323         
01325         // text-deserialization material //
01327         std::map<std::string, CalPointingModelAttributeFromText> fromTextMethods;
01328         
01329 void antennaNameFromText (const string & s);
01330         
01331         
01332 void receiverBandFromText (const string & s);
01333         
01334         
01335 void calDataIdFromText (const string & s);
01336         
01337         
01338 void calReductionIdFromText (const string & s);
01339         
01340         
01341 void startValidTimeFromText (const string & s);
01342         
01343         
01344 void endValidTimeFromText (const string & s);
01345         
01346         
01347 void antennaMakeFromText (const string & s);
01348         
01349         
01350 void pointingModelModeFromText (const string & s);
01351         
01352         
01353 void polarizationTypeFromText (const string & s);
01354         
01355         
01356 void numCoeffFromText (const string & s);
01357         
01358         
01359 void coeffNameFromText (const string & s);
01360         
01361         
01362 void coeffValFromText (const string & s);
01363         
01364         
01365 void coeffErrorFromText (const string & s);
01366         
01367         
01368 void coeffFixedFromText (const string & s);
01369         
01370         
01371 void azimuthRMSFromText (const string & s);
01372         
01373         
01374 void elevationRmsFromText (const string & s);
01375         
01376         
01377 void skyRMSFromText (const string & s);
01378         
01379         
01380 void reducedChiSquaredFromText (const string & s);
01381         
01382 
01383         
01384 void numObsFromText (const string & s);
01385         
01386         
01387 void coeffFormulaFromText (const string & s);
01388         
01389         
01390         
01391         void fromText(const std::string& attributeName, const std::string&  t);
01392         
01397          void toBin(EndianOSStream& eoss);
01398                  
01408 };
01409 
01410 } // End namespace asdm
01411 
01412 #endif /* CalPointingModel_CLASS */