ASDM.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 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 */

Generated on Thu Nov 29 16:46:45 2007 for ASDM C++ Implementation by  doxygen 1.5.1