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 ASDM.h 00032 */ 00033 00034 #ifndef ASDM_CLASS 00035 #define ASDM_CLASS 00036 00037 #include <vector> 00038 using std::vector; 00039 00040 #include <map> 00041 using std::map; 00042 00043 #include <Representable.h> 00044 #include <Entity.h> 00045 #include <EntityId.h> 00046 #include <ArrayTime.h> 00047 #include <IllegalAccessException.h> 00048 #include <InvalidArgumentException.h> 00049 00050 using asdm::Entity; 00051 using asdm::EntityId; 00052 using asdm::ArrayTime; 00053 using asdm::IllegalAccessException; 00054 using asdm::InvalidArgumentException; 00055 00056 #ifndef WITHOUT_ACS 00057 #include <asdmIDLC.h> 00058 using namespace asdmIDL; 00059 #endif 00060 00061 /*\file ASDM.h 00062 \brief Generated from model's revision "1.46", branch "HEAD" 00063 */ 00064 00065 namespace asdm { 00066 00067 00068 //class asdm::MainTable; 00069 class MainTable; 00070 00071 //class asdm::AlmaRadiometerTable; 00072 class AlmaRadiometerTable; 00073 00074 //class asdm::AnnotationTable; 00075 class AnnotationTable; 00076 00077 //class asdm::AntennaTable; 00078 class AntennaTable; 00079 00080 //class asdm::BeamTable; 00081 class BeamTable; 00082 00083 //class asdm::CalAmpliTable; 00084 class CalAmpliTable; 00085 00086 //class asdm::CalAtmosphereTable; 00087 class CalAtmosphereTable; 00088 00089 //class asdm::CalBandpassTable; 00090 class CalBandpassTable; 00091 00092 //class asdm::CalCurveTable; 00093 class CalCurveTable; 00094 00095 //class asdm::CalDataTable; 00096 class CalDataTable; 00097 00098 //class asdm::CalDelayTable; 00099 class CalDelayTable; 00100 00101 //class asdm::CalDeviceTable; 00102 class CalDeviceTable; 00103 00104 //class asdm::CalFluxTable; 00105 class CalFluxTable; 00106 00107 //class asdm::CalFocusTable; 00108 class CalFocusTable; 00109 00110 //class asdm::CalFocusModelTable; 00111 class CalFocusModelTable; 00112 00113 //class asdm::CalGainTable; 00114 class CalGainTable; 00115 00116 //class asdm::CalHolographyTable; 00117 class CalHolographyTable; 00118 00119 //class asdm::CalPhaseTable; 00120 class CalPhaseTable; 00121 00122 //class asdm::CalPointingTable; 00123 class CalPointingTable; 00124 00125 //class asdm::CalPointingModelTable; 00126 class CalPointingModelTable; 00127 00128 //class asdm::CalPositionTable; 00129 class CalPositionTable; 00130 00131 //class asdm::CalPrimaryBeamTable; 00132 class CalPrimaryBeamTable; 00133 00134 //class asdm::CalReductionTable; 00135 class CalReductionTable; 00136 00137 //class asdm::CalSeeingTable; 00138 class CalSeeingTable; 00139 00140 //class asdm::CalWVRTable; 00141 class CalWVRTable; 00142 00143 //class asdm::ConfigDescriptionTable; 00144 class ConfigDescriptionTable; 00145 00146 //class asdm::CorrelatorModeTable; 00147 class CorrelatorModeTable; 00148 00149 //class asdm::DataDescriptionTable; 00150 class DataDescriptionTable; 00151 00152 //class asdm::DopplerTable; 00153 class DopplerTable; 00154 00155 //class asdm::EphemerisTable; 00156 class EphemerisTable; 00157 00158 //class asdm::ExecBlockTable; 00159 class ExecBlockTable; 00160 00161 //class asdm::FeedTable; 00162 class FeedTable; 00163 00164 //class asdm::FieldTable; 00165 class FieldTable; 00166 00167 //class asdm::FlagCmdTable; 00168 class FlagCmdTable; 00169 00170 //class asdm::FocusTable; 00171 class FocusTable; 00172 00173 //class asdm::FocusModelTable; 00174 class FocusModelTable; 00175 00176 //class asdm::FreqOffsetTable; 00177 class FreqOffsetTable; 00178 00179 //class asdm::GainTrackingTable; 00180 class GainTrackingTable; 00181 00182 //class asdm::HistoryTable; 00183 class HistoryTable; 00184 00185 //class asdm::HolographyTable; 00186 class HolographyTable; 00187 00188 //class asdm::ObservationTable; 00189 class ObservationTable; 00190 00191 //class asdm::PointingTable; 00192 class PointingTable; 00193 00194 //class asdm::PointingModelTable; 00195 class PointingModelTable; 00196 00197 //class asdm::PolarizationTable; 00198 class PolarizationTable; 00199 00200 //class asdm::ProcessorTable; 00201 class ProcessorTable; 00202 00203 //class asdm::ReceiverTable; 00204 class ReceiverTable; 00205 00206 //class asdm::SBSummaryTable; 00207 class SBSummaryTable; 00208 00209 //class asdm::ScanTable; 00210 class ScanTable; 00211 00212 //class asdm::SeeingTable; 00213 class SeeingTable; 00214 00215 //class asdm::SourceTable; 00216 class SourceTable; 00217 00218 //class asdm::SourceParameterTable; 00219 class SourceParameterTable; 00220 00221 //class asdm::SpectralWindowTable; 00222 class SpectralWindowTable; 00223 00224 //class asdm::SquareLawDetectorTable; 00225 class SquareLawDetectorTable; 00226 00227 //class asdm::StateTable; 00228 class StateTable; 00229 00230 //class asdm::StationTable; 00231 class StationTable; 00232 00233 //class asdm::SubscanTable; 00234 class SubscanTable; 00235 00236 //class asdm::SwitchCycleTable; 00237 class SwitchCycleTable; 00238 00239 //class asdm::SysCalTable; 00240 class SysCalTable; 00241 00242 //class asdm::TotalPowerTable; 00243 class TotalPowerTable; 00244 00245 //class asdm::WVMCalTable; 00246 class WVMCalTable; 00247 00248 //class asdm::WeatherTable; 00249 class WeatherTable; 00250 00251 00259 class ASDM : public Representable { 00260 00261 public: 00265 ASDM (); 00266 00267 virtual ~ASDM (); 00268 00269 00274 MainTable & getMain () const; 00275 00280 AlmaRadiometerTable & getAlmaRadiometer () const; 00281 00286 AnnotationTable & getAnnotation () const; 00287 00292 AntennaTable & getAntenna () const; 00293 00298 BeamTable & getBeam () const; 00299 00304 CalAmpliTable & getCalAmpli () const; 00305 00310 CalAtmosphereTable & getCalAtmosphere () const; 00311 00316 CalBandpassTable & getCalBandpass () const; 00317 00322 CalCurveTable & getCalCurve () const; 00323 00328 CalDataTable & getCalData () const; 00329 00334 CalDelayTable & getCalDelay () const; 00335 00340 CalDeviceTable & getCalDevice () const; 00341 00346 CalFluxTable & getCalFlux () const; 00347 00352 CalFocusTable & getCalFocus () const; 00353 00358 CalFocusModelTable & getCalFocusModel () const; 00359 00364 CalGainTable & getCalGain () const; 00365 00370 CalHolographyTable & getCalHolography () const; 00371 00376 CalPhaseTable & getCalPhase () const; 00377 00382 CalPointingTable & getCalPointing () const; 00383 00388 CalPointingModelTable & getCalPointingModel () const; 00389 00394 CalPositionTable & getCalPosition () const; 00395 00400 CalPrimaryBeamTable & getCalPrimaryBeam () const; 00401 00406 CalReductionTable & getCalReduction () const; 00407 00412 CalSeeingTable & getCalSeeing () const; 00413 00418 CalWVRTable & getCalWVR () const; 00419 00424 ConfigDescriptionTable & getConfigDescription () const; 00425 00430 CorrelatorModeTable & getCorrelatorMode () const; 00431 00436 DataDescriptionTable & getDataDescription () const; 00437 00442 DopplerTable & getDoppler () const; 00443 00448 EphemerisTable & getEphemeris () const; 00449 00454 ExecBlockTable & getExecBlock () const; 00455 00460 FeedTable & getFeed () const; 00461 00466 FieldTable & getField () const; 00467 00472 FlagCmdTable & getFlagCmd () const; 00473 00478 FocusTable & getFocus () const; 00479 00484 FocusModelTable & getFocusModel () const; 00485 00490 FreqOffsetTable & getFreqOffset () const; 00491 00496 GainTrackingTable & getGainTracking () const; 00497 00502 HistoryTable & getHistory () const; 00503 00508 HolographyTable & getHolography () const; 00509 00514 ObservationTable & getObservation () const; 00515 00520 PointingTable & getPointing () const; 00521 00526 PointingModelTable & getPointingModel () const; 00527 00532 PolarizationTable & getPolarization () const; 00533 00538 ProcessorTable & getProcessor () const; 00539 00544 ReceiverTable & getReceiver () const; 00545 00550 SBSummaryTable & getSBSummary () const; 00551 00556 ScanTable & getScan () const; 00557 00562 SeeingTable & getSeeing () const; 00563 00568 SourceTable & getSource () const; 00569 00574 SourceParameterTable & getSourceParameter () const; 00575 00580 SpectralWindowTable & getSpectralWindow () const; 00581 00586 SquareLawDetectorTable & getSquareLawDetector () const; 00587 00592 StateTable & getState () const; 00593 00598 StationTable & getStation () const; 00599 00604 SubscanTable & getSubscan () const; 00605 00610 SwitchCycleTable & getSwitchCycle () const; 00611 00616 SysCalTable & getSysCal () const; 00617 00622 TotalPowerTable & getTotalPower () const; 00623 00628 WVMCalTable & getWVMCal () const; 00629 00634 WeatherTable & getWeather () const; 00635 00641 virtual string toXML(); 00642 00652 void toXML(string directory) ; 00653 00664 virtual void fromXML(string xml) ; 00665 00678 static ASDM *getFromXML(string xmlDirectory) ; 00679 00685 string toMIME(); 00686 00693 void setFromMIME(const string & mimeMsg); 00694 00709 void toFile(string directory); 00710 00719 void setFromFile(string directory); 00720 00721 #ifndef WITHOUT_ACS 00722 00726 virtual ASDMDataSetIDL* toIDL(); 00727 00736 virtual void fromIDL(ASDMDataSetIDL* x); 00737 #endif 00738 00739 virtual string toVOTable() const throw(ConversionException); 00740 virtual void fromVOTable(string vo) throw(ConversionException); 00741 00742 virtual char * toFITS() const throw(ConversionException); 00743 virtual void fromFITS(char * fits) throw(ConversionException); 00744 00745 virtual Entity getEntity() const; 00746 00747 virtual void setEntity(Entity e); 00748 00752 virtual string getName() const; 00753 00757 virtual unsigned int size() ; 00758 00759 #ifndef WITHOUT_ACS 00760 00765 static ASDM *fromArchive(EntityId datasetId) throw(ConversionException); 00766 #endif 00767 00768 #ifndef WITHOUT_ACS 00769 00772 void updateArchive() const throw(ConversionException); 00773 #endif 00774 00779 Representable &getTable(string tableName) throw(InvalidArgumentException); 00780 00781 00782 00783 // ===> Attribute timeOfCreation 00784 00785 00786 00787 00788 00793 ArrayTime getTimeOfCreation() const; 00794 00795 00796 00797 00805 void setTimeOfCreation (ArrayTime timeOfCreation); 00806 00807 00808 00809 00810 00811 00812 00813 private: 00814 00815 bool archiveAsBin; // If true archive binary else archive XML 00816 bool fileAsBin ; // If true file binary else file XML 00817 bool hasBeenAdded; 00818 00819 00823 MainTable * main; 00824 00828 AlmaRadiometerTable * almaRadiometer; 00829 00833 AnnotationTable * annotation; 00834 00838 AntennaTable * antenna; 00839 00843 BeamTable * beam; 00844 00848 CalAmpliTable * calAmpli; 00849 00853 CalAtmosphereTable * calAtmosphere; 00854 00858 CalBandpassTable * calBandpass; 00859 00863 CalCurveTable * calCurve; 00864 00868 CalDataTable * calData; 00869 00873 CalDelayTable * calDelay; 00874 00878 CalDeviceTable * calDevice; 00879 00883 CalFluxTable * calFlux; 00884 00888 CalFocusTable * calFocus; 00889 00893 CalFocusModelTable * calFocusModel; 00894 00898 CalGainTable * calGain; 00899 00903 CalHolographyTable * calHolography; 00904 00908 CalPhaseTable * calPhase; 00909 00913 CalPointingTable * calPointing; 00914 00918 CalPointingModelTable * calPointingModel; 00919 00923 CalPositionTable * calPosition; 00924 00928 CalPrimaryBeamTable * calPrimaryBeam; 00929 00933 CalReductionTable * calReduction; 00934 00938 CalSeeingTable * calSeeing; 00939 00943 CalWVRTable * calWVR; 00944 00948 ConfigDescriptionTable * configDescription; 00949 00953 CorrelatorModeTable * correlatorMode; 00954 00958 DataDescriptionTable * dataDescription; 00959 00963 DopplerTable * doppler; 00964 00968 EphemerisTable * ephemeris; 00969 00973 ExecBlockTable * execBlock; 00974 00978 FeedTable * feed; 00979 00983 FieldTable * field; 00984 00988 FlagCmdTable * flagCmd; 00989 00993 FocusTable * focus; 00994 00998 FocusModelTable * focusModel; 00999 01003 FreqOffsetTable * freqOffset; 01004 01008 GainTrackingTable * gainTracking; 01009 01013 HistoryTable * history; 01014 01018 HolographyTable * holography; 01019 01023 ObservationTable * observation; 01024 01028 PointingTable * pointing; 01029 01033 PointingModelTable * pointingModel; 01034 01038 PolarizationTable * polarization; 01039 01043 ProcessorTable * processor; 01044 01048 ReceiverTable * receiver; 01049 01053 SBSummaryTable * sBSummary; 01054 01058 ScanTable * scan; 01059 01063 SeeingTable * seeing; 01064 01068 SourceTable * source; 01069 01073 SourceParameterTable * sourceParameter; 01074 01078 SpectralWindowTable * spectralWindow; 01079 01083 SquareLawDetectorTable * squareLawDetector; 01084 01088 StateTable * state; 01089 01093 StationTable * station; 01094 01098 SubscanTable * subscan; 01099 01103 SwitchCycleTable * switchCycle; 01104 01108 SysCalTable * sysCal; 01109 01113 TotalPowerTable * totalPower; 01114 01118 WVMCalTable * wVMCal; 01119 01123 WeatherTable * weather; 01124 01128 vector<Representable *> table; 01129 01133 //vector<Entity *> tableEntity; 01134 map<string, Entity> tableEntity; 01135 01139 Entity entity; 01140 01141 01142 01143 // ===> Attribute timeOfCreation 01144 01145 01146 01147 ArrayTime timeOfCreation; 01148 01149 01150 01151 01152 01153 01154 void error() throw(ConversionException); 01155 static string getXMLEntity(EntityId id) throw(ConversionException); 01156 static void putXMLEntity(string xml) throw(ConversionException); 01157 01158 }; 01159 01160 } // End namespace asdm 01161 01162 #endif /* ASDM_CLASS */