CalFluxRow.h

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 CalFluxRow.h 00032 */ 00033 00034 #ifndef CalFluxRow_CLASS 00035 #define CalFluxRow_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::CalFluxRowIDL; 00047 #endif 00048 00049 #include <Angle.h> 00050 #include <AngularRate.h> 00051 #include <ArrayTime.h> 00052 #include <ArrayTimeInterval.h> 00053 #include <Complex.h> 00054 #include <Entity.h> 00055 #include <EntityId.h> 00056 #include <EntityRef.h> 00057 #include <Flux.h> 00058 #include <Frequency.h> 00059 #include <Humidity.h> 00060 #include <Interval.h> 00061 #include <Length.h> 00062 #include <Pressure.h> 00063 #include <Speed.h> 00064 #include <Tag.h> 00065 #include <Temperature.h> 00066 #include <ConversionException.h> 00067 #include <NoSuchRow.h> 00068 #include <IllegalAccessException.h> 00069 00070 /* 00071 #include <Enumerations.h> 00072 using namespace enumerations; 00073 */ 00074 00075 00076 00077 00078 00079 00080 00081 00082 00083 00084 00085 00086 00087 00088 00089 #include "CStokesParameter.h" 00090 using namespace StokesParameterMod; 00091 00092 00093 00094 00095 00096 00097 00098 00099 00100 00101 00102 00103 00104 00105 00106 #include "CFluxCalibrationMethod.h" 00107 using namespace FluxCalibrationMethodMod; 00108 00109 00110 00111 00112 00113 #include "CSourceModel.h" 00114 using namespace SourceModelMod; 00115 00116 00117 00118 00119 00120 00121 using asdm::Angle; 00122 using asdm::AngularRate; 00123 using asdm::ArrayTime; 00124 using asdm::Complex; 00125 using asdm::Entity; 00126 using asdm::EntityId; 00127 using asdm::EntityRef; 00128 using asdm::Flux; 00129 using asdm::Frequency; 00130 using asdm::Humidity; 00131 using asdm::Interval; 00132 using asdm::Length; 00133 using asdm::Pressure; 00134 using asdm::Speed; 00135 using asdm::Tag; 00136 using asdm::Temperature; 00137 using asdm::ConversionException; 00138 using asdm::NoSuchRow; 00139 using asdm::IllegalAccessException; 00140 00141 /*\file CalFlux.h 00142 \brief Generated from model's revision "1.46", branch "HEAD" 00143 */ 00144 00145 namespace asdm { 00146 00147 //class asdm::CalFluxTable; 00148 00149 00150 // class asdm::CalDataRow; 00151 class CalDataRow; 00152 00153 // class asdm::CalReductionRow; 00154 class CalReductionRow; 00155 00156 00163 class CalFluxRow { 00164 friend class asdm::CalFluxTable; 00165 00166 public: 00167 00168 virtual ~CalFluxRow(); 00169 00173 CalFluxTable &getTable() const; 00174 00175 #ifndef WITHOUT_ACS 00176 00180 CalFluxRowIDL *toIDL() const; 00181 #endif 00182 00183 #ifndef WITHOUT_ACS 00184 00188 void setFromIDL (CalFluxRowIDL x) throw(ConversionException); 00189 #endif 00190 00195 string toXML() const; 00196 00202 void setFromXML (string rowDoc) throw(ConversionException); 00203 00205 // Intrinsic Table Attributes // 00207 00208 00209 // ===> Attribute sourceName 00210 00211 00212 00213 00214 00219 string getSourceName() const; 00220 00221 00222 00223 00233 void setSourceName (string sourceName); 00234 00235 00236 00237 00238 00239 00240 00241 // ===> Attribute numFrequency 00242 00243 00244 00245 00246 00251 int getNumFrequency() const; 00252 00253 00254 00255 00263 void setNumFrequency (int numFrequency); 00264 00265 00266 00267 00268 00269 00270 00271 // ===> Attribute numStokes 00272 00273 00274 00275 00276 00281 int getNumStokes() const; 00282 00283 00284 00285 00293 void setNumStokes (int numStokes); 00294 00295 00296 00297 00298 00299 00300 00301 // ===> Attribute startValidTime 00302 00303 00304 00305 00306 00311 ArrayTime getStartValidTime() const; 00312 00313 00314 00315 00323 void setStartValidTime (ArrayTime startValidTime); 00324 00325 00326 00327 00328 00329 00330 00331 // ===> Attribute endValidTime 00332 00333 00334 00335 00336 00341 ArrayTime getEndValidTime() const; 00342 00343 00344 00345 00353 void setEndValidTime (ArrayTime endValidTime); 00354 00355 00356 00357 00358 00359 00360 00361 // ===> Attribute stokes 00362 00363 00364 00365 00366 00371 vector<StokesParameterMod::StokesParameter > getStokes() const; 00372 00373 00374 00375 00383 void setStokes (vector<StokesParameterMod::StokesParameter > stokes); 00384 00385 00386 00387 00388 00389 00390 00391 // ===> Attribute flux 00392 00393 00394 00395 00396 00401 vector<vector<double > > getFlux() const; 00402 00403 00404 00405 00413 void setFlux (vector<vector<double > > flux); 00414 00415 00416 00417 00418 00419 00420 00421 // ===> Attribute fluxError 00422 00423 00424 00425 00426 00431 vector<vector<double > > getFluxError() const; 00432 00433 00434 00435 00443 void setFluxError (vector<vector<double > > fluxError); 00444 00445 00446 00447 00448 00449 00450 00451 // ===> Attribute size, which is optional 00452 00453 00454 00459 bool isSizeExists() const; 00460 00461 00462 00468 vector<vector<vector<Angle > > > getSize() const throw(IllegalAccessException); 00469 00470 00471 00472 00479 void setSize (vector<vector<vector<Angle > > > size); 00480 00481 00482 00483 00487 void clearSize (); 00488 00489 00490 00491 00492 // ===> Attribute sizeError, which is optional 00493 00494 00495 00500 bool isSizeErrorExists() const; 00501 00502 00503 00509 vector<vector<vector<Angle > > > getSizeError() const throw(IllegalAccessException); 00510 00511 00512 00513 00520 void setSizeError (vector<vector<vector<Angle > > > sizeError); 00521 00522 00523 00524 00528 void clearSizeError (); 00529 00530 00531 00532 00533 // ===> Attribute PA, which is optional 00534 00535 00536 00541 bool isPAExists() const; 00542 00543 00544 00550 vector<vector<Angle > > getPA() const throw(IllegalAccessException); 00551 00552 00553 00554 00561 void setPA (vector<vector<Angle > > PA); 00562 00563 00564 00565 00569 void clearPA (); 00570 00571 00572 00573 00574 // ===> Attribute PAError, which is optional 00575 00576 00577 00582 bool isPAErrorExists() const; 00583 00584 00585 00591 vector<vector<Angle > > getPAError() const throw(IllegalAccessException); 00592 00593 00594 00595 00602 void setPAError (vector<vector<Angle > > PAError); 00603 00604 00605 00606 00610 void clearPAError (); 00611 00612 00613 00614 00615 // ===> Attribute fluxMethod 00616 00617 00618 00619 00620 00625 FluxCalibrationMethodMod::FluxCalibrationMethod getFluxMethod() const; 00626 00627 00628 00629 00637 void setFluxMethod (FluxCalibrationMethodMod::FluxCalibrationMethod fluxMethod); 00638 00639 00640 00641 00642 00643 00644 00645 // ===> Attribute direction, which is optional 00646 00647 00648 00653 bool isDirectionExists() const; 00654 00655 00656 00662 vector<Angle > getDirection() const throw(IllegalAccessException); 00663 00664 00665 00666 00673 void setDirection (vector<Angle > direction); 00674 00675 00676 00677 00681 void clearDirection (); 00682 00683 00684 00685 00686 // ===> Attribute sourceModel, which is optional 00687 00688 00689 00694 bool isSourceModelExists() const; 00695 00696 00697 00703 SourceModelMod::SourceModel getSourceModel() const throw(IllegalAccessException); 00704 00705 00706 00707 00714 void setSourceModel (SourceModelMod::SourceModel sourceModel); 00715 00716 00717 00718 00722 void clearSourceModel (); 00723 00724 00725 00726 00727 // ===> Attribute frequencyRange 00728 00729 00730 00731 00732 00737 vector<Frequency > getFrequencyRange() const; 00738 00739 00740 00741 00749 void setFrequencyRange (vector<Frequency > frequencyRange); 00750 00751 00752 00753 00754 00755 00757 // Extrinsic Table Attributes // 00759 00760 00761 // ===> Attribute calDataId 00762 00763 00764 00765 00766 00771 Tag getCalDataId() const; 00772 00773 00774 00775 00785 void setCalDataId (Tag calDataId); 00786 00787 00788 00789 00790 00791 00792 00793 // ===> Attribute calReductionId 00794 00795 00796 00797 00798 00803 Tag getCalReductionId() const; 00804 00805 00806 00807 00817 void setCalReductionId (Tag calReductionId); 00818 00819 00820 00821 00822 00823 00825 // Links // 00827 00828 00829 00830 00831 00838 CalDataRow* getCalDataUsingCalDataId(); 00839 00840 00841 00842 00843 00844 00845 00846 00853 CalReductionRow* getCalReductionUsingCalReductionId(); 00854 00855 00856 00857 00858 00859 00860 00865 bool compareNoAutoInc(Tag calDataId, Tag calReductionId, string sourceName, int numFrequency, int numStokes, ArrayTime startValidTime, ArrayTime endValidTime, vector<StokesParameterMod::StokesParameter > stokes, vector<vector<double > > flux, vector<vector<double > > fluxError, FluxCalibrationMethodMod::FluxCalibrationMethod fluxMethod, vector<Frequency > frequencyRange); 00866 00867 00868 00869 00870 bool compareRequiredValue(int numFrequency, int numStokes, ArrayTime startValidTime, ArrayTime endValidTime, vector<StokesParameterMod::StokesParameter > stokes, vector<vector<double > > flux, vector<vector<double > > fluxError, FluxCalibrationMethodMod::FluxCalibrationMethod fluxMethod, vector<Frequency > frequencyRange); 00871 00872 00881 bool equalByRequiredValue(CalFluxRow* x) ; 00882 00883 private: 00887 CalFluxTable &table; 00891 bool hasBeenAdded; 00892 00893 // This method is used by the Table class when this row is added to the table. 00894 void isAdded(); 00895 00896 00905 CalFluxRow (CalFluxTable &table); 00906 00924 CalFluxRow (CalFluxTable &table, CalFluxRow &row); 00925 00927 // Intrinsic Table Attributes // 00929 00930 00931 // ===> Attribute sourceName 00932 00933 00934 00935 string sourceName; 00936 00937 00938 00939 00940 00941 00942 // ===> Attribute numFrequency 00943 00944 00945 00946 int numFrequency; 00947 00948 00949 00950 00951 00952 00953 // ===> Attribute numStokes 00954 00955 00956 00957 int numStokes; 00958 00959 00960 00961 00962 00963 00964 // ===> Attribute startValidTime 00965 00966 00967 00968 ArrayTime startValidTime; 00969 00970 00971 00972 00973 00974 00975 // ===> Attribute endValidTime 00976 00977 00978 00979 ArrayTime endValidTime; 00980 00981 00982 00983 00984 00985 00986 // ===> Attribute stokes 00987 00988 00989 00990 vector<StokesParameterMod::StokesParameter > stokes; 00991 00992 00993 00994 00995 00996 00997 // ===> Attribute flux 00998 00999 01000 01001 vector<vector<double > > flux; 01002 01003 01004 01005 01006 01007 01008 // ===> Attribute fluxError 01009 01010 01011 01012 vector<vector<double > > fluxError; 01013 01014 01015 01016 01017 01018 01019 // ===> Attribute size, which is optional 01020 01021 01022 bool sizeExists; 01023 01024 01025 vector<vector<vector<Angle > > > size; 01026 01027 01028 01029 01030 01031 01032 // ===> Attribute sizeError, which is optional 01033 01034 01035 bool sizeErrorExists; 01036 01037 01038 vector<vector<vector<Angle > > > sizeError; 01039 01040 01041 01042 01043 01044 01045 // ===> Attribute PA, which is optional 01046 01047 01048 bool PAExists; 01049 01050 01051 vector<vector<Angle > > PA; 01052 01053 01054 01055 01056 01057 01058 // ===> Attribute PAError, which is optional 01059 01060 01061 bool PAErrorExists; 01062 01063 01064 vector<vector<Angle > > PAError; 01065 01066 01067 01068 01069 01070 01071 // ===> Attribute fluxMethod 01072 01073 01074 01075 FluxCalibrationMethodMod::FluxCalibrationMethod fluxMethod; 01076 01077 01078 01079 01080 01081 01082 // ===> Attribute direction, which is optional 01083 01084 01085 bool directionExists; 01086 01087 01088 vector<Angle > direction; 01089 01090 01091 01092 01093 01094 01095 // ===> Attribute sourceModel, which is optional 01096 01097 01098 bool sourceModelExists; 01099 01100 01101 SourceModelMod::SourceModel sourceModel; 01102 01103 01104 01105 01106 01107 01108 // ===> Attribute frequencyRange 01109 01110 01111 01112 vector<Frequency > frequencyRange; 01113 01114 01115 01116 01117 01119 // Extrinsic Table Attributes // 01121 01122 01123 // ===> Attribute calDataId 01124 01125 01126 01127 Tag calDataId; 01128 01129 01130 01131 01132 01133 01134 // ===> Attribute calReductionId 01135 01136 01137 01138 Tag calReductionId; 01139 01140 01141 01142 01143 01145 // Links // 01147 01148 01149 01150 01151 01152 01153 01154 01155 01156 01157 01158 01159 01160 01161 01162 01163 }; 01164 01165 } // End namespace asdm 01166 01167 #endif /* CalFlux_CLASS */

Generated on Tue Nov 18 17:43:40 2008 for ASDM C++ Implementation by doxygen 1.3.8