casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
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.61", 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);       
00564 
00565 private:
00569         CorrelatorModeTable &table;
00573         bool hasBeenAdded;
00574 
00575         // This method is used by the Table class when this row is added to the table.
00576         void isAdded(bool added);
00577 
00578 
00587         CorrelatorModeRow (CorrelatorModeTable &table);
00588 
00606          CorrelatorModeRow (CorrelatorModeTable &table, CorrelatorModeRow &row);
00607                 
00609         // Intrinsic Table Attributes //
00611         
00612         
00613         // ===> Attribute correlatorModeId
00614         
00615         
00616 
00617         Tag correlatorModeId;
00618 
00619         
00620         
00621         
00631         void setCorrelatorModeId (Tag correlatorModeId);
00632                 
00633         
00634 
00635         
00636         // ===> Attribute numBaseband
00637         
00638         
00639 
00640         int numBaseband;
00641 
00642         
00643         
00644         
00645 
00646         
00647         // ===> Attribute basebandNames
00648         
00649         
00650 
00651         vector<BasebandNameMod::BasebandName > basebandNames;
00652 
00653         
00654         
00655         
00656 
00657         
00658         // ===> Attribute basebandConfig
00659         
00660         
00661 
00662         vector<int > basebandConfig;
00663 
00664         
00665         
00666         
00667 
00668         
00669         // ===> Attribute accumMode
00670         
00671         
00672 
00673         AccumModeMod::AccumMode accumMode;
00674 
00675         
00676         
00677         
00678 
00679         
00680         // ===> Attribute binMode
00681         
00682         
00683 
00684         int binMode;
00685 
00686         
00687         
00688         
00689 
00690         
00691         // ===> Attribute numAxes
00692         
00693         
00694 
00695         int numAxes;
00696 
00697         
00698         
00699         
00700 
00701         
00702         // ===> Attribute axesOrderArray
00703         
00704         
00705 
00706         vector<AxisNameMod::AxisName > axesOrderArray;
00707 
00708         
00709         
00710         
00711 
00712         
00713         // ===> Attribute filterMode
00714         
00715         
00716 
00717         vector<FilterModeMod::FilterMode > filterMode;
00718 
00719         
00720         
00721         
00722 
00723         
00724         // ===> Attribute correlatorName
00725         
00726         
00727 
00728         CorrelatorNameMod::CorrelatorName correlatorName;
00729 
00730         
00731         
00732         
00733 
00735         // Extrinsic Table Attributes //
00737         
00739         // Links //
00741         
00742         
00743 /*
00745         // binary-deserialization material from an EndianIStream  //
00747         std::map<std::string, CorrelatorModeAttributeFromBin> fromBinMethods;
00748 void correlatorModeIdFromBin( EndianIStream& eis);
00749 void numBasebandFromBin( EndianIStream& eis);
00750 void basebandNamesFromBin( EndianIStream& eis);
00751 void basebandConfigFromBin( EndianIStream& eis);
00752 void accumModeFromBin( EndianIStream& eis);
00753 void binModeFromBin( EndianIStream& eis);
00754 void numAxesFromBin( EndianIStream& eis);
00755 void axesOrderArrayFromBin( EndianIStream& eis);
00756 void filterModeFromBin( EndianIStream& eis);
00757 void correlatorNameFromBin( EndianIStream& eis);
00758 
00759         
00760 */
00761         
00763         // text-deserialization material //
00765         std::map<std::string, CorrelatorModeAttributeFromText> fromTextMethods;
00766         
00767 void correlatorModeIdFromText (const string & s);
00768         
00769         
00770 void numBasebandFromText (const string & s);
00771         
00772         
00773 void basebandNamesFromText (const string & s);
00774         
00775         
00776 void basebandConfigFromText (const string & s);
00777         
00778         
00779 void accumModeFromText (const string & s);
00780         
00781         
00782 void binModeFromText (const string & s);
00783         
00784         
00785 void numAxesFromText (const string & s);
00786         
00787         
00788 void axesOrderArrayFromText (const string & s);
00789         
00790         
00791 void filterModeFromText (const string & s);
00792         
00793         
00794 void correlatorNameFromText (const string & s);
00795         
00796 
00797                 
00798         
00799         void fromText(const std::string& attributeName, const std::string&  t);
00800         
00805          void toBin(EndianOSStream& eoss);
00806                  
00816 };
00817 
00818 } // End namespace asdm
00819 
00820 #endif /* CorrelatorMode_CLASS */