casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
SysCalRow.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 SysCalRow.h
00032  */
00033  
00034 #ifndef SysCalRow_CLASS
00035 #define SysCalRow_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 <Tag.h>
00052         
00053 
00054          
00055 #include <Temperature.h>
00056         
00057 
00058          
00059 #include <ArrayTimeInterval.h>
00060         
00061 
00062 
00063 
00064 
00065         
00066 
00067         
00068 
00069         
00070 
00071         
00072 
00073         
00074 
00075         
00076 
00077         
00078 
00079         
00080 
00081         
00082 
00083         
00084 
00085         
00086 
00087         
00088 
00089         
00090 
00091         
00092 
00093         
00094 
00095         
00096 
00097         
00098 
00099 
00100 
00101 #include <ConversionException.h>
00102 #include <NoSuchRow.h>
00103 #include <IllegalAccessException.h>
00104 
00105 #include <RowTransformer.h>
00106 //#include <TableStreamReader.h>
00107 
00108 /*\file SysCal.h
00109     \brief Generated from model's revision "1.64", branch "HEAD"
00110 */
00111 
00112 namespace asdm {
00113 
00114 //class asdm::SysCalTable;
00115 
00116 
00117 // class asdm::AntennaRow;
00118 class AntennaRow;
00119 
00120 // class asdm::FeedRow;
00121 class FeedRow;
00122 
00123 // class asdm::SpectralWindowRow;
00124 class SpectralWindowRow;
00125         
00126 
00127 class SysCalRow;
00128 typedef void (SysCalRow::*SysCalAttributeFromBin) (EndianIStream& eis);
00129 typedef void (SysCalRow::*SysCalAttributeFromText) (const string& s);
00130 
00137 class SysCalRow {
00138 friend class asdm::SysCalTable;
00139 friend class asdm::RowTransformer<SysCalRow>;
00140 //friend class asdm::TableStreamReader<SysCalTable, SysCalRow>;
00141 
00142 public:
00143 
00144         virtual ~SysCalRow();
00145 
00149         SysCalTable &getTable() const;
00150         
00155         bool isAdded() const;
00156                 
00158         // Intrinsic Table Attributes //
00160         
00161         
00162         // ===> Attribute timeInterval
00163         
00164         
00165         
00166 
00167         
00172         ArrayTimeInterval getTimeInterval() const;
00173         
00174  
00175         
00176         
00186         void setTimeInterval (ArrayTimeInterval timeInterval);
00187                 
00188         
00189         
00190         
00191 
00192 
00193         
00194         // ===> Attribute numReceptor
00195         
00196         
00197         
00198 
00199         
00204         int getNumReceptor() const;
00205         
00206  
00207         
00208         
00216         void setNumReceptor (int numReceptor);
00217                 
00218         
00219         
00220         
00221 
00222 
00223         
00224         // ===> Attribute numChan
00225         
00226         
00227         
00228 
00229         
00234         int getNumChan() const;
00235         
00236  
00237         
00238         
00246         void setNumChan (int numChan);
00247                 
00248         
00249         
00250         
00251 
00252 
00253         
00254         // ===> Attribute tcalFlag, which is optional
00255         
00256         
00257         
00262         bool isTcalFlagExists() const;
00263         
00264 
00265         
00271         bool getTcalFlag() const;
00272         
00273  
00274         
00275         
00282         void setTcalFlag (bool tcalFlag);
00283                 
00284         
00285         
00286         
00290         void clearTcalFlag ();
00291         
00292 
00293 
00294         
00295         // ===> Attribute tcalSpectrum, which is optional
00296         
00297         
00298         
00303         bool isTcalSpectrumExists() const;
00304         
00305 
00306         
00312         vector<vector<Temperature > > getTcalSpectrum() const;
00313         
00314  
00315         
00316         
00323         void setTcalSpectrum (vector<vector<Temperature > > tcalSpectrum);
00324                 
00325         
00326         
00327         
00331         void clearTcalSpectrum ();
00332         
00333 
00334 
00335         
00336         // ===> Attribute trxFlag, which is optional
00337         
00338         
00339         
00344         bool isTrxFlagExists() const;
00345         
00346 
00347         
00353         bool getTrxFlag() const;
00354         
00355  
00356         
00357         
00364         void setTrxFlag (bool trxFlag);
00365                 
00366         
00367         
00368         
00372         void clearTrxFlag ();
00373         
00374 
00375 
00376         
00377         // ===> Attribute trxSpectrum, which is optional
00378         
00379         
00380         
00385         bool isTrxSpectrumExists() const;
00386         
00387 
00388         
00394         vector<vector<Temperature > > getTrxSpectrum() const;
00395         
00396  
00397         
00398         
00405         void setTrxSpectrum (vector<vector<Temperature > > trxSpectrum);
00406                 
00407         
00408         
00409         
00413         void clearTrxSpectrum ();
00414         
00415 
00416 
00417         
00418         // ===> Attribute tskyFlag, which is optional
00419         
00420         
00421         
00426         bool isTskyFlagExists() const;
00427         
00428 
00429         
00435         bool getTskyFlag() const;
00436         
00437  
00438         
00439         
00446         void setTskyFlag (bool tskyFlag);
00447                 
00448         
00449         
00450         
00454         void clearTskyFlag ();
00455         
00456 
00457 
00458         
00459         // ===> Attribute tskySpectrum, which is optional
00460         
00461         
00462         
00467         bool isTskySpectrumExists() const;
00468         
00469 
00470         
00476         vector<vector<Temperature > > getTskySpectrum() const;
00477         
00478  
00479         
00480         
00487         void setTskySpectrum (vector<vector<Temperature > > tskySpectrum);
00488                 
00489         
00490         
00491         
00495         void clearTskySpectrum ();
00496         
00497 
00498 
00499         
00500         // ===> Attribute tsysFlag, which is optional
00501         
00502         
00503         
00508         bool isTsysFlagExists() const;
00509         
00510 
00511         
00517         bool getTsysFlag() const;
00518         
00519  
00520         
00521         
00528         void setTsysFlag (bool tsysFlag);
00529                 
00530         
00531         
00532         
00536         void clearTsysFlag ();
00537         
00538 
00539 
00540         
00541         // ===> Attribute tsysSpectrum, which is optional
00542         
00543         
00544         
00549         bool isTsysSpectrumExists() const;
00550         
00551 
00552         
00558         vector<vector<Temperature > > getTsysSpectrum() const;
00559         
00560  
00561         
00562         
00569         void setTsysSpectrum (vector<vector<Temperature > > tsysSpectrum);
00570                 
00571         
00572         
00573         
00577         void clearTsysSpectrum ();
00578         
00579 
00580 
00581         
00582         // ===> Attribute tantFlag, which is optional
00583         
00584         
00585         
00590         bool isTantFlagExists() const;
00591         
00592 
00593         
00599         bool getTantFlag() const;
00600         
00601  
00602         
00603         
00610         void setTantFlag (bool tantFlag);
00611                 
00612         
00613         
00614         
00618         void clearTantFlag ();
00619         
00620 
00621 
00622         
00623         // ===> Attribute tantSpectrum, which is optional
00624         
00625         
00626         
00631         bool isTantSpectrumExists() const;
00632         
00633 
00634         
00640         vector<vector<float > > getTantSpectrum() const;
00641         
00642  
00643         
00644         
00651         void setTantSpectrum (vector<vector<float > > tantSpectrum);
00652                 
00653         
00654         
00655         
00659         void clearTantSpectrum ();
00660         
00661 
00662 
00663         
00664         // ===> Attribute tantTsysFlag, which is optional
00665         
00666         
00667         
00672         bool isTantTsysFlagExists() const;
00673         
00674 
00675         
00681         bool getTantTsysFlag() const;
00682         
00683  
00684         
00685         
00692         void setTantTsysFlag (bool tantTsysFlag);
00693                 
00694         
00695         
00696         
00700         void clearTantTsysFlag ();
00701         
00702 
00703 
00704         
00705         // ===> Attribute tantTsysSpectrum, which is optional
00706         
00707         
00708         
00713         bool isTantTsysSpectrumExists() const;
00714         
00715 
00716         
00722         vector<vector<float > > getTantTsysSpectrum() const;
00723         
00724  
00725         
00726         
00733         void setTantTsysSpectrum (vector<vector<float > > tantTsysSpectrum);
00734                 
00735         
00736         
00737         
00741         void clearTantTsysSpectrum ();
00742         
00743 
00744 
00745         
00746         // ===> Attribute phaseDiffFlag, which is optional
00747         
00748         
00749         
00754         bool isPhaseDiffFlagExists() const;
00755         
00756 
00757         
00763         bool getPhaseDiffFlag() const;
00764         
00765  
00766         
00767         
00774         void setPhaseDiffFlag (bool phaseDiffFlag);
00775                 
00776         
00777         
00778         
00782         void clearPhaseDiffFlag ();
00783         
00784 
00785 
00786         
00787         // ===> Attribute phaseDiffSpectrum, which is optional
00788         
00789         
00790         
00795         bool isPhaseDiffSpectrumExists() const;
00796         
00797 
00798         
00804         vector<vector<float > > getPhaseDiffSpectrum() const;
00805         
00806  
00807         
00808         
00815         void setPhaseDiffSpectrum (vector<vector<float > > phaseDiffSpectrum);
00816                 
00817         
00818         
00819         
00823         void clearPhaseDiffSpectrum ();
00824         
00825 
00826 
00828         // Extrinsic Table Attributes //
00830         
00831         
00832         // ===> Attribute antennaId
00833         
00834         
00835         
00836 
00837         
00842         Tag getAntennaId() const;
00843         
00844  
00845         
00846         
00856         void setAntennaId (Tag antennaId);
00857                 
00858         
00859         
00860         
00861 
00862 
00863         
00864         // ===> Attribute feedId
00865         
00866         
00867         
00868 
00869         
00874         int getFeedId() const;
00875         
00876  
00877         
00878         
00888         void setFeedId (int feedId);
00889                 
00890         
00891         
00892         
00893 
00894 
00895         
00896         // ===> Attribute spectralWindowId
00897         
00898         
00899         
00900 
00901         
00906         Tag getSpectralWindowId() const;
00907         
00908  
00909         
00910         
00920         void setSpectralWindowId (Tag spectralWindowId);
00921                 
00922         
00923         
00924         
00925 
00926 
00928         // Links //
00930         
00931         
00932 
00933         
00934                 
00941          AntennaRow* getAntennaUsingAntennaId();
00942          
00943 
00944         
00945 
00946         
00947 
00948         
00949                 
00950         // ===> Slice link from a row of SysCal table to a collection of row of Feed table.
00951         
00957         vector <FeedRow *> getFeeds();
00958         
00959         
00960 
00961         
00962 
00963         
00964 
00965         
00966                 
00973          SpectralWindowRow* getSpectralWindowUsingSpectralWindowId();
00974          
00975 
00976         
00977 
00978         
00979         
00980         
00998         bool compareNoAutoInc(Tag antennaId, Tag spectralWindowId, ArrayTimeInterval timeInterval, int feedId, int numReceptor, int numChan);
00999         
01000         
01001 
01002         
01012         bool compareRequiredValue(int numReceptor, int numChan); 
01013                  
01014         
01023         bool equalByRequiredValue(SysCalRow* x) ;
01024         
01025 #ifndef WITHOUT_ACS
01026 
01030         asdmIDL::SysCalRowIDL *toIDL() const;
01031         
01039          void toIDL(asdmIDL::SysCalRowIDL& x) const;
01040 #endif
01041         
01042 #ifndef WITHOUT_ACS
01043 
01048         void setFromIDL (asdmIDL::SysCalRowIDL x) ;
01049 #endif
01050         
01055         std::string toXML() const;
01056 
01063         void setFromXML (std::string rowDoc) ;
01064 
01067         // binary-deserialization material from an EndianIStream  //
01069 
01070         std::map<std::string, SysCalAttributeFromBin> fromBinMethods;
01071 void antennaIdFromBin( EndianIStream& eis);
01072 void spectralWindowIdFromBin( EndianIStream& eis);
01073 void timeIntervalFromBin( EndianIStream& eis);
01074 void feedIdFromBin( EndianIStream& eis);
01075 void numReceptorFromBin( EndianIStream& eis);
01076 void numChanFromBin( EndianIStream& eis);
01077 
01078 void tcalFlagFromBin( EndianIStream& eis);
01079 void tcalSpectrumFromBin( EndianIStream& eis);
01080 void trxFlagFromBin( EndianIStream& eis);
01081 void trxSpectrumFromBin( EndianIStream& eis);
01082 void tskyFlagFromBin( EndianIStream& eis);
01083 void tskySpectrumFromBin( EndianIStream& eis);
01084 void tsysFlagFromBin( EndianIStream& eis);
01085 void tsysSpectrumFromBin( EndianIStream& eis);
01086 void tantFlagFromBin( EndianIStream& eis);
01087 void tantSpectrumFromBin( EndianIStream& eis);
01088 void tantTsysFlagFromBin( EndianIStream& eis);
01089 void tantTsysSpectrumFromBin( EndianIStream& eis);
01090 void phaseDiffFlagFromBin( EndianIStream& eis);
01091 void phaseDiffSpectrumFromBin( EndianIStream& eis);
01092 
01093 
01101          static SysCalRow* fromBin(EndianIStream& eis, SysCalTable& table, const std::vector<std::string>& attributesSeq);       
01102  
01109          void fromText(const std::string& attributeName, const std::string&  t);
01111 
01112 private:
01116         SysCalTable &table;
01120         bool hasBeenAdded;
01121 
01122         // This method is used by the Table class when this row is added to the table.
01123         void isAdded(bool added);
01124 
01125 
01134         SysCalRow (SysCalTable &table);
01135 
01153          SysCalRow (SysCalTable &table, SysCalRow &row);
01154                 
01156         // Intrinsic Table Attributes //
01158         
01159         
01160         // ===> Attribute timeInterval
01161         
01162         
01163 
01164         ArrayTimeInterval timeInterval;
01165 
01166         
01167         
01168         
01169 
01170         
01171         // ===> Attribute numReceptor
01172         
01173         
01174 
01175         int numReceptor;
01176 
01177         
01178         
01179         
01180 
01181         
01182         // ===> Attribute numChan
01183         
01184         
01185 
01186         int numChan;
01187 
01188         
01189         
01190         
01191 
01192         
01193         // ===> Attribute tcalFlag, which is optional
01194         
01195         
01196         bool tcalFlagExists;
01197         
01198 
01199         bool tcalFlag;
01200 
01201         
01202         
01203         
01204 
01205         
01206         // ===> Attribute tcalSpectrum, which is optional
01207         
01208         
01209         bool tcalSpectrumExists;
01210         
01211 
01212         vector<vector<Temperature > > tcalSpectrum;
01213 
01214         
01215         
01216         
01217 
01218         
01219         // ===> Attribute trxFlag, which is optional
01220         
01221         
01222         bool trxFlagExists;
01223         
01224 
01225         bool trxFlag;
01226 
01227         
01228         
01229         
01230 
01231         
01232         // ===> Attribute trxSpectrum, which is optional
01233         
01234         
01235         bool trxSpectrumExists;
01236         
01237 
01238         vector<vector<Temperature > > trxSpectrum;
01239 
01240         
01241         
01242         
01243 
01244         
01245         // ===> Attribute tskyFlag, which is optional
01246         
01247         
01248         bool tskyFlagExists;
01249         
01250 
01251         bool tskyFlag;
01252 
01253         
01254         
01255         
01256 
01257         
01258         // ===> Attribute tskySpectrum, which is optional
01259         
01260         
01261         bool tskySpectrumExists;
01262         
01263 
01264         vector<vector<Temperature > > tskySpectrum;
01265 
01266         
01267         
01268         
01269 
01270         
01271         // ===> Attribute tsysFlag, which is optional
01272         
01273         
01274         bool tsysFlagExists;
01275         
01276 
01277         bool tsysFlag;
01278 
01279         
01280         
01281         
01282 
01283         
01284         // ===> Attribute tsysSpectrum, which is optional
01285         
01286         
01287         bool tsysSpectrumExists;
01288         
01289 
01290         vector<vector<Temperature > > tsysSpectrum;
01291 
01292         
01293         
01294         
01295 
01296         
01297         // ===> Attribute tantFlag, which is optional
01298         
01299         
01300         bool tantFlagExists;
01301         
01302 
01303         bool tantFlag;
01304 
01305         
01306         
01307         
01308 
01309         
01310         // ===> Attribute tantSpectrum, which is optional
01311         
01312         
01313         bool tantSpectrumExists;
01314         
01315 
01316         vector<vector<float > > tantSpectrum;
01317 
01318         
01319         
01320         
01321 
01322         
01323         // ===> Attribute tantTsysFlag, which is optional
01324         
01325         
01326         bool tantTsysFlagExists;
01327         
01328 
01329         bool tantTsysFlag;
01330 
01331         
01332         
01333         
01334 
01335         
01336         // ===> Attribute tantTsysSpectrum, which is optional
01337         
01338         
01339         bool tantTsysSpectrumExists;
01340         
01341 
01342         vector<vector<float > > tantTsysSpectrum;
01343 
01344         
01345         
01346         
01347 
01348         
01349         // ===> Attribute phaseDiffFlag, which is optional
01350         
01351         
01352         bool phaseDiffFlagExists;
01353         
01354 
01355         bool phaseDiffFlag;
01356 
01357         
01358         
01359         
01360 
01361         
01362         // ===> Attribute phaseDiffSpectrum, which is optional
01363         
01364         
01365         bool phaseDiffSpectrumExists;
01366         
01367 
01368         vector<vector<float > > phaseDiffSpectrum;
01369 
01370         
01371         
01372         
01373 
01375         // Extrinsic Table Attributes //
01377         
01378         
01379         // ===> Attribute antennaId
01380         
01381         
01382 
01383         Tag antennaId;
01384 
01385         
01386         
01387         
01388 
01389         
01390         // ===> Attribute feedId
01391         
01392         
01393 
01394         int feedId;
01395 
01396         
01397         
01398         
01399 
01400         
01401         // ===> Attribute spectralWindowId
01402         
01403         
01404 
01405         Tag spectralWindowId;
01406 
01407         
01408         
01409         
01410 
01412         // Links //
01414         
01415         
01416                 
01417 
01418          
01419 
01420         
01421 
01422         
01423                 
01424 
01425 
01426         
01427 
01428         
01429                 
01430 
01431          
01432 
01433         
01434 
01435         
01436 /*
01438         // binary-deserialization material from an EndianIStream  //
01440         std::map<std::string, SysCalAttributeFromBin> fromBinMethods;
01441 void antennaIdFromBin( EndianIStream& eis);
01442 void spectralWindowIdFromBin( EndianIStream& eis);
01443 void timeIntervalFromBin( EndianIStream& eis);
01444 void feedIdFromBin( EndianIStream& eis);
01445 void numReceptorFromBin( EndianIStream& eis);
01446 void numChanFromBin( EndianIStream& eis);
01447 
01448 void tcalFlagFromBin( EndianIStream& eis);
01449 void tcalSpectrumFromBin( EndianIStream& eis);
01450 void trxFlagFromBin( EndianIStream& eis);
01451 void trxSpectrumFromBin( EndianIStream& eis);
01452 void tskyFlagFromBin( EndianIStream& eis);
01453 void tskySpectrumFromBin( EndianIStream& eis);
01454 void tsysFlagFromBin( EndianIStream& eis);
01455 void tsysSpectrumFromBin( EndianIStream& eis);
01456 void tantFlagFromBin( EndianIStream& eis);
01457 void tantSpectrumFromBin( EndianIStream& eis);
01458 void tantTsysFlagFromBin( EndianIStream& eis);
01459 void tantTsysSpectrumFromBin( EndianIStream& eis);
01460 void phaseDiffFlagFromBin( EndianIStream& eis);
01461 void phaseDiffSpectrumFromBin( EndianIStream& eis);
01462 
01463 */
01464         
01466         // text-deserialization material //
01468         std::map<std::string, SysCalAttributeFromText> fromTextMethods;
01469         
01470 void antennaIdFromText (const string & s);
01471         
01472         
01473 void spectralWindowIdFromText (const string & s);
01474         
01475         
01476 void timeIntervalFromText (const string & s);
01477         
01478         
01479 void feedIdFromText (const string & s);
01480         
01481         
01482 void numReceptorFromText (const string & s);
01483         
01484         
01485 void numChanFromText (const string & s);
01486         
01487 
01488         
01489 void tcalFlagFromText (const string & s);
01490         
01491         
01492 void tcalSpectrumFromText (const string & s);
01493         
01494         
01495 void trxFlagFromText (const string & s);
01496         
01497         
01498 void trxSpectrumFromText (const string & s);
01499         
01500         
01501 void tskyFlagFromText (const string & s);
01502         
01503         
01504 void tskySpectrumFromText (const string & s);
01505         
01506         
01507 void tsysFlagFromText (const string & s);
01508         
01509         
01510 void tsysSpectrumFromText (const string & s);
01511         
01512         
01513 void tantFlagFromText (const string & s);
01514         
01515         
01516 void tantSpectrumFromText (const string & s);
01517         
01518         
01519 void tantTsysFlagFromText (const string & s);
01520         
01521         
01522 void tantTsysSpectrumFromText (const string & s);
01523         
01524         
01525 void phaseDiffFlagFromText (const string & s);
01526         
01527         
01528 void phaseDiffSpectrumFromText (const string & s);
01529         
01530         
01531         
01536          void toBin(EndianOSStream& eoss);
01537                  
01547 };
01548 
01549 } // End namespace asdm
01550 
01551 #endif /* SysCal_CLASS */