casa  $Rev:20696$
CorrelatorModeRow.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 CorrelatorModeRow.h
00032  */
00033  
00034 #ifndef CorrelatorModeRow_CLASS
00035 #define CorrelatorModeRow_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 
00056 
00057         
00058 
00059         
00060 
00061         
00062 #include "CBasebandName.h"
00063         
00064 
00065         
00066 
00067         
00068 #include "CAccumMode.h"
00069         
00070 
00071         
00072 
00073         
00074 
00075         
00076 #include "CAxisName.h"
00077         
00078 
00079         
00080 #include "CFilterMode.h"
00081         
00082 
00083         
00084 #include "CCorrelatorName.h"
00085         
00086 
00087 
00088 
00089 #include <ConversionException.h>
00090 #include <NoSuchRow.h>
00091 #include <IllegalAccessException.h>
00092 
00093 #include <RowTransformer.h>
00094 //#include <TableStreamReader.h>
00095 
00096 /*\file CorrelatorMode.h
00097     \brief Generated from model's revision "1.62", branch "HEAD"
00098 */
00099 
00100 namespace asdm {
00101 
00102 //class asdm::CorrelatorModeTable;
00103 
00104         
00105 
00106 class CorrelatorModeRow;
00107 typedef void (CorrelatorModeRow::*CorrelatorModeAttributeFromBin) (EndianIStream& eis);
00108 typedef void (CorrelatorModeRow::*CorrelatorModeAttributeFromText) (const string& s);
00109 
00116 class CorrelatorModeRow {
00117 friend class asdm::CorrelatorModeTable;
00118 friend class asdm::RowTransformer<CorrelatorModeRow>;
00119 //friend class asdm::TableStreamReader<CorrelatorModeTable, CorrelatorModeRow>;
00120 
00121 public:
00122 
00123         virtual ~CorrelatorModeRow();
00124 
00128         CorrelatorModeTable &getTable() const;
00129         
00134         bool isAdded() const;
00135                 
00137         // Intrinsic Table Attributes //
00139         
00140         
00141         // ===> Attribute correlatorModeId
00142         
00143         
00144         
00145 
00146         
00151         Tag getCorrelatorModeId() const;
00152         
00153  
00154         
00155         
00156         
00157         
00158 
00159 
00160         
00161         // ===> Attribute numBaseband
00162         
00163         
00164         
00165 
00166         
00171         int getNumBaseband() const;
00172         
00173  
00174         
00175         
00183         void setNumBaseband (int numBaseband);
00184                 
00185         
00186         
00187         
00188 
00189 
00190         
00191         // ===> Attribute basebandNames
00192         
00193         
00194         
00195 
00196         
00201         vector<BasebandNameMod::BasebandName > getBasebandNames() const;
00202         
00203  
00204         
00205         
00213         void setBasebandNames (vector<BasebandNameMod::BasebandName > basebandNames);
00214                 
00215         
00216         
00217         
00218 
00219 
00220         
00221         // ===> Attribute basebandConfig
00222         
00223         
00224         
00225 
00226         
00231         vector<int > getBasebandConfig() const;
00232         
00233  
00234         
00235         
00243         void setBasebandConfig (vector<int > basebandConfig);
00244                 
00245         
00246         
00247         
00248 
00249 
00250         
00251         // ===> Attribute accumMode
00252         
00253         
00254         
00255 
00256         
00261         AccumModeMod::AccumMode getAccumMode() const;
00262         
00263  
00264         
00265         
00273         void setAccumMode (AccumModeMod::AccumMode accumMode);
00274                 
00275         
00276         
00277         
00278 
00279 
00280         
00281         // ===> Attribute binMode
00282         
00283         
00284         
00285 
00286         
00291         int getBinMode() const;
00292         
00293  
00294         
00295         
00303         void setBinMode (int binMode);
00304                 
00305         
00306         
00307         
00308 
00309 
00310         
00311         // ===> Attribute numAxes
00312         
00313         
00314         
00315 
00316         
00321         int getNumAxes() const;
00322         
00323  
00324         
00325         
00333         void setNumAxes (int numAxes);
00334                 
00335         
00336         
00337         
00338 
00339 
00340         
00341         // ===> Attribute axesOrderArray
00342         
00343         
00344         
00345 
00346         
00351         vector<AxisNameMod::AxisName > getAxesOrderArray() const;
00352         
00353  
00354         
00355         
00363         void setAxesOrderArray (vector<AxisNameMod::AxisName > axesOrderArray);
00364                 
00365         
00366         
00367         
00368 
00369 
00370         
00371         // ===> Attribute filterMode
00372         
00373         
00374         
00375 
00376         
00381         vector<FilterModeMod::FilterMode > getFilterMode() const;
00382         
00383  
00384         
00385         
00393         void setFilterMode (vector<FilterModeMod::FilterMode > filterMode);
00394                 
00395         
00396         
00397         
00398 
00399 
00400         
00401         // ===> Attribute correlatorName
00402         
00403         
00404         
00405 
00406         
00411         CorrelatorNameMod::CorrelatorName getCorrelatorName() const;
00412         
00413  
00414         
00415         
00423         void setCorrelatorName (CorrelatorNameMod::CorrelatorName correlatorName);
00424                 
00425         
00426         
00427         
00428 
00429 
00431         // Extrinsic Table Attributes //
00433         
00435         // Links //
00437         
00438         
00439         
00440         
00464         bool compareNoAutoInc(int numBaseband, vector<BasebandNameMod::BasebandName > basebandNames, vector<int > basebandConfig, AccumModeMod::AccumMode accumMode, int binMode, int numAxes, vector<AxisNameMod::AxisName > axesOrderArray, vector<FilterModeMod::FilterMode > filterMode, CorrelatorNameMod::CorrelatorName correlatorName);
00465         
00466         
00467 
00468         
00492         bool compareRequiredValue(int numBaseband, vector<BasebandNameMod::BasebandName > basebandNames, vector<int > basebandConfig, AccumModeMod::AccumMode accumMode, int binMode, int numAxes, vector<AxisNameMod::AxisName > axesOrderArray, vector<FilterModeMod::FilterMode > filterMode, CorrelatorNameMod::CorrelatorName correlatorName); 
00493                  
00494         
00503         bool equalByRequiredValue(CorrelatorModeRow* x) ;
00504         
00505 #ifndef WITHOUT_ACS
00506 
00510         asdmIDL::CorrelatorModeRowIDL *toIDL() const;
00511 #endif
00512         
00513 #ifndef WITHOUT_ACS
00514 
00519         void setFromIDL (asdmIDL::CorrelatorModeRowIDL x) ;
00520 #endif
00521         
00526         std::string toXML() const;
00527 
00534         void setFromXML (std::string rowDoc) ;
00535 
00538         // binary-deserialization material from an EndianIStream  //
00540 
00541         std::map<std::string, CorrelatorModeAttributeFromBin> fromBinMethods;
00542 void correlatorModeIdFromBin( EndianIStream& eis);
00543 void numBasebandFromBin( EndianIStream& eis);
00544 void basebandNamesFromBin( EndianIStream& eis);
00545 void basebandConfigFromBin( EndianIStream& eis);
00546 void accumModeFromBin( EndianIStream& eis);
00547 void binModeFromBin( EndianIStream& eis);
00548 void numAxesFromBin( EndianIStream& eis);
00549 void axesOrderArrayFromBin( EndianIStream& eis);
00550 void filterModeFromBin( EndianIStream& eis);
00551 void correlatorNameFromBin( EndianIStream& eis);
00552 
00553         
00554 
00562          static CorrelatorModeRow* fromBin(EndianIStream& eis, CorrelatorModeTable& table, const std::vector<std::string>& attributesSeq);       
00563  
00570          void fromText(const std::string& attributeName, const std::string&  t);
00572 
00573 private:
00577         CorrelatorModeTable &table;
00581         bool hasBeenAdded;
00582 
00583         // This method is used by the Table class when this row is added to the table.
00584         void isAdded(bool added);
00585 
00586 
00595         CorrelatorModeRow (CorrelatorModeTable &table);
00596 
00614          CorrelatorModeRow (CorrelatorModeTable &table, CorrelatorModeRow &row);
00615                 
00617         // Intrinsic Table Attributes //
00619         
00620         
00621         // ===> Attribute correlatorModeId
00622         
00623         
00624 
00625         Tag correlatorModeId;
00626 
00627         
00628         
00629         
00639         void setCorrelatorModeId (Tag correlatorModeId);
00640                 
00641         
00642 
00643         
00644         // ===> Attribute numBaseband
00645         
00646         
00647 
00648         int numBaseband;
00649 
00650         
00651         
00652         
00653 
00654         
00655         // ===> Attribute basebandNames
00656         
00657         
00658 
00659         vector<BasebandNameMod::BasebandName > basebandNames;
00660 
00661         
00662         
00663         
00664 
00665         
00666         // ===> Attribute basebandConfig
00667         
00668         
00669 
00670         vector<int > basebandConfig;
00671 
00672         
00673         
00674         
00675 
00676         
00677         // ===> Attribute accumMode
00678         
00679         
00680 
00681         AccumModeMod::AccumMode accumMode;
00682 
00683         
00684         
00685         
00686 
00687         
00688         // ===> Attribute binMode
00689         
00690         
00691 
00692         int binMode;
00693 
00694         
00695         
00696         
00697 
00698         
00699         // ===> Attribute numAxes
00700         
00701         
00702 
00703         int numAxes;
00704 
00705         
00706         
00707         
00708 
00709         
00710         // ===> Attribute axesOrderArray
00711         
00712         
00713 
00714         vector<AxisNameMod::AxisName > axesOrderArray;
00715 
00716         
00717         
00718         
00719 
00720         
00721         // ===> Attribute filterMode
00722         
00723         
00724 
00725         vector<FilterModeMod::FilterMode > filterMode;
00726 
00727         
00728         
00729         
00730 
00731         
00732         // ===> Attribute correlatorName
00733         
00734         
00735 
00736         CorrelatorNameMod::CorrelatorName correlatorName;
00737 
00738         
00739         
00740         
00741 
00743         // Extrinsic Table Attributes //
00745         
00747         // Links //
00749         
00750         
00751 /*
00753         // binary-deserialization material from an EndianIStream  //
00755         std::map<std::string, CorrelatorModeAttributeFromBin> fromBinMethods;
00756 void correlatorModeIdFromBin( EndianIStream& eis);
00757 void numBasebandFromBin( EndianIStream& eis);
00758 void basebandNamesFromBin( EndianIStream& eis);
00759 void basebandConfigFromBin( EndianIStream& eis);
00760 void accumModeFromBin( EndianIStream& eis);
00761 void binModeFromBin( EndianIStream& eis);
00762 void numAxesFromBin( EndianIStream& eis);
00763 void axesOrderArrayFromBin( EndianIStream& eis);
00764 void filterModeFromBin( EndianIStream& eis);
00765 void correlatorNameFromBin( EndianIStream& eis);
00766 
00767         
00768 */
00769         
00771         // text-deserialization material //
00773         std::map<std::string, CorrelatorModeAttributeFromText> fromTextMethods;
00774         
00775 void correlatorModeIdFromText (const string & s);
00776         
00777         
00778 void numBasebandFromText (const string & s);
00779         
00780         
00781 void basebandNamesFromText (const string & s);
00782         
00783         
00784 void basebandConfigFromText (const string & s);
00785         
00786         
00787 void accumModeFromText (const string & s);
00788         
00789         
00790 void binModeFromText (const string & s);
00791         
00792         
00793 void numAxesFromText (const string & s);
00794         
00795         
00796 void axesOrderArrayFromText (const string & s);
00797         
00798         
00799 void filterModeFromText (const string & s);
00800         
00801         
00802 void correlatorNameFromText (const string & s);
00803         
00804 
00805                 
00806         
00811          void toBin(EndianOSStream& eoss);
00812                  
00822 };
00823 
00824 } // End namespace asdm
00825 
00826 #endif /* CorrelatorMode_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines