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.64", 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         
00945          void toIDL(asdmIDL::CalPointingModelRowIDL& x) const;
00946 #endif
00947         
00948 #ifndef WITHOUT_ACS
00949 
00954         void setFromIDL (asdmIDL::CalPointingModelRowIDL x) ;
00955 #endif
00956         
00961         std::string toXML() const;
00962 
00969         void setFromXML (std::string rowDoc) ;
00970 
00973         // binary-deserialization material from an EndianIStream  //
00975 
00976         std::map<std::string, CalPointingModelAttributeFromBin> fromBinMethods;
00977 void antennaNameFromBin( EndianIStream& eis);
00978 void receiverBandFromBin( EndianIStream& eis);
00979 void calDataIdFromBin( EndianIStream& eis);
00980 void calReductionIdFromBin( EndianIStream& eis);
00981 void startValidTimeFromBin( EndianIStream& eis);
00982 void endValidTimeFromBin( EndianIStream& eis);
00983 void antennaMakeFromBin( EndianIStream& eis);
00984 void pointingModelModeFromBin( EndianIStream& eis);
00985 void polarizationTypeFromBin( EndianIStream& eis);
00986 void numCoeffFromBin( EndianIStream& eis);
00987 void coeffNameFromBin( EndianIStream& eis);
00988 void coeffValFromBin( EndianIStream& eis);
00989 void coeffErrorFromBin( EndianIStream& eis);
00990 void coeffFixedFromBin( EndianIStream& eis);
00991 void azimuthRMSFromBin( EndianIStream& eis);
00992 void elevationRmsFromBin( EndianIStream& eis);
00993 void skyRMSFromBin( EndianIStream& eis);
00994 void reducedChiSquaredFromBin( EndianIStream& eis);
00995 
00996 void numObsFromBin( EndianIStream& eis);
00997 void coeffFormulaFromBin( EndianIStream& eis);
00998 
00999 
01007          static CalPointingModelRow* fromBin(EndianIStream& eis, CalPointingModelTable& table, const std::vector<std::string>& attributesSeq);   
01008  
01015          void fromText(const std::string& attributeName, const std::string&  t);
01017 
01018 private:
01022         CalPointingModelTable &table;
01026         bool hasBeenAdded;
01027 
01028         // This method is used by the Table class when this row is added to the table.
01029         void isAdded(bool added);
01030 
01031 
01040         CalPointingModelRow (CalPointingModelTable &table);
01041 
01059          CalPointingModelRow (CalPointingModelTable &table, CalPointingModelRow &row);
01060                 
01062         // Intrinsic Table Attributes //
01064         
01065         
01066         // ===> Attribute antennaName
01067         
01068         
01069 
01070         string antennaName;
01071 
01072         
01073         
01074         
01075 
01076         
01077         // ===> Attribute receiverBand
01078         
01079         
01080 
01081         ReceiverBandMod::ReceiverBand receiverBand;
01082 
01083         
01084         
01085         
01086 
01087         
01088         // ===> Attribute startValidTime
01089         
01090         
01091 
01092         ArrayTime startValidTime;
01093 
01094         
01095         
01096         
01097 
01098         
01099         // ===> Attribute endValidTime
01100         
01101         
01102 
01103         ArrayTime endValidTime;
01104 
01105         
01106         
01107         
01108 
01109         
01110         // ===> Attribute antennaMake
01111         
01112         
01113 
01114         AntennaMakeMod::AntennaMake antennaMake;
01115 
01116         
01117         
01118         
01119 
01120         
01121         // ===> Attribute pointingModelMode
01122         
01123         
01124 
01125         PointingModelModeMod::PointingModelMode pointingModelMode;
01126 
01127         
01128         
01129         
01130 
01131         
01132         // ===> Attribute polarizationType
01133         
01134         
01135 
01136         PolarizationTypeMod::PolarizationType polarizationType;
01137 
01138         
01139         
01140         
01141 
01142         
01143         // ===> Attribute numCoeff
01144         
01145         
01146 
01147         int numCoeff;
01148 
01149         
01150         
01151         
01152 
01153         
01154         // ===> Attribute coeffName
01155         
01156         
01157 
01158         vector<string > coeffName;
01159 
01160         
01161         
01162         
01163 
01164         
01165         // ===> Attribute coeffVal
01166         
01167         
01168 
01169         vector<float > coeffVal;
01170 
01171         
01172         
01173         
01174 
01175         
01176         // ===> Attribute coeffError
01177         
01178         
01179 
01180         vector<float > coeffError;
01181 
01182         
01183         
01184         
01185 
01186         
01187         // ===> Attribute coeffFixed
01188         
01189         
01190 
01191         vector<bool > coeffFixed;
01192 
01193         
01194         
01195         
01196 
01197         
01198         // ===> Attribute azimuthRMS
01199         
01200         
01201 
01202         Angle azimuthRMS;
01203 
01204         
01205         
01206         
01207 
01208         
01209         // ===> Attribute elevationRms
01210         
01211         
01212 
01213         Angle elevationRms;
01214 
01215         
01216         
01217         
01218 
01219         
01220         // ===> Attribute skyRMS
01221         
01222         
01223 
01224         Angle skyRMS;
01225 
01226         
01227         
01228         
01229 
01230         
01231         // ===> Attribute reducedChiSquared
01232         
01233         
01234 
01235         double reducedChiSquared;
01236 
01237         
01238         
01239         
01240 
01241         
01242         // ===> Attribute numObs, which is optional
01243         
01244         
01245         bool numObsExists;
01246         
01247 
01248         int numObs;
01249 
01250         
01251         
01252         
01253 
01254         
01255         // ===> Attribute coeffFormula, which is optional
01256         
01257         
01258         bool coeffFormulaExists;
01259         
01260 
01261         vector<string > coeffFormula;
01262 
01263         
01264         
01265         
01266 
01268         // Extrinsic Table Attributes //
01270         
01271         
01272         // ===> Attribute calDataId
01273         
01274         
01275 
01276         Tag calDataId;
01277 
01278         
01279         
01280         
01281 
01282         
01283         // ===> Attribute calReductionId
01284         
01285         
01286 
01287         Tag calReductionId;
01288 
01289         
01290         
01291         
01292 
01294         // Links //
01296         
01297         
01298                 
01299 
01300          
01301 
01302         
01303 
01304         
01305                 
01306 
01307          
01308 
01309         
01310 
01311         
01312 /*
01314         // binary-deserialization material from an EndianIStream  //
01316         std::map<std::string, CalPointingModelAttributeFromBin> fromBinMethods;
01317 void antennaNameFromBin( EndianIStream& eis);
01318 void receiverBandFromBin( EndianIStream& eis);
01319 void calDataIdFromBin( EndianIStream& eis);
01320 void calReductionIdFromBin( EndianIStream& eis);
01321 void startValidTimeFromBin( EndianIStream& eis);
01322 void endValidTimeFromBin( EndianIStream& eis);
01323 void antennaMakeFromBin( EndianIStream& eis);
01324 void pointingModelModeFromBin( EndianIStream& eis);
01325 void polarizationTypeFromBin( EndianIStream& eis);
01326 void numCoeffFromBin( EndianIStream& eis);
01327 void coeffNameFromBin( EndianIStream& eis);
01328 void coeffValFromBin( EndianIStream& eis);
01329 void coeffErrorFromBin( EndianIStream& eis);
01330 void coeffFixedFromBin( EndianIStream& eis);
01331 void azimuthRMSFromBin( EndianIStream& eis);
01332 void elevationRmsFromBin( EndianIStream& eis);
01333 void skyRMSFromBin( EndianIStream& eis);
01334 void reducedChiSquaredFromBin( EndianIStream& eis);
01335 
01336 void numObsFromBin( EndianIStream& eis);
01337 void coeffFormulaFromBin( EndianIStream& eis);
01338 
01339 */
01340         
01342         // text-deserialization material //
01344         std::map<std::string, CalPointingModelAttributeFromText> fromTextMethods;
01345         
01346 void antennaNameFromText (const string & s);
01347         
01348         
01349 void receiverBandFromText (const string & s);
01350         
01351         
01352 void calDataIdFromText (const string & s);
01353         
01354         
01355 void calReductionIdFromText (const string & s);
01356         
01357         
01358 void startValidTimeFromText (const string & s);
01359         
01360         
01361 void endValidTimeFromText (const string & s);
01362         
01363         
01364 void antennaMakeFromText (const string & s);
01365         
01366         
01367 void pointingModelModeFromText (const string & s);
01368         
01369         
01370 void polarizationTypeFromText (const string & s);
01371         
01372         
01373 void numCoeffFromText (const string & s);
01374         
01375         
01376 void coeffNameFromText (const string & s);
01377         
01378         
01379 void coeffValFromText (const string & s);
01380         
01381         
01382 void coeffErrorFromText (const string & s);
01383         
01384         
01385 void coeffFixedFromText (const string & s);
01386         
01387         
01388 void azimuthRMSFromText (const string & s);
01389         
01390         
01391 void elevationRmsFromText (const string & s);
01392         
01393         
01394 void skyRMSFromText (const string & s);
01395         
01396         
01397 void reducedChiSquaredFromText (const string & s);
01398         
01399 
01400         
01401 void numObsFromText (const string & s);
01402         
01403         
01404 void coeffFormulaFromText (const string & s);
01405         
01406         
01407         
01412          void toBin(EndianOSStream& eoss);
01413                  
01423 };
01424 
01425 } // End namespace asdm
01426 
01427 #endif /* CalPointingModel_CLASS */