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.64", 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         
00722          void toIDL(asdmIDL::CalAmpliRowIDL& x) const;
00723 #endif
00724         
00725 #ifndef WITHOUT_ACS
00726 
00731         void setFromIDL (asdmIDL::CalAmpliRowIDL x) ;
00732 #endif
00733         
00738         std::string toXML() const;
00739 
00746         void setFromXML (std::string rowDoc) ;
00747 
00750         // binary-deserialization material from an EndianIStream  //
00752 
00753         std::map<std::string, CalAmpliAttributeFromBin> fromBinMethods;
00754 void antennaNameFromBin( EndianIStream& eis);
00755 void atmPhaseCorrectionFromBin( EndianIStream& eis);
00756 void receiverBandFromBin( EndianIStream& eis);
00757 void basebandNameFromBin( EndianIStream& eis);
00758 void calDataIdFromBin( EndianIStream& eis);
00759 void calReductionIdFromBin( EndianIStream& eis);
00760 void numReceptorFromBin( EndianIStream& eis);
00761 void polarizationTypesFromBin( EndianIStream& eis);
00762 void startValidTimeFromBin( EndianIStream& eis);
00763 void endValidTimeFromBin( EndianIStream& eis);
00764 void frequencyRangeFromBin( EndianIStream& eis);
00765 void apertureEfficiencyFromBin( EndianIStream& eis);
00766 void apertureEfficiencyErrorFromBin( EndianIStream& eis);
00767 
00768 void correctionValidityFromBin( EndianIStream& eis);
00769 
00770 
00778          static CalAmpliRow* fromBin(EndianIStream& eis, CalAmpliTable& table, const std::vector<std::string>& attributesSeq);   
00779  
00786          void fromText(const std::string& attributeName, const std::string&  t);
00788 
00789 private:
00793         CalAmpliTable &table;
00797         bool hasBeenAdded;
00798 
00799         // This method is used by the Table class when this row is added to the table.
00800         void isAdded(bool added);
00801 
00802 
00811         CalAmpliRow (CalAmpliTable &table);
00812 
00830          CalAmpliRow (CalAmpliTable &table, CalAmpliRow &row);
00831                 
00833         // Intrinsic Table Attributes //
00835         
00836         
00837         // ===> Attribute antennaName
00838         
00839         
00840 
00841         string antennaName;
00842 
00843         
00844         
00845         
00846 
00847         
00848         // ===> Attribute atmPhaseCorrection
00849         
00850         
00851 
00852         AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection;
00853 
00854         
00855         
00856         
00857 
00858         
00859         // ===> Attribute receiverBand
00860         
00861         
00862 
00863         ReceiverBandMod::ReceiverBand receiverBand;
00864 
00865         
00866         
00867         
00868 
00869         
00870         // ===> Attribute basebandName
00871         
00872         
00873 
00874         BasebandNameMod::BasebandName basebandName;
00875 
00876         
00877         
00878         
00879 
00880         
00881         // ===> Attribute numReceptor
00882         
00883         
00884 
00885         int numReceptor;
00886 
00887         
00888         
00889         
00890 
00891         
00892         // ===> Attribute polarizationTypes
00893         
00894         
00895 
00896         vector<PolarizationTypeMod::PolarizationType > polarizationTypes;
00897 
00898         
00899         
00900         
00901 
00902         
00903         // ===> Attribute startValidTime
00904         
00905         
00906 
00907         ArrayTime startValidTime;
00908 
00909         
00910         
00911         
00912 
00913         
00914         // ===> Attribute endValidTime
00915         
00916         
00917 
00918         ArrayTime endValidTime;
00919 
00920         
00921         
00922         
00923 
00924         
00925         // ===> Attribute frequencyRange
00926         
00927         
00928 
00929         vector<Frequency > frequencyRange;
00930 
00931         
00932         
00933         
00934 
00935         
00936         // ===> Attribute apertureEfficiency
00937         
00938         
00939 
00940         vector<float > apertureEfficiency;
00941 
00942         
00943         
00944         
00945 
00946         
00947         // ===> Attribute apertureEfficiencyError
00948         
00949         
00950 
00951         vector<float > apertureEfficiencyError;
00952 
00953         
00954         
00955         
00956 
00957         
00958         // ===> Attribute correctionValidity, which is optional
00959         
00960         
00961         bool correctionValidityExists;
00962         
00963 
00964         bool correctionValidity;
00965 
00966         
00967         
00968         
00969 
00971         // Extrinsic Table Attributes //
00973         
00974         
00975         // ===> Attribute calDataId
00976         
00977         
00978 
00979         Tag calDataId;
00980 
00981         
00982         
00983         
00984 
00985         
00986         // ===> Attribute calReductionId
00987         
00988         
00989 
00990         Tag calReductionId;
00991 
00992         
00993         
00994         
00995 
00997         // Links //
00999         
01000         
01001                 
01002 
01003          
01004 
01005         
01006 
01007         
01008                 
01009 
01010          
01011 
01012         
01013 
01014         
01015 /*
01017         // binary-deserialization material from an EndianIStream  //
01019         std::map<std::string, CalAmpliAttributeFromBin> fromBinMethods;
01020 void antennaNameFromBin( EndianIStream& eis);
01021 void atmPhaseCorrectionFromBin( EndianIStream& eis);
01022 void receiverBandFromBin( EndianIStream& eis);
01023 void basebandNameFromBin( EndianIStream& eis);
01024 void calDataIdFromBin( EndianIStream& eis);
01025 void calReductionIdFromBin( EndianIStream& eis);
01026 void numReceptorFromBin( EndianIStream& eis);
01027 void polarizationTypesFromBin( EndianIStream& eis);
01028 void startValidTimeFromBin( EndianIStream& eis);
01029 void endValidTimeFromBin( EndianIStream& eis);
01030 void frequencyRangeFromBin( EndianIStream& eis);
01031 void apertureEfficiencyFromBin( EndianIStream& eis);
01032 void apertureEfficiencyErrorFromBin( EndianIStream& eis);
01033 
01034 void correctionValidityFromBin( EndianIStream& eis);
01035 
01036 */
01037         
01039         // text-deserialization material //
01041         std::map<std::string, CalAmpliAttributeFromText> fromTextMethods;
01042         
01043 void antennaNameFromText (const string & s);
01044         
01045         
01046 void atmPhaseCorrectionFromText (const string & s);
01047         
01048         
01049 void receiverBandFromText (const string & s);
01050         
01051         
01052 void basebandNameFromText (const string & s);
01053         
01054         
01055 void calDataIdFromText (const string & s);
01056         
01057         
01058 void calReductionIdFromText (const string & s);
01059         
01060         
01061 void numReceptorFromText (const string & s);
01062         
01063         
01064 void polarizationTypesFromText (const string & s);
01065         
01066         
01067 void startValidTimeFromText (const string & s);
01068         
01069         
01070 void endValidTimeFromText (const string & s);
01071         
01072         
01073 void frequencyRangeFromText (const string & s);
01074         
01075         
01076 void apertureEfficiencyFromText (const string & s);
01077         
01078         
01079 void apertureEfficiencyErrorFromText (const string & s);
01080         
01081 
01082         
01083 void correctionValidityFromText (const string & s);
01084         
01085         
01086         
01091          void toBin(EndianOSStream& eoss);
01092                  
01102 };
01103 
01104 } // End namespace asdm
01105 
01106 #endif /* CalAmpli_CLASS */