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.41", 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::AntennaTable; 00075 class AntennaTable; 00076 00077 //class asdm::BeamTable; 00078 class BeamTable; 00079 00080 //class asdm::CalAmpliTable; 00081 class CalAmpliTable; 00082 00083 //class asdm::CalAtmosphereTable; 00084 class CalAtmosphereTable; 00085 00086 //class asdm::CalBandpassTable; 00087 class CalBandpassTable; 00088 00089 //class asdm::CalCurveTable; 00090 class CalCurveTable; 00091 00092 //class asdm::CalDataTable; 00093 class CalDataTable; 00094 00095 //class asdm::CalDelayTable; 00096 class CalDelayTable; 00097 00098 //class asdm::CalDeviceTable; 00099 class CalDeviceTable; 00100 00101 //class asdm::CalFluxTable; 00102 class CalFluxTable; 00103 00104 //class asdm::CalFocusTable; 00105 class CalFocusTable; 00106 00107 //class asdm::CalFocusModelTable; 00108 class CalFocusModelTable; 00109 00110 //class asdm::CalGainTable; 00111 class CalGainTable; 00112 00113 //class asdm::CalHolographyTable; 00114 class CalHolographyTable; 00115 00116 //class asdm::CalPhaseTable; 00117 class CalPhaseTable; 00118 00119 //class asdm::CalPointingTable; 00120 class CalPointingTable; 00121 00122 //class asdm::CalPointingModelTable; 00123 class CalPointingModelTable; 00124 00125 //class asdm::CalPositionTable; 00126 class CalPositionTable; 00127 00128 //class asdm::CalPrimaryBeamTable; 00129 class CalPrimaryBeamTable; 00130 00131 //class asdm::CalReductionTable; 00132 class CalReductionTable; 00133 00134 //class asdm::CalSeeingTable; 00135 class CalSeeingTable; 00136 00137 //class asdm::CalWVRTable; 00138 class CalWVRTable; 00139 00140 //class asdm::ConfigDescriptionTable; 00141 class ConfigDescriptionTable; 00142 00143 //class asdm::CorrelatorModeTable; 00144 class CorrelatorModeTable; 00145 00146 //class asdm::DataDescriptionTable; 00147 class DataDescriptionTable; 00148 00149 //class asdm::DopplerTable; 00150 class DopplerTable; 00151 00152 //class asdm::EphemerisTable; 00153 class EphemerisTable; 00154 00155 //class asdm::ExecBlockTable; 00156 class ExecBlockTable; 00157 00158 //class asdm::FeedTable; 00159 class FeedTable; 00160 00161 //class asdm::FieldTable; 00162 class FieldTable; 00163 00164 //class asdm::FlagCmdTable; 00165 class FlagCmdTable; 00166 00167 //class asdm::FocusTable; 00168 class FocusTable; 00169 00170 //class asdm::FocusModelTable; 00171 class FocusModelTable; 00172 00173 //class asdm::FreqOffsetTable; 00174 class FreqOffsetTable; 00175 00176 //class asdm::GainTrackingTable; 00177 class GainTrackingTable; 00178 00179 //class asdm::HistoryTable; 00180 class HistoryTable; 00181 00182 //class asdm::HolographyTable; 00183 class HolographyTable; 00184 00185 //class asdm::ObservationTable; 00186 class ObservationTable; 00187 00188 //class asdm::PointingTable; 00189 class PointingTable; 00190 00191 //class asdm::PointingModelTable; 00192 class PointingModelTable; 00193 00194 //class asdm::PolarizationTable; 00195 class PolarizationTable; 00196 00197 //class asdm::ProcessorTable; 00198 class ProcessorTable; 00199 00200 //class asdm::ReceiverTable; 00201 class ReceiverTable; 00202 00203 //class asdm::SBSummaryTable; 00204 class SBSummaryTable; 00205 00206 //class asdm::ScanTable; 00207 class ScanTable; 00208 00209 //class asdm::SeeingTable; 00210 class SeeingTable; 00211 00212 //class asdm::SourceTable; 00213 class SourceTable; 00214 00215 //class asdm::SourceParameterTable; 00216 class SourceParameterTable; 00217 00218 //class asdm::SpectralWindowTable; 00219 class SpectralWindowTable; 00220 00221 //class asdm::SquareLawDetectorTable; 00222 class SquareLawDetectorTable; 00223 00224 //class asdm::StateTable; 00225 class StateTable; 00226 00227 //class asdm::StationTable; 00228 class StationTable; 00229 00230 //class asdm::SubscanTable; 00231 class SubscanTable; 00232 00233 //class asdm::SwitchCycleTable; 00234 class SwitchCycleTable; 00235 00236 //class asdm::SysCalTable; 00237 class SysCalTable; 00238 00239 //class asdm::TotalPowerTable; 00240 class TotalPowerTable; 00241 00242 //class asdm::WVMCalTable; 00243 class WVMCalTable; 00244 00245 //class asdm::WeatherTable; 00246 class WeatherTable; 00247 00248 00256 class ASDM : public Representable { 00257 00258 public: 00262 ASDM (); 00263 00264 virtual ~ASDM (); 00265 00266 00271 MainTable & getMain () const; 00272 00277 AlmaRadiometerTable & getAlmaRadiometer () const; 00278 00283 AntennaTable & getAntenna () const; 00284 00289 BeamTable & getBeam () const; 00290 00295 CalAmpliTable & getCalAmpli () const; 00296 00301 CalAtmosphereTable & getCalAtmosphere () const; 00302 00307 CalBandpassTable & getCalBandpass () const; 00308 00313 CalCurveTable & getCalCurve () const; 00314 00319 CalDataTable & getCalData () const; 00320 00325 CalDelayTable & getCalDelay () const; 00326 00331 CalDeviceTable & getCalDevice () const; 00332 00337 CalFluxTable & getCalFlux () const; 00338 00343 CalFocusTable & getCalFocus () const; 00344 00349 CalFocusModelTable & getCalFocusModel () const; 00350 00355 CalGainTable & getCalGain () const; 00356 00361 CalHolographyTable & getCalHolography () const; 00362 00367 CalPhaseTable & getCalPhase () const; 00368 00373 CalPointingTable & getCalPointing () const; 00374 00379 CalPointingModelTable & getCalPointingModel () const; 00380 00385 CalPositionTable & getCalPosition () const; 00386 00391 CalPrimaryBeamTable & getCalPrimaryBeam () const; 00392 00397 CalReductionTable & getCalReduction () const; 00398 00403 CalSeeingTable & getCalSeeing () const; 00404 00409 CalWVRTable & getCalWVR () const; 00410 00415 ConfigDescriptionTable & getConfigDescription () const; 00416 00421 CorrelatorModeTable & getCorrelatorMode () const; 00422 00427 DataDescriptionTable & getDataDescription () const; 00428 00433 DopplerTable & getDoppler () const; 00434 00439 EphemerisTable & getEphemeris () const; 00440 00445 ExecBlockTable & getExecBlock () const; 00446 00451 FeedTable & getFeed () const; 00452 00457 FieldTable & getField () const; 00458 00463 FlagCmdTable & getFlagCmd () const; 00464 00469 FocusTable & getFocus () const; 00470 00475 FocusModelTable & getFocusModel () const; 00476 00481 FreqOffsetTable & getFreqOffset () const; 00482 00487 GainTrackingTable & getGainTracking () const; 00488 00493 HistoryTable & getHistory () const; 00494 00499 HolographyTable & getHolography () const; 00500 00505 ObservationTable & getObservation () const; 00506 00511 PointingTable & getPointing () const; 00512 00517 PointingModelTable & getPointingModel () const; 00518 00523 PolarizationTable & getPolarization () const; 00524 00529 ProcessorTable & getProcessor () const; 00530 00535 ReceiverTable & getReceiver () const; 00536 00541 SBSummaryTable & getSBSummary () const; 00542 00547 ScanTable & getScan () const; 00548 00553 SeeingTable & getSeeing () const; 00554 00559 SourceTable & getSource () const; 00560 00565 SourceParameterTable & getSourceParameter () const; 00566 00571 SpectralWindowTable & getSpectralWindow () const; 00572 00577 SquareLawDetectorTable & getSquareLawDetector () const; 00578 00583 StateTable & getState () const; 00584 00589 StationTable & getStation () const; 00590 00595 SubscanTable & getSubscan () const; 00596 00601 SwitchCycleTable & getSwitchCycle () const; 00602 00607 SysCalTable & getSysCal () const; 00608 00613 TotalPowerTable & getTotalPower () const; 00614 00619 WVMCalTable & getWVMCal () const; 00620 00625 WeatherTable & getWeather () const; 00626 00632 virtual string toXML(); 00633 00643 void toXML(string directory) ; 00644 00655 virtual void fromXML(string xml) ; 00656 00669 static ASDM *getFromXML(string xmlDirectory) ; 00670 00676 string toMIME(); 00677 00684 void setFromMIME(const string & mimeMsg); 00685 00700 void toFile(string directory); 00701 00710 void setFromFile(string directory); 00711 00712 #ifndef WITHOUT_ACS 00713 00717 virtual ASDMDataSetIDL* toIDL(); 00718 00727 virtual void fromIDL(ASDMDataSetIDL* x); 00728 #endif 00729 00730 virtual string toVOTable() const throw(ConversionException); 00731 virtual void fromVOTable(string vo) throw(ConversionException); 00732 00733 virtual char * toFITS() const throw(ConversionException); 00734 virtual void fromFITS(char * fits) throw(ConversionException); 00735 00736 virtual Entity getEntity() const; 00737 00738 virtual void setEntity(Entity e); 00739 00743 virtual string getName() const; 00744 00748 virtual unsigned int size() ; 00749 00750 #ifndef WITHOUT_ACS 00751 00756 static ASDM *fromArchive(EntityId datasetId) throw(ConversionException); 00757 #endif 00758 00759 #ifndef WITHOUT_ACS 00760 00763 void updateArchive() const throw(ConversionException); 00764 #endif 00765 00770 Representable &getTable(string tableName) throw(InvalidArgumentException); 00771 00772 00773 00774 // ===> Attribute timeOfCreation 00775 00776 00777 00778 00779 00784 ArrayTime getTimeOfCreation() const; 00785 00786 00787 00788 00794 void setTimeOfCreation (ArrayTime timeOfCreation); 00795 00796 00797 00798 00799 00800 00801 00802 private: 00803 00804 bool archiveAsBin; // If true archive binary else archive XML 00805 bool fileAsBin ; // If true file binary else file XML 00806 00807 00811 MainTable * main; 00812 00816 AlmaRadiometerTable * almaRadiometer; 00817 00821 AntennaTable * antenna; 00822 00826 BeamTable * beam; 00827 00831 CalAmpliTable * calAmpli; 00832 00836 CalAtmosphereTable * calAtmosphere; 00837 00841 CalBandpassTable * calBandpass; 00842 00846 CalCurveTable * calCurve; 00847 00851 CalDataTable * calData; 00852 00856 CalDelayTable * calDelay; 00857 00861 CalDeviceTable * calDevice; 00862 00866 CalFluxTable * calFlux; 00867 00871 CalFocusTable * calFocus; 00872 00876 CalFocusModelTable * calFocusModel; 00877 00881 CalGainTable * calGain; 00882 00886 CalHolographyTable * calHolography; 00887 00891 CalPhaseTable * calPhase; 00892 00896 CalPointingTable * calPointing; 00897 00901 CalPointingModelTable * calPointingModel; 00902 00906 CalPositionTable * calPosition; 00907 00911 CalPrimaryBeamTable * calPrimaryBeam; 00912 00916 CalReductionTable * calReduction; 00917 00921 CalSeeingTable * calSeeing; 00922 00926 CalWVRTable * calWVR; 00927 00931 ConfigDescriptionTable * configDescription; 00932 00936 CorrelatorModeTable * correlatorMode; 00937 00941 DataDescriptionTable * dataDescription; 00942 00946 DopplerTable * doppler; 00947 00951 EphemerisTable * ephemeris; 00952 00956 ExecBlockTable * execBlock; 00957 00961 FeedTable * feed; 00962 00966 FieldTable * field; 00967 00971 FlagCmdTable * flagCmd; 00972 00976 FocusTable * focus; 00977 00981 FocusModelTable * focusModel; 00982 00986 FreqOffsetTable * freqOffset; 00987 00991 GainTrackingTable * gainTracking; 00992 00996 HistoryTable * history; 00997 01001 HolographyTable * holography; 01002 01006 ObservationTable * observation; 01007 01011 PointingTable * pointing; 01012 01016 PointingModelTable * pointingModel; 01017 01021 PolarizationTable * polarization; 01022 01026 ProcessorTable * processor; 01027 01031 ReceiverTable * receiver; 01032 01036 SBSummaryTable * sBSummary; 01037 01041 ScanTable * scan; 01042 01046 SeeingTable * seeing; 01047 01051 SourceTable * source; 01052 01056 SourceParameterTable * sourceParameter; 01057 01061 SpectralWindowTable * spectralWindow; 01062 01066 SquareLawDetectorTable * squareLawDetector; 01067 01071 StateTable * state; 01072 01076 StationTable * station; 01077 01081 SubscanTable * subscan; 01082 01086 SwitchCycleTable * switchCycle; 01087 01091 SysCalTable * sysCal; 01092 01096 TotalPowerTable * totalPower; 01097 01101 WVMCalTable * wVMCal; 01102 01106 WeatherTable * weather; 01107 01111 vector<Representable *> table; 01112 01116 //vector<Entity *> tableEntity; 01117 map<string, Entity> tableEntity; 01118 01122 Entity entity; 01123 01124 01125 01126 // ===> Attribute timeOfCreation 01127 01128 01129 01130 ArrayTime timeOfCreation; 01131 01132 01133 01134 01135 01136 01137 void error() throw(ConversionException); 01138 static string getXMLEntity(EntityId id) throw(ConversionException); 01139 static void putXMLEntity(string xml) throw(ConversionException); 01140 01141 }; 01142 01143 } // End namespace asdm 01144 01145 #endif /* ASDM_CLASS */