PointingModelRow.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 PointingModelRow.h
00032  */
00033  
00034 #ifndef PointingModelRow_CLASS
00035 #define PointingModelRow_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::PointingModelRowIDL;
00047 #endif
00048 
00049 
00050 
00051 
00052 
00053 
00054 #include <Tag.h>
00055 using  asdm::Tag;
00056 
00057 
00058 
00059 
00060         
00061 
00062         
00063 
00064         
00065 
00066         
00067 
00068         
00069 #include "CPolarizationType.h"
00070 using namespace PolarizationTypeMod;
00071         
00072 
00073         
00074 #include "CReceiverBand.h"
00075 using namespace ReceiverBandMod;
00076         
00077 
00078         
00079 
00080         
00081 
00082 
00083 
00084 #include <ConversionException.h>
00085 #include <NoSuchRow.h>
00086 #include <IllegalAccessException.h>
00087 
00088 
00089 /*\file PointingModel.h
00090     \brief Generated from model's revision "1.55", branch "HEAD"
00091 */
00092 
00093 namespace asdm {
00094 
00095 //class asdm::PointingModelTable;
00096 
00097 
00098 // class asdm::PointingModelRow;
00099 class PointingModelRow;
00100 
00101 // class asdm::AntennaRow;
00102 class AntennaRow;
00103         
00104 
00105 class PointingModelRow;
00106 typedef void (PointingModelRow::*PointingModelAttributeFromBin) (EndianISStream& eiss);
00107 
00114 class PointingModelRow {
00115 friend class asdm::PointingModelTable;
00116 
00117 public:
00118 
00119         virtual ~PointingModelRow();
00120 
00124         PointingModelTable &getTable() const;
00125         
00130         bool isAdded() const;
00131                 
00133         // Intrinsic Table Attributes //
00135         
00136         
00137         // ===> Attribute pointingModelId
00138         
00139         
00140         
00141 
00142         
00147         int getPointingModelId() const;
00148         
00149  
00150         
00151         
00152         
00153         
00154 
00155 
00156         
00157         // ===> Attribute numCoeff
00158         
00159         
00160         
00161 
00162         
00167         int getNumCoeff() const;
00168         
00169  
00170         
00171         
00179         void setNumCoeff (int numCoeff);
00180                 
00181         
00182         
00183         
00184 
00185 
00186         
00187         // ===> Attribute coeffName
00188         
00189         
00190         
00191 
00192         
00197         vector<string > getCoeffName() const;
00198         
00199  
00200         
00201         
00209         void setCoeffName (vector<string > coeffName);
00210                 
00211         
00212         
00213         
00214 
00215 
00216         
00217         // ===> Attribute coeffVal
00218         
00219         
00220         
00221 
00222         
00227         vector<float > getCoeffVal() const;
00228         
00229  
00230         
00231         
00239         void setCoeffVal (vector<float > coeffVal);
00240                 
00241         
00242         
00243         
00244 
00245 
00246         
00247         // ===> Attribute polarizationType
00248         
00249         
00250         
00251 
00252         
00257         PolarizationTypeMod::PolarizationType getPolarizationType() const;
00258         
00259  
00260         
00261         
00269         void setPolarizationType (PolarizationTypeMod::PolarizationType polarizationType);
00270                 
00271         
00272         
00273         
00274 
00275 
00276         
00277         // ===> Attribute receiverBand
00278         
00279         
00280         
00281 
00282         
00287         ReceiverBandMod::ReceiverBand getReceiverBand() const;
00288         
00289  
00290         
00291         
00299         void setReceiverBand (ReceiverBandMod::ReceiverBand receiverBand);
00300                 
00301         
00302         
00303         
00304 
00305 
00306         
00307         // ===> Attribute assocNature
00308         
00309         
00310         
00311 
00312         
00317         string getAssocNature() const;
00318         
00319  
00320         
00321         
00329         void setAssocNature (string assocNature);
00330                 
00331         
00332         
00333         
00334 
00335 
00336         
00337         // ===> Attribute coeffFormula, which is optional
00338         
00339         
00340         
00345         bool isCoeffFormulaExists() const;
00346         
00347 
00348         
00354         vector<string > getCoeffFormula() const;
00355         
00356  
00357         
00358         
00365         void setCoeffFormula (vector<string > coeffFormula);
00366                 
00367         
00368         
00369         
00373         void clearCoeffFormula ();
00374         
00375 
00376 
00378         // Extrinsic Table Attributes //
00380         
00381         
00382         // ===> Attribute antennaId
00383         
00384         
00385         
00386 
00387         
00392         Tag getAntennaId() const;
00393         
00394  
00395         
00396         
00406         void setAntennaId (Tag antennaId);
00407                 
00408         
00409         
00410         
00411 
00412 
00413         
00414         // ===> Attribute assocPointingModelId
00415         
00416         
00417         
00418 
00419         
00424         int getAssocPointingModelId() const;
00425         
00426  
00427         
00428         
00436         void setAssocPointingModelId (int assocPointingModelId);
00437                 
00438         
00439         
00440         
00441 
00442 
00444         // Links //
00446         
00447         
00448 
00449         
00450                 
00451         // ===> Slice link from a row of PointingModel table to a collection of row of PointingModel table.
00452         
00458         vector <PointingModelRow *> getPointingModels();
00459         
00460         
00461 
00462         
00463 
00464         
00465 
00466         
00467                 
00474          AntennaRow* getAntennaUsingAntennaId();
00475          
00476 
00477         
00478 
00479         
00480         
00481         
00503         bool compareNoAutoInc(Tag antennaId, int numCoeff, vector<string > coeffName, vector<float > coeffVal, PolarizationTypeMod::PolarizationType polarizationType, ReceiverBandMod::ReceiverBand receiverBand, string assocNature, int assocPointingModelId);
00504         
00505         
00506 
00507         
00527         bool compareRequiredValue(int numCoeff, vector<string > coeffName, vector<float > coeffVal, PolarizationTypeMod::PolarizationType polarizationType, ReceiverBandMod::ReceiverBand receiverBand, string assocNature, int assocPointingModelId); 
00528                  
00529         
00538         bool equalByRequiredValue(PointingModelRow* x) ;
00539         
00540 #ifndef WITHOUT_ACS
00541 
00545         PointingModelRowIDL *toIDL() const;
00546 #endif
00547         
00548 #ifndef WITHOUT_ACS
00549 
00554         void setFromIDL (PointingModelRowIDL x) ;
00555 #endif
00556         
00561         string toXML() const;
00562 
00569         void setFromXML (string rowDoc) ;       
00570 
00571 private:
00575         PointingModelTable &table;
00579         bool hasBeenAdded;
00580 
00581         // This method is used by the Table class when this row is added to the table.
00582         void isAdded(bool added);
00583 
00584 
00593         PointingModelRow (PointingModelTable &table);
00594 
00612          PointingModelRow (PointingModelTable &table, PointingModelRow &row);
00613                 
00615         // Intrinsic Table Attributes //
00617         
00618         
00619         // ===> Attribute pointingModelId
00620         
00621         
00622 
00623         int pointingModelId;
00624 
00625         
00626         
00627         
00637         void setPointingModelId (int pointingModelId);
00638                 
00639         
00640 
00641         
00642         // ===> Attribute numCoeff
00643         
00644         
00645 
00646         int numCoeff;
00647 
00648         
00649         
00650         
00651 
00652         
00653         // ===> Attribute coeffName
00654         
00655         
00656 
00657         vector<string > coeffName;
00658 
00659         
00660         
00661         
00662 
00663         
00664         // ===> Attribute coeffVal
00665         
00666         
00667 
00668         vector<float > coeffVal;
00669 
00670         
00671         
00672         
00673 
00674         
00675         // ===> Attribute polarizationType
00676         
00677         
00678 
00679         PolarizationTypeMod::PolarizationType polarizationType;
00680 
00681         
00682         
00683         
00684 
00685         
00686         // ===> Attribute receiverBand
00687         
00688         
00689 
00690         ReceiverBandMod::ReceiverBand receiverBand;
00691 
00692         
00693         
00694         
00695 
00696         
00697         // ===> Attribute assocNature
00698         
00699         
00700 
00701         string assocNature;
00702 
00703         
00704         
00705         
00706 
00707         
00708         // ===> Attribute coeffFormula, which is optional
00709         
00710         
00711         bool coeffFormulaExists;
00712         
00713 
00714         vector<string > coeffFormula;
00715 
00716         
00717         
00718         
00719 
00721         // Extrinsic Table Attributes //
00723         
00724         
00725         // ===> Attribute antennaId
00726         
00727         
00728 
00729         Tag antennaId;
00730 
00731         
00732         
00733         
00734 
00735         
00736         // ===> Attribute assocPointingModelId
00737         
00738         
00739 
00740         int assocPointingModelId;
00741 
00742         
00743         
00744         
00745 
00747         // Links //
00749         
00750         
00751                 
00752 
00753 
00754         
00755 
00756         
00757                 
00758 
00759          
00760 
00761         
00762 
00763         
00765         // binary-deserialization material//
00767         map<string, PointingModelAttributeFromBin> fromBinMethods;
00768 void antennaIdFromBin( EndianISStream& eiss);
00769 void pointingModelIdFromBin( EndianISStream& eiss);
00770 void numCoeffFromBin( EndianISStream& eiss);
00771 void coeffNameFromBin( EndianISStream& eiss);
00772 void coeffValFromBin( EndianISStream& eiss);
00773 void polarizationTypeFromBin( EndianISStream& eiss);
00774 void receiverBandFromBin( EndianISStream& eiss);
00775 void assocNatureFromBin( EndianISStream& eiss);
00776 void assocPointingModelIdFromBin( EndianISStream& eiss);
00777 
00778 void coeffFormulaFromBin( EndianISStream& eiss);
00779         
00780         
00785          void toBin(EndianOSStream& eoss);
00786                  
00794          static PointingModelRow* fromBin(EndianISStream& eiss, PointingModelTable& table, const vector<string>& attributesSeq);         
00795 
00796 };
00797 
00798 } // End namespace asdm
00799 
00800 #endif /* PointingModel_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines