casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
CalBandpassRow.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 CalBandpassRow.h
00032  */
00033  
00034 #ifndef CalBandpassRow_CLASS
00035 #define CalBandpassRow_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 #include "CBasebandName.h"
00067         
00068 
00069         
00070 #include "CNetSideband.h"
00071         
00072 
00073         
00074 #include "CAtmPhaseCorrection.h"
00075         
00076 
00077         
00078 #include "CCalCurveType.h"
00079         
00080 
00081         
00082 #include "CReceiverBand.h"
00083         
00084 
00085         
00086 
00087         
00088 
00089         
00090 
00091         
00092 
00093         
00094 
00095         
00096 
00097         
00098 
00099         
00100 
00101         
00102 #include "CPolarizationType.h"
00103         
00104 
00105         
00106 
00107         
00108 
00109         
00110 
00111         
00112 
00113 
00114 
00115 #include <ConversionException.h>
00116 #include <NoSuchRow.h>
00117 #include <IllegalAccessException.h>
00118 
00119 #include <RowTransformer.h>
00120 //#include <TableStreamReader.h>
00121 
00122 /*\file CalBandpass.h
00123     \brief Generated from model's revision "1.64", branch "HEAD"
00124 */
00125 
00126 namespace asdm {
00127 
00128 //class asdm::CalBandpassTable;
00129 
00130 
00131 // class asdm::CalReductionRow;
00132 class CalReductionRow;
00133 
00134 // class asdm::CalDataRow;
00135 class CalDataRow;
00136         
00137 
00138 class CalBandpassRow;
00139 typedef void (CalBandpassRow::*CalBandpassAttributeFromBin) (EndianIStream& eis);
00140 typedef void (CalBandpassRow::*CalBandpassAttributeFromText) (const string& s);
00141 
00148 class CalBandpassRow {
00149 friend class asdm::CalBandpassTable;
00150 friend class asdm::RowTransformer<CalBandpassRow>;
00151 //friend class asdm::TableStreamReader<CalBandpassTable, CalBandpassRow>;
00152 
00153 public:
00154 
00155         virtual ~CalBandpassRow();
00156 
00160         CalBandpassTable &getTable() const;
00161         
00166         bool isAdded() const;
00167                 
00169         // Intrinsic Table Attributes //
00171         
00172         
00173         // ===> Attribute basebandName
00174         
00175         
00176         
00177 
00178         
00183         BasebandNameMod::BasebandName getBasebandName() const;
00184         
00185  
00186         
00187         
00197         void setBasebandName (BasebandNameMod::BasebandName basebandName);
00198                 
00199         
00200         
00201         
00202 
00203 
00204         
00205         // ===> Attribute sideband
00206         
00207         
00208         
00209 
00210         
00215         NetSidebandMod::NetSideband getSideband() const;
00216         
00217  
00218         
00219         
00229         void setSideband (NetSidebandMod::NetSideband sideband);
00230                 
00231         
00232         
00233         
00234 
00235 
00236         
00237         // ===> Attribute atmPhaseCorrection
00238         
00239         
00240         
00241 
00242         
00247         AtmPhaseCorrectionMod::AtmPhaseCorrection getAtmPhaseCorrection() const;
00248         
00249  
00250         
00251         
00261         void setAtmPhaseCorrection (AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection);
00262                 
00263         
00264         
00265         
00266 
00267 
00268         
00269         // ===> Attribute typeCurve
00270         
00271         
00272         
00273 
00274         
00279         CalCurveTypeMod::CalCurveType getTypeCurve() const;
00280         
00281  
00282         
00283         
00293         void setTypeCurve (CalCurveTypeMod::CalCurveType typeCurve);
00294                 
00295         
00296         
00297         
00298 
00299 
00300         
00301         // ===> Attribute receiverBand
00302         
00303         
00304         
00305 
00306         
00311         ReceiverBandMod::ReceiverBand getReceiverBand() const;
00312         
00313  
00314         
00315         
00325         void setReceiverBand (ReceiverBandMod::ReceiverBand receiverBand);
00326                 
00327         
00328         
00329         
00330 
00331 
00332         
00333         // ===> Attribute startValidTime
00334         
00335         
00336         
00337 
00338         
00343         ArrayTime getStartValidTime() const;
00344         
00345  
00346         
00347         
00355         void setStartValidTime (ArrayTime startValidTime);
00356                 
00357         
00358         
00359         
00360 
00361 
00362         
00363         // ===> Attribute endValidTime
00364         
00365         
00366         
00367 
00368         
00373         ArrayTime getEndValidTime() const;
00374         
00375  
00376         
00377         
00385         void setEndValidTime (ArrayTime endValidTime);
00386                 
00387         
00388         
00389         
00390 
00391 
00392         
00393         // ===> Attribute numAntenna
00394         
00395         
00396         
00397 
00398         
00403         int getNumAntenna() const;
00404         
00405  
00406         
00407         
00415         void setNumAntenna (int numAntenna);
00416                 
00417         
00418         
00419         
00420 
00421 
00422         
00423         // ===> Attribute numPoly
00424         
00425         
00426         
00427 
00428         
00433         int getNumPoly() const;
00434         
00435  
00436         
00437         
00445         void setNumPoly (int numPoly);
00446                 
00447         
00448         
00449         
00450 
00451 
00452         
00453         // ===> Attribute numReceptor
00454         
00455         
00456         
00457 
00458         
00463         int getNumReceptor() const;
00464         
00465  
00466         
00467         
00475         void setNumReceptor (int numReceptor);
00476                 
00477         
00478         
00479         
00480 
00481 
00482         
00483         // ===> Attribute antennaNames
00484         
00485         
00486         
00487 
00488         
00493         vector<string > getAntennaNames() const;
00494         
00495  
00496         
00497         
00505         void setAntennaNames (vector<string > antennaNames);
00506                 
00507         
00508         
00509         
00510 
00511 
00512         
00513         // ===> Attribute refAntennaName
00514         
00515         
00516         
00517 
00518         
00523         string getRefAntennaName() const;
00524         
00525  
00526         
00527         
00535         void setRefAntennaName (string refAntennaName);
00536                 
00537         
00538         
00539         
00540 
00541 
00542         
00543         // ===> Attribute freqLimits
00544         
00545         
00546         
00547 
00548         
00553         vector<Frequency > getFreqLimits() const;
00554         
00555  
00556         
00557         
00565         void setFreqLimits (vector<Frequency > freqLimits);
00566                 
00567         
00568         
00569         
00570 
00571 
00572         
00573         // ===> Attribute polarizationTypes
00574         
00575         
00576         
00577 
00578         
00583         vector<PolarizationTypeMod::PolarizationType > getPolarizationTypes() const;
00584         
00585  
00586         
00587         
00595         void setPolarizationTypes (vector<PolarizationTypeMod::PolarizationType > polarizationTypes);
00596                 
00597         
00598         
00599         
00600 
00601 
00602         
00603         // ===> Attribute curve
00604         
00605         
00606         
00607 
00608         
00613         vector<vector<vector<float > > > getCurve() const;
00614         
00615  
00616         
00617         
00625         void setCurve (vector<vector<vector<float > > > curve);
00626                 
00627         
00628         
00629         
00630 
00631 
00632         
00633         // ===> Attribute reducedChiSquared
00634         
00635         
00636         
00637 
00638         
00643         vector<double > getReducedChiSquared() const;
00644         
00645  
00646         
00647         
00655         void setReducedChiSquared (vector<double > reducedChiSquared);
00656                 
00657         
00658         
00659         
00660 
00661 
00662         
00663         // ===> Attribute numBaseline, which is optional
00664         
00665         
00666         
00671         bool isNumBaselineExists() const;
00672         
00673 
00674         
00680         int getNumBaseline() const;
00681         
00682  
00683         
00684         
00691         void setNumBaseline (int numBaseline);
00692                 
00693         
00694         
00695         
00699         void clearNumBaseline ();
00700         
00701 
00702 
00703         
00704         // ===> Attribute rms, which is optional
00705         
00706         
00707         
00712         bool isRmsExists() const;
00713         
00714 
00715         
00721         vector<vector<float > > getRms() const;
00722         
00723  
00724         
00725         
00732         void setRms (vector<vector<float > > rms);
00733                 
00734         
00735         
00736         
00740         void clearRms ();
00741         
00742 
00743 
00745         // Extrinsic Table Attributes //
00747         
00748         
00749         // ===> Attribute calDataId
00750         
00751         
00752         
00753 
00754         
00759         Tag getCalDataId() const;
00760         
00761  
00762         
00763         
00773         void setCalDataId (Tag calDataId);
00774                 
00775         
00776         
00777         
00778 
00779 
00780         
00781         // ===> Attribute calReductionId
00782         
00783         
00784         
00785 
00786         
00791         Tag getCalReductionId() const;
00792         
00793  
00794         
00795         
00805         void setCalReductionId (Tag calReductionId);
00806                 
00807         
00808         
00809         
00810 
00811 
00813         // Links //
00815         
00816         
00817 
00818         
00819                 
00826          CalReductionRow* getCalReductionUsingCalReductionId();
00827          
00828 
00829         
00830 
00831         
00832 
00833         
00834                 
00841          CalDataRow* getCalDataUsingCalDataId();
00842          
00843 
00844         
00845 
00846         
00847         
00848         
00890         bool compareNoAutoInc(BasebandNameMod::BasebandName basebandName, NetSidebandMod::NetSideband sideband, AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection, CalCurveTypeMod::CalCurveType typeCurve, ReceiverBandMod::ReceiverBand receiverBand, Tag calDataId, Tag calReductionId, ArrayTime startValidTime, ArrayTime endValidTime, int numAntenna, int numPoly, int numReceptor, vector<string > antennaNames, string refAntennaName, vector<Frequency > freqLimits, vector<PolarizationTypeMod::PolarizationType > polarizationTypes, vector<vector<vector<float > > > curve, vector<double > reducedChiSquared);
00891         
00892         
00893 
00894         
00922         bool compareRequiredValue(ArrayTime startValidTime, ArrayTime endValidTime, int numAntenna, int numPoly, int numReceptor, vector<string > antennaNames, string refAntennaName, vector<Frequency > freqLimits, vector<PolarizationTypeMod::PolarizationType > polarizationTypes, vector<vector<vector<float > > > curve, vector<double > reducedChiSquared); 
00923                  
00924         
00933         bool equalByRequiredValue(CalBandpassRow* x) ;
00934         
00935 #ifndef WITHOUT_ACS
00936 
00940         asdmIDL::CalBandpassRowIDL *toIDL() const;
00941         
00949          void toIDL(asdmIDL::CalBandpassRowIDL& x) const;
00950 #endif
00951         
00952 #ifndef WITHOUT_ACS
00953 
00958         void setFromIDL (asdmIDL::CalBandpassRowIDL x) ;
00959 #endif
00960         
00965         std::string toXML() const;
00966 
00973         void setFromXML (std::string rowDoc) ;
00974 
00977         // binary-deserialization material from an EndianIStream  //
00979 
00980         std::map<std::string, CalBandpassAttributeFromBin> fromBinMethods;
00981 void basebandNameFromBin( EndianIStream& eis);
00982 void sidebandFromBin( EndianIStream& eis);
00983 void atmPhaseCorrectionFromBin( EndianIStream& eis);
00984 void typeCurveFromBin( EndianIStream& eis);
00985 void receiverBandFromBin( EndianIStream& eis);
00986 void calDataIdFromBin( EndianIStream& eis);
00987 void calReductionIdFromBin( EndianIStream& eis);
00988 void startValidTimeFromBin( EndianIStream& eis);
00989 void endValidTimeFromBin( EndianIStream& eis);
00990 void numAntennaFromBin( EndianIStream& eis);
00991 void numPolyFromBin( EndianIStream& eis);
00992 void numReceptorFromBin( EndianIStream& eis);
00993 void antennaNamesFromBin( EndianIStream& eis);
00994 void refAntennaNameFromBin( EndianIStream& eis);
00995 void freqLimitsFromBin( EndianIStream& eis);
00996 void polarizationTypesFromBin( EndianIStream& eis);
00997 void curveFromBin( EndianIStream& eis);
00998 void reducedChiSquaredFromBin( EndianIStream& eis);
00999 
01000 void numBaselineFromBin( EndianIStream& eis);
01001 void rmsFromBin( EndianIStream& eis);
01002 
01003 
01011          static CalBandpassRow* fromBin(EndianIStream& eis, CalBandpassTable& table, const std::vector<std::string>& attributesSeq);     
01012  
01019          void fromText(const std::string& attributeName, const std::string&  t);
01021 
01022 private:
01026         CalBandpassTable &table;
01030         bool hasBeenAdded;
01031 
01032         // This method is used by the Table class when this row is added to the table.
01033         void isAdded(bool added);
01034 
01035 
01044         CalBandpassRow (CalBandpassTable &table);
01045 
01063          CalBandpassRow (CalBandpassTable &table, CalBandpassRow &row);
01064                 
01066         // Intrinsic Table Attributes //
01068         
01069         
01070         // ===> Attribute basebandName
01071         
01072         
01073 
01074         BasebandNameMod::BasebandName basebandName;
01075 
01076         
01077         
01078         
01079 
01080         
01081         // ===> Attribute sideband
01082         
01083         
01084 
01085         NetSidebandMod::NetSideband sideband;
01086 
01087         
01088         
01089         
01090 
01091         
01092         // ===> Attribute atmPhaseCorrection
01093         
01094         
01095 
01096         AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection;
01097 
01098         
01099         
01100         
01101 
01102         
01103         // ===> Attribute typeCurve
01104         
01105         
01106 
01107         CalCurveTypeMod::CalCurveType typeCurve;
01108 
01109         
01110         
01111         
01112 
01113         
01114         // ===> Attribute receiverBand
01115         
01116         
01117 
01118         ReceiverBandMod::ReceiverBand receiverBand;
01119 
01120         
01121         
01122         
01123 
01124         
01125         // ===> Attribute startValidTime
01126         
01127         
01128 
01129         ArrayTime startValidTime;
01130 
01131         
01132         
01133         
01134 
01135         
01136         // ===> Attribute endValidTime
01137         
01138         
01139 
01140         ArrayTime endValidTime;
01141 
01142         
01143         
01144         
01145 
01146         
01147         // ===> Attribute numAntenna
01148         
01149         
01150 
01151         int numAntenna;
01152 
01153         
01154         
01155         
01156 
01157         
01158         // ===> Attribute numPoly
01159         
01160         
01161 
01162         int numPoly;
01163 
01164         
01165         
01166         
01167 
01168         
01169         // ===> Attribute numReceptor
01170         
01171         
01172 
01173         int numReceptor;
01174 
01175         
01176         
01177         
01178 
01179         
01180         // ===> Attribute antennaNames
01181         
01182         
01183 
01184         vector<string > antennaNames;
01185 
01186         
01187         
01188         
01189 
01190         
01191         // ===> Attribute refAntennaName
01192         
01193         
01194 
01195         string refAntennaName;
01196 
01197         
01198         
01199         
01200 
01201         
01202         // ===> Attribute freqLimits
01203         
01204         
01205 
01206         vector<Frequency > freqLimits;
01207 
01208         
01209         
01210         
01211 
01212         
01213         // ===> Attribute polarizationTypes
01214         
01215         
01216 
01217         vector<PolarizationTypeMod::PolarizationType > polarizationTypes;
01218 
01219         
01220         
01221         
01222 
01223         
01224         // ===> Attribute curve
01225         
01226         
01227 
01228         vector<vector<vector<float > > > curve;
01229 
01230         
01231         
01232         
01233 
01234         
01235         // ===> Attribute reducedChiSquared
01236         
01237         
01238 
01239         vector<double > reducedChiSquared;
01240 
01241         
01242         
01243         
01244 
01245         
01246         // ===> Attribute numBaseline, which is optional
01247         
01248         
01249         bool numBaselineExists;
01250         
01251 
01252         int numBaseline;
01253 
01254         
01255         
01256         
01257 
01258         
01259         // ===> Attribute rms, which is optional
01260         
01261         
01262         bool rmsExists;
01263         
01264 
01265         vector<vector<float > > rms;
01266 
01267         
01268         
01269         
01270 
01272         // Extrinsic Table Attributes //
01274         
01275         
01276         // ===> Attribute calDataId
01277         
01278         
01279 
01280         Tag calDataId;
01281 
01282         
01283         
01284         
01285 
01286         
01287         // ===> Attribute calReductionId
01288         
01289         
01290 
01291         Tag calReductionId;
01292 
01293         
01294         
01295         
01296 
01298         // Links //
01300         
01301         
01302                 
01303 
01304          
01305 
01306         
01307 
01308         
01309                 
01310 
01311          
01312 
01313         
01314 
01315         
01316 /*
01318         // binary-deserialization material from an EndianIStream  //
01320         std::map<std::string, CalBandpassAttributeFromBin> fromBinMethods;
01321 void basebandNameFromBin( EndianIStream& eis);
01322 void sidebandFromBin( EndianIStream& eis);
01323 void atmPhaseCorrectionFromBin( EndianIStream& eis);
01324 void typeCurveFromBin( EndianIStream& eis);
01325 void receiverBandFromBin( EndianIStream& eis);
01326 void calDataIdFromBin( EndianIStream& eis);
01327 void calReductionIdFromBin( EndianIStream& eis);
01328 void startValidTimeFromBin( EndianIStream& eis);
01329 void endValidTimeFromBin( EndianIStream& eis);
01330 void numAntennaFromBin( EndianIStream& eis);
01331 void numPolyFromBin( EndianIStream& eis);
01332 void numReceptorFromBin( EndianIStream& eis);
01333 void antennaNamesFromBin( EndianIStream& eis);
01334 void refAntennaNameFromBin( EndianIStream& eis);
01335 void freqLimitsFromBin( EndianIStream& eis);
01336 void polarizationTypesFromBin( EndianIStream& eis);
01337 void curveFromBin( EndianIStream& eis);
01338 void reducedChiSquaredFromBin( EndianIStream& eis);
01339 
01340 void numBaselineFromBin( EndianIStream& eis);
01341 void rmsFromBin( EndianIStream& eis);
01342 
01343 */
01344         
01346         // text-deserialization material //
01348         std::map<std::string, CalBandpassAttributeFromText> fromTextMethods;
01349         
01350 void basebandNameFromText (const string & s);
01351         
01352         
01353 void sidebandFromText (const string & s);
01354         
01355         
01356 void atmPhaseCorrectionFromText (const string & s);
01357         
01358         
01359 void typeCurveFromText (const string & s);
01360         
01361         
01362 void receiverBandFromText (const string & s);
01363         
01364         
01365 void calDataIdFromText (const string & s);
01366         
01367         
01368 void calReductionIdFromText (const string & s);
01369         
01370         
01371 void startValidTimeFromText (const string & s);
01372         
01373         
01374 void endValidTimeFromText (const string & s);
01375         
01376         
01377 void numAntennaFromText (const string & s);
01378         
01379         
01380 void numPolyFromText (const string & s);
01381         
01382         
01383 void numReceptorFromText (const string & s);
01384         
01385         
01386 void antennaNamesFromText (const string & s);
01387         
01388         
01389 void refAntennaNameFromText (const string & s);
01390         
01391         
01392 void freqLimitsFromText (const string & s);
01393         
01394         
01395 void polarizationTypesFromText (const string & s);
01396         
01397         
01398 void curveFromText (const string & s);
01399         
01400         
01401 void reducedChiSquaredFromText (const string & s);
01402         
01403 
01404         
01405 void numBaselineFromText (const string & s);
01406         
01407         
01408 void rmsFromText (const string & s);
01409         
01410         
01411         
01416          void toBin(EndianOSStream& eoss);
01417                  
01427 };
01428 
01429 } // End namespace asdm
01430 
01431 #endif /* CalBandpass_CLASS */