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 using std::vector;
00041 using std::string;
00042 using std::set;
00043 
00044 #ifndef WITHOUT_ACS
00045 #include <asdmIDLC.h>
00046 using asdmIDL::CorrelatorModeRowIDL;
00047 #endif
00048 
00049 
00050 
00051 
00052 
00053 
00054 #include <Tag.h>
00055 using  asdm::Tag;
00056 
00057 
00058 
00059 
00060         
00061 
00062         
00063 
00064         
00065 #include "CBasebandName.h"
00066 using namespace BasebandNameMod;
00067         
00068 
00069         
00070 
00071         
00072 #include "CAccumMode.h"
00073 using namespace AccumModeMod;
00074         
00075 
00076         
00077 
00078         
00079 
00080         
00081 #include "CAxisName.h"
00082 using namespace AxisNameMod;
00083         
00084 
00085         
00086 #include "CFilterMode.h"
00087 using namespace FilterModeMod;
00088         
00089 
00090         
00091 #include "CCorrelatorName.h"
00092 using namespace CorrelatorNameMod;
00093         
00094 
00095 
00096 
00097 #include <ConversionException.h>
00098 #include <NoSuchRow.h>
00099 #include <IllegalAccessException.h>
00100 
00101 
00102 /*\file CorrelatorMode.h
00103     \brief Generated from model's revision "1.55", branch "HEAD"
00104 */
00105 
00106 namespace asdm {
00107 
00108 //class asdm::CorrelatorModeTable;
00109 
00110         
00111 
00112 class CorrelatorModeRow;
00113 typedef void (CorrelatorModeRow::*CorrelatorModeAttributeFromBin) (EndianISStream& eiss);
00114 
00121 class CorrelatorModeRow {
00122 friend class asdm::CorrelatorModeTable;
00123 
00124 public:
00125 
00126         virtual ~CorrelatorModeRow();
00127 
00131         CorrelatorModeTable &getTable() const;
00132         
00137         bool isAdded() const;
00138                 
00140         // Intrinsic Table Attributes //
00142         
00143         
00144         // ===> Attribute correlatorModeId
00145         
00146         
00147         
00148 
00149         
00154         Tag getCorrelatorModeId() const;
00155         
00156  
00157         
00158         
00159         
00160         
00161 
00162 
00163         
00164         // ===> Attribute numBaseband
00165         
00166         
00167         
00168 
00169         
00174         int getNumBaseband() const;
00175         
00176  
00177         
00178         
00186         void setNumBaseband (int numBaseband);
00187                 
00188         
00189         
00190         
00191 
00192 
00193         
00194         // ===> Attribute basebandNames
00195         
00196         
00197         
00198 
00199         
00204         vector<BasebandNameMod::BasebandName > getBasebandNames() const;
00205         
00206  
00207         
00208         
00216         void setBasebandNames (vector<BasebandNameMod::BasebandName > basebandNames);
00217                 
00218         
00219         
00220         
00221 
00222 
00223         
00224         // ===> Attribute basebandConfig
00225         
00226         
00227         
00228 
00229         
00234         vector<int > getBasebandConfig() const;
00235         
00236  
00237         
00238         
00246         void setBasebandConfig (vector<int > basebandConfig);
00247                 
00248         
00249         
00250         
00251 
00252 
00253         
00254         // ===> Attribute accumMode
00255         
00256         
00257         
00258 
00259         
00264         AccumModeMod::AccumMode getAccumMode() const;
00265         
00266  
00267         
00268         
00276         void setAccumMode (AccumModeMod::AccumMode accumMode);
00277                 
00278         
00279         
00280         
00281 
00282 
00283         
00284         // ===> Attribute binMode
00285         
00286         
00287         
00288 
00289         
00294         int getBinMode() const;
00295         
00296  
00297         
00298         
00306         void setBinMode (int binMode);
00307                 
00308         
00309         
00310         
00311 
00312 
00313         
00314         // ===> Attribute numAxes
00315         
00316         
00317         
00318 
00319         
00324         int getNumAxes() const;
00325         
00326  
00327         
00328         
00336         void setNumAxes (int numAxes);
00337                 
00338         
00339         
00340         
00341 
00342 
00343         
00344         // ===> Attribute axesOrderArray
00345         
00346         
00347         
00348 
00349         
00354         vector<AxisNameMod::AxisName > getAxesOrderArray() const;
00355         
00356  
00357         
00358         
00366         void setAxesOrderArray (vector<AxisNameMod::AxisName > axesOrderArray);
00367                 
00368         
00369         
00370         
00371 
00372 
00373         
00374         // ===> Attribute filterMode
00375         
00376         
00377         
00378 
00379         
00384         vector<FilterModeMod::FilterMode > getFilterMode() const;
00385         
00386  
00387         
00388         
00396         void setFilterMode (vector<FilterModeMod::FilterMode > filterMode);
00397                 
00398         
00399         
00400         
00401 
00402 
00403         
00404         // ===> Attribute correlatorName
00405         
00406         
00407         
00408 
00409         
00414         CorrelatorNameMod::CorrelatorName getCorrelatorName() const;
00415         
00416  
00417         
00418         
00426         void setCorrelatorName (CorrelatorNameMod::CorrelatorName correlatorName);
00427                 
00428         
00429         
00430         
00431 
00432 
00434         // Extrinsic Table Attributes //
00436         
00438         // Links //
00440         
00441         
00442         
00443         
00467         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);
00468         
00469         
00470 
00471         
00495         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); 
00496                  
00497         
00506         bool equalByRequiredValue(CorrelatorModeRow* x) ;
00507         
00508 #ifndef WITHOUT_ACS
00509 
00513         CorrelatorModeRowIDL *toIDL() const;
00514 #endif
00515         
00516 #ifndef WITHOUT_ACS
00517 
00522         void setFromIDL (CorrelatorModeRowIDL x) ;
00523 #endif
00524         
00529         string toXML() const;
00530 
00537         void setFromXML (string rowDoc) ;       
00538 
00539 private:
00543         CorrelatorModeTable &table;
00547         bool hasBeenAdded;
00548 
00549         // This method is used by the Table class when this row is added to the table.
00550         void isAdded(bool added);
00551 
00552 
00561         CorrelatorModeRow (CorrelatorModeTable &table);
00562 
00580          CorrelatorModeRow (CorrelatorModeTable &table, CorrelatorModeRow &row);
00581                 
00583         // Intrinsic Table Attributes //
00585         
00586         
00587         // ===> Attribute correlatorModeId
00588         
00589         
00590 
00591         Tag correlatorModeId;
00592 
00593         
00594         
00595         
00605         void setCorrelatorModeId (Tag correlatorModeId);
00606                 
00607         
00608 
00609         
00610         // ===> Attribute numBaseband
00611         
00612         
00613 
00614         int numBaseband;
00615 
00616         
00617         
00618         
00619 
00620         
00621         // ===> Attribute basebandNames
00622         
00623         
00624 
00625         vector<BasebandNameMod::BasebandName > basebandNames;
00626 
00627         
00628         
00629         
00630 
00631         
00632         // ===> Attribute basebandConfig
00633         
00634         
00635 
00636         vector<int > basebandConfig;
00637 
00638         
00639         
00640         
00641 
00642         
00643         // ===> Attribute accumMode
00644         
00645         
00646 
00647         AccumModeMod::AccumMode accumMode;
00648 
00649         
00650         
00651         
00652 
00653         
00654         // ===> Attribute binMode
00655         
00656         
00657 
00658         int binMode;
00659 
00660         
00661         
00662         
00663 
00664         
00665         // ===> Attribute numAxes
00666         
00667         
00668 
00669         int numAxes;
00670 
00671         
00672         
00673         
00674 
00675         
00676         // ===> Attribute axesOrderArray
00677         
00678         
00679 
00680         vector<AxisNameMod::AxisName > axesOrderArray;
00681 
00682         
00683         
00684         
00685 
00686         
00687         // ===> Attribute filterMode
00688         
00689         
00690 
00691         vector<FilterModeMod::FilterMode > filterMode;
00692 
00693         
00694         
00695         
00696 
00697         
00698         // ===> Attribute correlatorName
00699         
00700         
00701 
00702         CorrelatorNameMod::CorrelatorName correlatorName;
00703 
00704         
00705         
00706         
00707 
00709         // Extrinsic Table Attributes //
00711         
00713         // Links //
00715         
00716         
00718         // binary-deserialization material//
00720         map<string, CorrelatorModeAttributeFromBin> fromBinMethods;
00721 void correlatorModeIdFromBin( EndianISStream& eiss);
00722 void numBasebandFromBin( EndianISStream& eiss);
00723 void basebandNamesFromBin( EndianISStream& eiss);
00724 void basebandConfigFromBin( EndianISStream& eiss);
00725 void accumModeFromBin( EndianISStream& eiss);
00726 void binModeFromBin( EndianISStream& eiss);
00727 void numAxesFromBin( EndianISStream& eiss);
00728 void axesOrderArrayFromBin( EndianISStream& eiss);
00729 void filterModeFromBin( EndianISStream& eiss);
00730 void correlatorNameFromBin( EndianISStream& eiss);
00731 
00732                 
00733         
00738          void toBin(EndianOSStream& eoss);
00739                  
00747          static CorrelatorModeRow* fromBin(EndianISStream& eiss, CorrelatorModeTable& table, const vector<string>& attributesSeq);       
00748 
00749 };
00750 
00751 } // End namespace asdm
00752 
00753 #endif /* CorrelatorMode_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines