TotalPowerRow.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 TotalPowerRow.h
00032  */
00033  
00034 #ifndef TotalPowerRow_CLASS
00035 #define TotalPowerRow_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::TotalPowerRowIDL;
00047 #endif
00048 
00049 
00050 
00051 
00052 
00053 
00054 #include <ArrayTime.h>
00055 using  asdm::ArrayTime;
00056 
00057 #include <Interval.h>
00058 using  asdm::Interval;
00059 
00060 #include <Tag.h>
00061 using  asdm::Tag;
00062 
00063 #include <Length.h>
00064 using  asdm::Length;
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 #include <ConversionException.h>
00098 #include <NoSuchRow.h>
00099 #include <IllegalAccessException.h>
00100 
00101 
00102 /*\file TotalPower.h
00103     \brief Generated from model's revision "1.55", branch "HEAD"
00104 */
00105 
00106 namespace asdm {
00107 
00108 //class asdm::TotalPowerTable;
00109 
00110 
00111 // class asdm::StateRow;
00112 class StateRow;
00113 
00114 // class asdm::FieldRow;
00115 class FieldRow;
00116 
00117 // class asdm::ConfigDescriptionRow;
00118 class ConfigDescriptionRow;
00119 
00120 // class asdm::ExecBlockRow;
00121 class ExecBlockRow;
00122         
00123 
00124 class TotalPowerRow;
00125 typedef void (TotalPowerRow::*TotalPowerAttributeFromBin) (EndianISStream& eiss);
00126 
00133 class TotalPowerRow {
00134 friend class asdm::TotalPowerTable;
00135 
00136 public:
00137 
00138         virtual ~TotalPowerRow();
00139 
00143         TotalPowerTable &getTable() const;
00144         
00149         bool isAdded() const;
00150                 
00152         // Intrinsic Table Attributes //
00154         
00155         
00156         // ===> Attribute time
00157         
00158         
00159         
00160 
00161         
00166         ArrayTime getTime() const;
00167         
00168  
00169         
00170         
00180         void setTime (ArrayTime time);
00181                 
00182         
00183         
00184         
00185 
00186 
00187         
00188         // ===> Attribute scanNumber
00189         
00190         
00191         
00192 
00193         
00198         int getScanNumber() const;
00199         
00200  
00201         
00202         
00210         void setScanNumber (int scanNumber);
00211                 
00212         
00213         
00214         
00215 
00216 
00217         
00218         // ===> Attribute subscanNumber
00219         
00220         
00221         
00222 
00223         
00228         int getSubscanNumber() const;
00229         
00230  
00231         
00232         
00240         void setSubscanNumber (int subscanNumber);
00241                 
00242         
00243         
00244         
00245 
00246 
00247         
00248         // ===> Attribute integrationNumber
00249         
00250         
00251         
00252 
00253         
00258         int getIntegrationNumber() const;
00259         
00260  
00261         
00262         
00270         void setIntegrationNumber (int integrationNumber);
00271                 
00272         
00273         
00274         
00275 
00276 
00277         
00278         // ===> Attribute uvw
00279         
00280         
00281         
00282 
00283         
00288         vector<vector<Length > > getUvw() const;
00289         
00290  
00291         
00292         
00300         void setUvw (vector<vector<Length > > uvw);
00301                 
00302         
00303         
00304         
00305 
00306 
00307         
00308         // ===> Attribute exposure
00309         
00310         
00311         
00312 
00313         
00318         vector<vector<Interval > > getExposure() const;
00319         
00320  
00321         
00322         
00330         void setExposure (vector<vector<Interval > > exposure);
00331                 
00332         
00333         
00334         
00335 
00336 
00337         
00338         // ===> Attribute timeCentroid
00339         
00340         
00341         
00342 
00343         
00348         vector<vector<ArrayTime > > getTimeCentroid() const;
00349         
00350  
00351         
00352         
00360         void setTimeCentroid (vector<vector<ArrayTime > > timeCentroid);
00361                 
00362         
00363         
00364         
00365 
00366 
00367         
00368         // ===> Attribute floatData
00369         
00370         
00371         
00372 
00373         
00378         vector<vector<vector<float > > > getFloatData() const;
00379         
00380  
00381         
00382         
00390         void setFloatData (vector<vector<vector<float > > > floatData);
00391                 
00392         
00393         
00394         
00395 
00396 
00397         
00398         // ===> Attribute flagAnt
00399         
00400         
00401         
00402 
00403         
00408         vector<int > getFlagAnt() const;
00409         
00410  
00411         
00412         
00420         void setFlagAnt (vector<int > flagAnt);
00421                 
00422         
00423         
00424         
00425 
00426 
00427         
00428         // ===> Attribute flagPol
00429         
00430         
00431         
00432 
00433         
00438         vector<vector<int > > getFlagPol() const;
00439         
00440  
00441         
00442         
00450         void setFlagPol (vector<vector<int > > flagPol);
00451                 
00452         
00453         
00454         
00455 
00456 
00457         
00458         // ===> Attribute flagRow
00459         
00460         
00461         
00462 
00463         
00468         bool getFlagRow() const;
00469         
00470  
00471         
00472         
00480         void setFlagRow (bool flagRow);
00481                 
00482         
00483         
00484         
00485 
00486 
00487         
00488         // ===> Attribute interval
00489         
00490         
00491         
00492 
00493         
00498         Interval getInterval() const;
00499         
00500  
00501         
00502         
00510         void setInterval (Interval interval);
00511                 
00512         
00513         
00514         
00515 
00516 
00517         
00518         // ===> Attribute subintegrationNumber, which is optional
00519         
00520         
00521         
00526         bool isSubintegrationNumberExists() const;
00527         
00528 
00529         
00535         int getSubintegrationNumber() const;
00536         
00537  
00538         
00539         
00546         void setSubintegrationNumber (int subintegrationNumber);
00547                 
00548         
00549         
00550         
00554         void clearSubintegrationNumber ();
00555         
00556 
00557 
00559         // Extrinsic Table Attributes //
00561         
00562         
00563         // ===> Attribute configDescriptionId
00564         
00565         
00566         
00567 
00568         
00573         Tag getConfigDescriptionId() const;
00574         
00575  
00576         
00577         
00587         void setConfigDescriptionId (Tag configDescriptionId);
00588                 
00589         
00590         
00591         
00592 
00593 
00594         
00595         // ===> Attribute execBlockId
00596         
00597         
00598         
00599 
00600         
00605         Tag getExecBlockId() const;
00606         
00607  
00608         
00609         
00617         void setExecBlockId (Tag execBlockId);
00618                 
00619         
00620         
00621         
00622 
00623 
00624         
00625         // ===> Attribute fieldId
00626         
00627         
00628         
00629 
00630         
00635         Tag getFieldId() const;
00636         
00637  
00638         
00639         
00649         void setFieldId (Tag fieldId);
00650                 
00651         
00652         
00653         
00654 
00655 
00656         
00657         // ===> Attribute stateId
00658         
00659         
00660         
00661 
00662         
00667         vector<Tag>  getStateId() const;
00668         
00669  
00670         
00671         
00679         void setStateId (vector<Tag>  stateId);
00680                 
00681         
00682         
00683         
00684 
00685 
00687         // Links //
00689         
00690         
00691                 
00699         void setStateId (int i, Tag stateId); 
00700                         
00701         
00702 
00703         
00704                  
00709  void addStateId(Tag id); 
00710 
00715  void addStateId(const vector<Tag> & id); 
00716  
00717 
00723  const Tag getStateId(int i);
00724  
00732  StateRow* getStateUsingStateId(int i); 
00733  
00738  vector<StateRow *> getStatesUsingStateId(); 
00739   
00740 
00741         
00742 
00743         
00744 
00745         
00746                 
00753          FieldRow* getFieldUsingFieldId();
00754          
00755 
00756         
00757 
00758         
00759 
00760         
00761                 
00768          ConfigDescriptionRow* getConfigDescriptionUsingConfigDescriptionId();
00769          
00770 
00771         
00772 
00773         
00774 
00775         
00776                 
00783          ExecBlockRow* getExecBlockUsingExecBlockId();
00784          
00785 
00786         
00787 
00788         
00789         
00790         
00828         bool compareNoAutoInc(ArrayTime time, Tag configDescriptionId, Tag fieldId, int scanNumber, int subscanNumber, int integrationNumber, vector<vector<Length > > uvw, vector<vector<Interval > > exposure, vector<vector<ArrayTime > > timeCentroid, vector<vector<vector<float > > > floatData, vector<int > flagAnt, vector<vector<int > > flagPol, bool flagRow, Interval interval, vector<Tag>  stateId, Tag execBlockId);
00829         
00830         
00831 
00832         
00864         bool compareRequiredValue(int scanNumber, int subscanNumber, int integrationNumber, vector<vector<Length > > uvw, vector<vector<Interval > > exposure, vector<vector<ArrayTime > > timeCentroid, vector<vector<vector<float > > > floatData, vector<int > flagAnt, vector<vector<int > > flagPol, bool flagRow, Interval interval, vector<Tag>  stateId, Tag execBlockId); 
00865                  
00866         
00875         bool equalByRequiredValue(TotalPowerRow* x) ;
00876         
00877 #ifndef WITHOUT_ACS
00878 
00882         TotalPowerRowIDL *toIDL() const;
00883 #endif
00884         
00885 #ifndef WITHOUT_ACS
00886 
00891         void setFromIDL (TotalPowerRowIDL x) ;
00892 #endif
00893         
00898         string toXML() const;
00899 
00906         void setFromXML (string rowDoc) ;       
00907 
00908 private:
00912         TotalPowerTable &table;
00916         bool hasBeenAdded;
00917 
00918         // This method is used by the Table class when this row is added to the table.
00919         void isAdded(bool added);
00920 
00921 
00930         TotalPowerRow (TotalPowerTable &table);
00931 
00949          TotalPowerRow (TotalPowerTable &table, TotalPowerRow &row);
00950                 
00952         // Intrinsic Table Attributes //
00954         
00955         
00956         // ===> Attribute time
00957         
00958         
00959 
00960         ArrayTime time;
00961 
00962         
00963         
00964         
00965 
00966         
00967         // ===> Attribute scanNumber
00968         
00969         
00970 
00971         int scanNumber;
00972 
00973         
00974         
00975         
00976 
00977         
00978         // ===> Attribute subscanNumber
00979         
00980         
00981 
00982         int subscanNumber;
00983 
00984         
00985         
00986         
00987 
00988         
00989         // ===> Attribute integrationNumber
00990         
00991         
00992 
00993         int integrationNumber;
00994 
00995         
00996         
00997         
00998 
00999         
01000         // ===> Attribute uvw
01001         
01002         
01003 
01004         vector<vector<Length > > uvw;
01005 
01006         
01007         
01008         
01009 
01010         
01011         // ===> Attribute exposure
01012         
01013         
01014 
01015         vector<vector<Interval > > exposure;
01016 
01017         
01018         
01019         
01020 
01021         
01022         // ===> Attribute timeCentroid
01023         
01024         
01025 
01026         vector<vector<ArrayTime > > timeCentroid;
01027 
01028         
01029         
01030         
01031 
01032         
01033         // ===> Attribute floatData
01034         
01035         
01036 
01037         vector<vector<vector<float > > > floatData;
01038 
01039         
01040         
01041         
01042 
01043         
01044         // ===> Attribute flagAnt
01045         
01046         
01047 
01048         vector<int > flagAnt;
01049 
01050         
01051         
01052         
01053 
01054         
01055         // ===> Attribute flagPol
01056         
01057         
01058 
01059         vector<vector<int > > flagPol;
01060 
01061         
01062         
01063         
01064 
01065         
01066         // ===> Attribute flagRow
01067         
01068         
01069 
01070         bool flagRow;
01071 
01072         
01073         
01074         
01075 
01076         
01077         // ===> Attribute interval
01078         
01079         
01080 
01081         Interval interval;
01082 
01083         
01084         
01085         
01086 
01087         
01088         // ===> Attribute subintegrationNumber, which is optional
01089         
01090         
01091         bool subintegrationNumberExists;
01092         
01093 
01094         int subintegrationNumber;
01095 
01096         
01097         
01098         
01099 
01101         // Extrinsic Table Attributes //
01103         
01104         
01105         // ===> Attribute configDescriptionId
01106         
01107         
01108 
01109         Tag configDescriptionId;
01110 
01111         
01112         
01113         
01114 
01115         
01116         // ===> Attribute execBlockId
01117         
01118         
01119 
01120         Tag execBlockId;
01121 
01122         
01123         
01124         
01125 
01126         
01127         // ===> Attribute fieldId
01128         
01129         
01130 
01131         Tag fieldId;
01132 
01133         
01134         
01135         
01136 
01137         
01138         // ===> Attribute stateId
01139         
01140         
01141 
01142         vector<Tag>  stateId;
01143 
01144         
01145         
01146         
01147 
01149         // Links //
01151         
01152         
01153                 
01154 
01155 
01156         
01157 
01158         
01159                 
01160 
01161          
01162 
01163         
01164 
01165         
01166                 
01167 
01168          
01169 
01170         
01171 
01172         
01173                 
01174 
01175          
01176 
01177         
01178 
01179         
01181         // binary-deserialization material//
01183         map<string, TotalPowerAttributeFromBin> fromBinMethods;
01184 void timeFromBin( EndianISStream& eiss);
01185 void configDescriptionIdFromBin( EndianISStream& eiss);
01186 void fieldIdFromBin( EndianISStream& eiss);
01187 void scanNumberFromBin( EndianISStream& eiss);
01188 void subscanNumberFromBin( EndianISStream& eiss);
01189 void integrationNumberFromBin( EndianISStream& eiss);
01190 void uvwFromBin( EndianISStream& eiss);
01191 void exposureFromBin( EndianISStream& eiss);
01192 void timeCentroidFromBin( EndianISStream& eiss);
01193 void floatDataFromBin( EndianISStream& eiss);
01194 void flagAntFromBin( EndianISStream& eiss);
01195 void flagPolFromBin( EndianISStream& eiss);
01196 void flagRowFromBin( EndianISStream& eiss);
01197 void intervalFromBin( EndianISStream& eiss);
01198 void stateIdFromBin( EndianISStream& eiss);
01199 void execBlockIdFromBin( EndianISStream& eiss);
01200 
01201 void subintegrationNumberFromBin( EndianISStream& eiss);
01202         
01203         
01208          void toBin(EndianOSStream& eoss);
01209                  
01217          static TotalPowerRow* fromBin(EndianISStream& eiss, TotalPowerTable& table, const vector<string>& attributesSeq);       
01218 
01219 };
01220 
01221 } // End namespace asdm
01222 
01223 #endif /* TotalPower_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines