casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
CalAmpliRow.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 CalAmpliRow.h
00032  */
00033  
00034 #ifndef CalAmpliRow_CLASS
00035 #define CalAmpliRow_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 <Tag.h>
00056         
00057 
00058          
00059 #include <Frequency.h>
00060         
00061 
00062 
00063 
00064 
00065         
00066 
00067         
00068 #include "CAtmPhaseCorrection.h"
00069         
00070 
00071         
00072 #include "CReceiverBand.h"
00073         
00074 
00075         
00076 #include "CBasebandName.h"
00077         
00078 
00079         
00080 
00081         
00082 #include "CPolarizationType.h"
00083         
00084 
00085         
00086 
00087         
00088 
00089         
00090 
00091         
00092 
00093         
00094 
00095         
00096 
00097 
00098 
00099 #include <ConversionException.h>
00100 #include <NoSuchRow.h>
00101 #include <IllegalAccessException.h>
00102 
00103 #include <RowTransformer.h>
00104 //#include <TableStreamReader.h>
00105 
00106 /*\file CalAmpli.h
00107     \brief Generated from model's revision "1.61", branch "HEAD"
00108 */
00109 
00110 namespace asdm {
00111 
00112 //class asdm::CalAmpliTable;
00113 
00114 
00115 // class asdm::CalDataRow;
00116 class CalDataRow;
00117 
00118 // class asdm::CalReductionRow;
00119 class CalReductionRow;
00120         
00121 
00122 class CalAmpliRow;
00123 typedef void (CalAmpliRow::*CalAmpliAttributeFromBin) (EndianIStream& eis);
00124 typedef void (CalAmpliRow::*CalAmpliAttributeFromText) (const string& s);
00125 
00132 class CalAmpliRow {
00133 friend class asdm::CalAmpliTable;
00134 friend class asdm::RowTransformer<CalAmpliRow>;
00135 //friend class asdm::TableStreamReader<CalAmpliTable, CalAmpliRow>;
00136 
00137 public:
00138 
00139         virtual ~CalAmpliRow();
00140 
00144         CalAmpliTable &getTable() const;
00145         
00150         bool isAdded() const;
00151                 
00153         // Intrinsic Table Attributes //
00155         
00156         
00157         // ===> Attribute antennaName
00158         
00159         
00160         
00161 
00162         
00167         string getAntennaName() const;
00168         
00169  
00170         
00171         
00181         void setAntennaName (string antennaName);
00182                 
00183         
00184         
00185         
00186 
00187 
00188         
00189         // ===> Attribute atmPhaseCorrection
00190         
00191         
00192         
00193 
00194         
00199         AtmPhaseCorrectionMod::AtmPhaseCorrection getAtmPhaseCorrection() const;
00200         
00201  
00202         
00203         
00213         void setAtmPhaseCorrection (AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection);
00214                 
00215         
00216         
00217         
00218 
00219 
00220         
00221         // ===> Attribute receiverBand
00222         
00223         
00224         
00225 
00226         
00231         ReceiverBandMod::ReceiverBand getReceiverBand() const;
00232         
00233  
00234         
00235         
00245         void setReceiverBand (ReceiverBandMod::ReceiverBand receiverBand);
00246                 
00247         
00248         
00249         
00250 
00251 
00252         
00253         // ===> Attribute basebandName
00254         
00255         
00256         
00257 
00258         
00263         BasebandNameMod::BasebandName getBasebandName() const;
00264         
00265  
00266         
00267         
00277         void setBasebandName (BasebandNameMod::BasebandName basebandName);
00278                 
00279         
00280         
00281         
00282 
00283 
00284         
00285         // ===> Attribute numReceptor
00286         
00287         
00288         
00289 
00290         
00295         int getNumReceptor() const;
00296         
00297  
00298         
00299         
00307         void setNumReceptor (int numReceptor);
00308                 
00309         
00310         
00311         
00312 
00313 
00314         
00315         // ===> Attribute polarizationTypes
00316         
00317         
00318         
00319 
00320         
00325         vector<PolarizationTypeMod::PolarizationType > getPolarizationTypes() const;
00326         
00327  
00328         
00329         
00337         void setPolarizationTypes (vector<PolarizationTypeMod::PolarizationType > polarizationTypes);
00338                 
00339         
00340         
00341         
00342 
00343 
00344         
00345         // ===> Attribute startValidTime
00346         
00347         
00348         
00349 
00350         
00355         ArrayTime getStartValidTime() const;
00356         
00357  
00358         
00359         
00367         void setStartValidTime (ArrayTime startValidTime);
00368                 
00369         
00370         
00371         
00372 
00373 
00374         
00375         // ===> Attribute endValidTime
00376         
00377         
00378         
00379 
00380         
00385         ArrayTime getEndValidTime() const;
00386         
00387  
00388         
00389         
00397         void setEndValidTime (ArrayTime endValidTime);
00398                 
00399         
00400         
00401         
00402 
00403 
00404         
00405         // ===> Attribute frequencyRange
00406         
00407         
00408         
00409 
00410         
00415         vector<Frequency > getFrequencyRange() const;
00416         
00417  
00418         
00419         
00427         void setFrequencyRange (vector<Frequency > frequencyRange);
00428                 
00429         
00430         
00431         
00432 
00433 
00434         
00435         // ===> Attribute apertureEfficiency
00436         
00437         
00438         
00439 
00440         
00445         vector<float > getApertureEfficiency() const;
00446         
00447  
00448         
00449         
00457         void setApertureEfficiency (vector<float > apertureEfficiency);
00458                 
00459         
00460         
00461         
00462 
00463 
00464         
00465         // ===> Attribute apertureEfficiencyError
00466         
00467         
00468         
00469 
00470         
00475         vector<float > getApertureEfficiencyError() const;
00476         
00477  
00478         
00479         
00487         void setApertureEfficiencyError (vector<float > apertureEfficiencyError);
00488                 
00489         
00490         
00491         
00492 
00493 
00494         
00495         // ===> Attribute correctionValidity, which is optional
00496         
00497         
00498         
00503         bool isCorrectionValidityExists() const;
00504         
00505 
00506         
00512         bool getCorrectionValidity() const;
00513         
00514  
00515         
00516         
00523         void setCorrectionValidity (bool correctionValidity);
00524                 
00525         
00526         
00527         
00531         void clearCorrectionValidity ();
00532         
00533 
00534 
00536         // Extrinsic Table Attributes //
00538         
00539         
00540         // ===> Attribute calDataId
00541         
00542         
00543         
00544 
00545         
00550         Tag getCalDataId() const;
00551         
00552  
00553         
00554         
00564         void setCalDataId (Tag calDataId);
00565                 
00566         
00567         
00568         
00569 
00570 
00571         
00572         // ===> Attribute calReductionId
00573         
00574         
00575         
00576 
00577         
00582         Tag getCalReductionId() const;
00583         
00584  
00585         
00586         
00596         void setCalReductionId (Tag calReductionId);
00597                 
00598         
00599         
00600         
00601 
00602 
00604         // Links //
00606         
00607         
00608 
00609         
00610                 
00617          CalDataRow* getCalDataUsingCalDataId();
00618          
00619 
00620         
00621 
00622         
00623 
00624         
00625                 
00632          CalReductionRow* getCalReductionUsingCalReductionId();
00633          
00634 
00635         
00636 
00637         
00638         
00639         
00671         bool compareNoAutoInc(string antennaName, AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection, ReceiverBandMod::ReceiverBand receiverBand, BasebandNameMod::BasebandName basebandName, Tag calDataId, Tag calReductionId, int numReceptor, vector<PolarizationTypeMod::PolarizationType > polarizationTypes, ArrayTime startValidTime, ArrayTime endValidTime, vector<Frequency > frequencyRange, vector<float > apertureEfficiency, vector<float > apertureEfficiencyError);
00672         
00673         
00674 
00675         
00695         bool compareRequiredValue(int numReceptor, vector<PolarizationTypeMod::PolarizationType > polarizationTypes, ArrayTime startValidTime, ArrayTime endValidTime, vector<Frequency > frequencyRange, vector<float > apertureEfficiency, vector<float > apertureEfficiencyError); 
00696                  
00697         
00706         bool equalByRequiredValue(CalAmpliRow* x) ;
00707         
00708 #ifndef WITHOUT_ACS
00709 
00713         asdmIDL::CalAmpliRowIDL *toIDL() const;
00714 #endif
00715         
00716 #ifndef WITHOUT_ACS
00717 
00722         void setFromIDL (asdmIDL::CalAmpliRowIDL x) ;
00723 #endif
00724         
00729         std::string toXML() const;
00730 
00737         void setFromXML (std::string rowDoc) ;
00738 
00741         // binary-deserialization material from an EndianIStream  //
00743 
00744         std::map<std::string, CalAmpliAttributeFromBin> fromBinMethods;
00745 void antennaNameFromBin( EndianIStream& eis);
00746 void atmPhaseCorrectionFromBin( EndianIStream& eis);
00747 void receiverBandFromBin( EndianIStream& eis);
00748 void basebandNameFromBin( EndianIStream& eis);
00749 void calDataIdFromBin( EndianIStream& eis);
00750 void calReductionIdFromBin( EndianIStream& eis);
00751 void numReceptorFromBin( EndianIStream& eis);
00752 void polarizationTypesFromBin( EndianIStream& eis);
00753 void startValidTimeFromBin( EndianIStream& eis);
00754 void endValidTimeFromBin( EndianIStream& eis);
00755 void frequencyRangeFromBin( EndianIStream& eis);
00756 void apertureEfficiencyFromBin( EndianIStream& eis);
00757 void apertureEfficiencyErrorFromBin( EndianIStream& eis);
00758 
00759 void correctionValidityFromBin( EndianIStream& eis);
00760 
00761 
00769          static CalAmpliRow* fromBin(EndianIStream& eis, CalAmpliTable& table, const std::vector<std::string>& attributesSeq);   
00771 
00772 private:
00776         CalAmpliTable &table;
00780         bool hasBeenAdded;
00781 
00782         // This method is used by the Table class when this row is added to the table.
00783         void isAdded(bool added);
00784 
00785 
00794         CalAmpliRow (CalAmpliTable &table);
00795 
00813          CalAmpliRow (CalAmpliTable &table, CalAmpliRow &row);
00814                 
00816         // Intrinsic Table Attributes //
00818         
00819         
00820         // ===> Attribute antennaName
00821         
00822         
00823 
00824         string antennaName;
00825 
00826         
00827         
00828         
00829 
00830         
00831         // ===> Attribute atmPhaseCorrection
00832         
00833         
00834 
00835         AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection;
00836 
00837         
00838         
00839         
00840 
00841         
00842         // ===> Attribute receiverBand
00843         
00844         
00845 
00846         ReceiverBandMod::ReceiverBand receiverBand;
00847 
00848         
00849         
00850         
00851 
00852         
00853         // ===> Attribute basebandName
00854         
00855         
00856 
00857         BasebandNameMod::BasebandName basebandName;
00858 
00859         
00860         
00861         
00862 
00863         
00864         // ===> Attribute numReceptor
00865         
00866         
00867 
00868         int numReceptor;
00869 
00870         
00871         
00872         
00873 
00874         
00875         // ===> Attribute polarizationTypes
00876         
00877         
00878 
00879         vector<PolarizationTypeMod::PolarizationType > polarizationTypes;
00880 
00881         
00882         
00883         
00884 
00885         
00886         // ===> Attribute startValidTime
00887         
00888         
00889 
00890         ArrayTime startValidTime;
00891 
00892         
00893         
00894         
00895 
00896         
00897         // ===> Attribute endValidTime
00898         
00899         
00900 
00901         ArrayTime endValidTime;
00902 
00903         
00904         
00905         
00906 
00907         
00908         // ===> Attribute frequencyRange
00909         
00910         
00911 
00912         vector<Frequency > frequencyRange;
00913 
00914         
00915         
00916         
00917 
00918         
00919         // ===> Attribute apertureEfficiency
00920         
00921         
00922 
00923         vector<float > apertureEfficiency;
00924 
00925         
00926         
00927         
00928 
00929         
00930         // ===> Attribute apertureEfficiencyError
00931         
00932         
00933 
00934         vector<float > apertureEfficiencyError;
00935 
00936         
00937         
00938         
00939 
00940         
00941         // ===> Attribute correctionValidity, which is optional
00942         
00943         
00944         bool correctionValidityExists;
00945         
00946 
00947         bool correctionValidity;
00948 
00949         
00950         
00951         
00952 
00954         // Extrinsic Table Attributes //
00956         
00957         
00958         // ===> Attribute calDataId
00959         
00960         
00961 
00962         Tag calDataId;
00963 
00964         
00965         
00966         
00967 
00968         
00969         // ===> Attribute calReductionId
00970         
00971         
00972 
00973         Tag calReductionId;
00974 
00975         
00976         
00977         
00978 
00980         // Links //
00982         
00983         
00984                 
00985 
00986          
00987 
00988         
00989 
00990         
00991                 
00992 
00993          
00994 
00995         
00996 
00997         
00998 /*
01000         // binary-deserialization material from an EndianIStream  //
01002         std::map<std::string, CalAmpliAttributeFromBin> fromBinMethods;
01003 void antennaNameFromBin( EndianIStream& eis);
01004 void atmPhaseCorrectionFromBin( EndianIStream& eis);
01005 void receiverBandFromBin( EndianIStream& eis);
01006 void basebandNameFromBin( EndianIStream& eis);
01007 void calDataIdFromBin( EndianIStream& eis);
01008 void calReductionIdFromBin( EndianIStream& eis);
01009 void numReceptorFromBin( EndianIStream& eis);
01010 void polarizationTypesFromBin( EndianIStream& eis);
01011 void startValidTimeFromBin( EndianIStream& eis);
01012 void endValidTimeFromBin( EndianIStream& eis);
01013 void frequencyRangeFromBin( EndianIStream& eis);
01014 void apertureEfficiencyFromBin( EndianIStream& eis);
01015 void apertureEfficiencyErrorFromBin( EndianIStream& eis);
01016 
01017 void correctionValidityFromBin( EndianIStream& eis);
01018 
01019 */
01020         
01022         // text-deserialization material //
01024         std::map<std::string, CalAmpliAttributeFromText> fromTextMethods;
01025         
01026 void antennaNameFromText (const string & s);
01027         
01028         
01029 void atmPhaseCorrectionFromText (const string & s);
01030         
01031         
01032 void receiverBandFromText (const string & s);
01033         
01034         
01035 void basebandNameFromText (const string & s);
01036         
01037         
01038 void calDataIdFromText (const string & s);
01039         
01040         
01041 void calReductionIdFromText (const string & s);
01042         
01043         
01044 void numReceptorFromText (const string & s);
01045         
01046         
01047 void polarizationTypesFromText (const string & s);
01048         
01049         
01050 void startValidTimeFromText (const string & s);
01051         
01052         
01053 void endValidTimeFromText (const string & s);
01054         
01055         
01056 void frequencyRangeFromText (const string & s);
01057         
01058         
01059 void apertureEfficiencyFromText (const string & s);
01060         
01061         
01062 void apertureEfficiencyErrorFromText (const string & s);
01063         
01064 
01065         
01066 void correctionValidityFromText (const string & s);
01067         
01068         
01069         
01070         void fromText(const std::string& attributeName, const std::string&  t);
01071         
01076          void toBin(EndianOSStream& eoss);
01077                  
01087 };
01088 
01089 } // End namespace asdm
01090 
01091 #endif /* CalAmpli_CLASS */