casa  $Rev:20696$
SourceRow.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 SourceRow.h
00032  */
00033  
00034 #ifndef SourceRow_CLASS
00035 #define SourceRow_CLASS
00036 
00037 #include <vector>
00038 #include <string>
00039 #include <set>
00040 
00041 #ifndef WITHOUT_ACS
00042 #include <asdmIDLC.h>
00043 #endif
00044 
00045 
00046 
00047 
00048 
00049 
00050          
00051 #include <ArrayTime.h>
00052         
00053 
00054          
00055 #include <AngularRate.h>
00056         
00057 
00058          
00059 #include <Angle.h>
00060         
00061 
00062          
00063 #include <Speed.h>
00064         
00065 
00066          
00067 #include <Flux.h>
00068         
00069 
00070          
00071 #include <Tag.h>
00072         
00073 
00074          
00075 #include <Length.h>
00076         
00077 
00078          
00079 #include <Frequency.h>
00080         
00081 
00082          
00083 #include <ArrayTimeInterval.h>
00084         
00085 
00086 
00087 
00088 
00089         
00090 
00091         
00092 
00093         
00094 
00095         
00096 
00097         
00098 
00099         
00100 
00101         
00102 #include "CDirectionReferenceCode.h"
00103         
00104 
00105         
00106 
00107         
00108 
00109         
00110 
00111         
00112 
00113         
00114 
00115         
00116 
00117         
00118 
00119         
00120 
00121         
00122 
00123         
00124 
00125         
00126 #include "CSourceModel.h"
00127         
00128 
00129         
00130 #include "CFrequencyReferenceCode.h"
00131         
00132 
00133         
00134 
00135         
00136 
00137         
00138 
00139         
00140 
00141         
00142 #include "CStokesParameter.h"
00143         
00144 
00145         
00146 
00147         
00148 
00149         
00150 
00151         
00152 
00153         
00154 
00155         
00156 
00157         
00158 #include "CRadialVelocityReferenceCode.h"
00159         
00160 
00161 
00162 
00163 #include <ConversionException.h>
00164 #include <NoSuchRow.h>
00165 #include <IllegalAccessException.h>
00166 
00167 #include <RowTransformer.h>
00168 //#include <TableStreamReader.h>
00169 
00170 /*\file Source.h
00171     \brief Generated from model's revision "1.62", branch "HEAD"
00172 */
00173 
00174 namespace asdm {
00175 
00176 //class asdm::SourceTable;
00177 
00178 
00179 // class asdm::SpectralWindowRow;
00180 class SpectralWindowRow;
00181         
00182 
00183 class SourceRow;
00184 typedef void (SourceRow::*SourceAttributeFromBin) (EndianIStream& eis);
00185 typedef void (SourceRow::*SourceAttributeFromText) (const string& s);
00186 
00193 class SourceRow {
00194 friend class asdm::SourceTable;
00195 friend class asdm::RowTransformer<SourceRow>;
00196 //friend class asdm::TableStreamReader<SourceTable, SourceRow>;
00197 
00198 public:
00199 
00200         virtual ~SourceRow();
00201 
00205         SourceTable &getTable() const;
00206         
00211         bool isAdded() const;
00212                 
00214         // Intrinsic Table Attributes //
00216         
00217         
00218         // ===> Attribute sourceId
00219         
00220         
00221         
00222 
00223         
00228         int getSourceId() const;
00229         
00230  
00231         
00232         
00233         
00234         
00235 
00236 
00237         
00238         // ===> Attribute timeInterval
00239         
00240         
00241         
00242 
00243         
00248         ArrayTimeInterval getTimeInterval() const;
00249         
00250  
00251         
00252         
00262         void setTimeInterval (ArrayTimeInterval timeInterval);
00263                 
00264         
00265         
00266         
00267 
00268 
00269         
00270         // ===> Attribute code
00271         
00272         
00273         
00274 
00275         
00280         string getCode() const;
00281         
00282  
00283         
00284         
00292         void setCode (string code);
00293                 
00294         
00295         
00296         
00297 
00298 
00299         
00300         // ===> Attribute direction
00301         
00302         
00303         
00304 
00305         
00310         vector<Angle > getDirection() const;
00311         
00312  
00313         
00314         
00322         void setDirection (vector<Angle > direction);
00323                 
00324         
00325         
00326         
00327 
00328 
00329         
00330         // ===> Attribute properMotion
00331         
00332         
00333         
00334 
00335         
00340         vector<AngularRate > getProperMotion() const;
00341         
00342  
00343         
00344         
00352         void setProperMotion (vector<AngularRate > properMotion);
00353                 
00354         
00355         
00356         
00357 
00358 
00359         
00360         // ===> Attribute sourceName
00361         
00362         
00363         
00364 
00365         
00370         string getSourceName() const;
00371         
00372  
00373         
00374         
00382         void setSourceName (string sourceName);
00383                 
00384         
00385         
00386         
00387 
00388 
00389         
00390         // ===> Attribute directionCode, which is optional
00391         
00392         
00393         
00398         bool isDirectionCodeExists() const;
00399         
00400 
00401         
00407         DirectionReferenceCodeMod::DirectionReferenceCode getDirectionCode() const;
00408         
00409  
00410         
00411         
00418         void setDirectionCode (DirectionReferenceCodeMod::DirectionReferenceCode directionCode);
00419                 
00420         
00421         
00422         
00426         void clearDirectionCode ();
00427         
00428 
00429 
00430         
00431         // ===> Attribute directionEquinox, which is optional
00432         
00433         
00434         
00439         bool isDirectionEquinoxExists() const;
00440         
00441 
00442         
00448         ArrayTime getDirectionEquinox() const;
00449         
00450  
00451         
00452         
00459         void setDirectionEquinox (ArrayTime directionEquinox);
00460                 
00461         
00462         
00463         
00467         void clearDirectionEquinox ();
00468         
00469 
00470 
00471         
00472         // ===> Attribute calibrationGroup, which is optional
00473         
00474         
00475         
00480         bool isCalibrationGroupExists() const;
00481         
00482 
00483         
00489         int getCalibrationGroup() const;
00490         
00491  
00492         
00493         
00500         void setCalibrationGroup (int calibrationGroup);
00501                 
00502         
00503         
00504         
00508         void clearCalibrationGroup ();
00509         
00510 
00511 
00512         
00513         // ===> Attribute catalog, which is optional
00514         
00515         
00516         
00521         bool isCatalogExists() const;
00522         
00523 
00524         
00530         string getCatalog() const;
00531         
00532  
00533         
00534         
00541         void setCatalog (string catalog);
00542                 
00543         
00544         
00545         
00549         void clearCatalog ();
00550         
00551 
00552 
00553         
00554         // ===> Attribute deltaVel, which is optional
00555         
00556         
00557         
00562         bool isDeltaVelExists() const;
00563         
00564 
00565         
00571         Speed getDeltaVel() const;
00572         
00573  
00574         
00575         
00582         void setDeltaVel (Speed deltaVel);
00583                 
00584         
00585         
00586         
00590         void clearDeltaVel ();
00591         
00592 
00593 
00594         
00595         // ===> Attribute position, which is optional
00596         
00597         
00598         
00603         bool isPositionExists() const;
00604         
00605 
00606         
00612         vector<Length > getPosition() const;
00613         
00614  
00615         
00616         
00623         void setPosition (vector<Length > position);
00624                 
00625         
00626         
00627         
00631         void clearPosition ();
00632         
00633 
00634 
00635         
00636         // ===> Attribute numLines, which is optional
00637         
00638         
00639         
00644         bool isNumLinesExists() const;
00645         
00646 
00647         
00653         int getNumLines() const;
00654         
00655  
00656         
00657         
00664         void setNumLines (int numLines);
00665                 
00666         
00667         
00668         
00672         void clearNumLines ();
00673         
00674 
00675 
00676         
00677         // ===> Attribute transition, which is optional
00678         
00679         
00680         
00685         bool isTransitionExists() const;
00686         
00687 
00688         
00694         vector<string > getTransition() const;
00695         
00696  
00697         
00698         
00705         void setTransition (vector<string > transition);
00706                 
00707         
00708         
00709         
00713         void clearTransition ();
00714         
00715 
00716 
00717         
00718         // ===> Attribute restFrequency, which is optional
00719         
00720         
00721         
00726         bool isRestFrequencyExists() const;
00727         
00728 
00729         
00735         vector<Frequency > getRestFrequency() const;
00736         
00737  
00738         
00739         
00746         void setRestFrequency (vector<Frequency > restFrequency);
00747                 
00748         
00749         
00750         
00754         void clearRestFrequency ();
00755         
00756 
00757 
00758         
00759         // ===> Attribute sysVel, which is optional
00760         
00761         
00762         
00767         bool isSysVelExists() const;
00768         
00769 
00770         
00776         vector<Speed > getSysVel() const;
00777         
00778  
00779         
00780         
00787         void setSysVel (vector<Speed > sysVel);
00788                 
00789         
00790         
00791         
00795         void clearSysVel ();
00796         
00797 
00798 
00799         
00800         // ===> Attribute rangeVel, which is optional
00801         
00802         
00803         
00808         bool isRangeVelExists() const;
00809         
00810 
00811         
00817         vector<Speed > getRangeVel() const;
00818         
00819  
00820         
00821         
00828         void setRangeVel (vector<Speed > rangeVel);
00829                 
00830         
00831         
00832         
00836         void clearRangeVel ();
00837         
00838 
00839 
00840         
00841         // ===> Attribute sourceModel, which is optional
00842         
00843         
00844         
00849         bool isSourceModelExists() const;
00850         
00851 
00852         
00858         SourceModelMod::SourceModel getSourceModel() const;
00859         
00860  
00861         
00862         
00869         void setSourceModel (SourceModelMod::SourceModel sourceModel);
00870                 
00871         
00872         
00873         
00877         void clearSourceModel ();
00878         
00879 
00880 
00881         
00882         // ===> Attribute frequencyRefCode, which is optional
00883         
00884         
00885         
00890         bool isFrequencyRefCodeExists() const;
00891         
00892 
00893         
00899         FrequencyReferenceCodeMod::FrequencyReferenceCode getFrequencyRefCode() const;
00900         
00901  
00902         
00903         
00910         void setFrequencyRefCode (FrequencyReferenceCodeMod::FrequencyReferenceCode frequencyRefCode);
00911                 
00912         
00913         
00914         
00918         void clearFrequencyRefCode ();
00919         
00920 
00921 
00922         
00923         // ===> Attribute numFreq, which is optional
00924         
00925         
00926         
00931         bool isNumFreqExists() const;
00932         
00933 
00934         
00940         int getNumFreq() const;
00941         
00942  
00943         
00944         
00951         void setNumFreq (int numFreq);
00952                 
00953         
00954         
00955         
00959         void clearNumFreq ();
00960         
00961 
00962 
00963         
00964         // ===> Attribute numStokes, which is optional
00965         
00966         
00967         
00972         bool isNumStokesExists() const;
00973         
00974 
00975         
00981         int getNumStokes() const;
00982         
00983  
00984         
00985         
00992         void setNumStokes (int numStokes);
00993                 
00994         
00995         
00996         
01000         void clearNumStokes ();
01001         
01002 
01003 
01004         
01005         // ===> Attribute frequency, which is optional
01006         
01007         
01008         
01013         bool isFrequencyExists() const;
01014         
01015 
01016         
01022         vector<Frequency > getFrequency() const;
01023         
01024  
01025         
01026         
01033         void setFrequency (vector<Frequency > frequency);
01034                 
01035         
01036         
01037         
01041         void clearFrequency ();
01042         
01043 
01044 
01045         
01046         // ===> Attribute frequencyInterval, which is optional
01047         
01048         
01049         
01054         bool isFrequencyIntervalExists() const;
01055         
01056 
01057         
01063         vector<Frequency > getFrequencyInterval() const;
01064         
01065  
01066         
01067         
01074         void setFrequencyInterval (vector<Frequency > frequencyInterval);
01075                 
01076         
01077         
01078         
01082         void clearFrequencyInterval ();
01083         
01084 
01085 
01086         
01087         // ===> Attribute stokesParameter, which is optional
01088         
01089         
01090         
01095         bool isStokesParameterExists() const;
01096         
01097 
01098         
01104         vector<StokesParameterMod::StokesParameter > getStokesParameter() const;
01105         
01106  
01107         
01108         
01115         void setStokesParameter (vector<StokesParameterMod::StokesParameter > stokesParameter);
01116                 
01117         
01118         
01119         
01123         void clearStokesParameter ();
01124         
01125 
01126 
01127         
01128         // ===> Attribute flux, which is optional
01129         
01130         
01131         
01136         bool isFluxExists() const;
01137         
01138 
01139         
01145         vector<vector<Flux > > getFlux() const;
01146         
01147  
01148         
01149         
01156         void setFlux (vector<vector<Flux > > flux);
01157                 
01158         
01159         
01160         
01164         void clearFlux ();
01165         
01166 
01167 
01168         
01169         // ===> Attribute fluxErr, which is optional
01170         
01171         
01172         
01177         bool isFluxErrExists() const;
01178         
01179 
01180         
01186         vector<vector<Flux > > getFluxErr() const;
01187         
01188  
01189         
01190         
01197         void setFluxErr (vector<vector<Flux > > fluxErr);
01198                 
01199         
01200         
01201         
01205         void clearFluxErr ();
01206         
01207 
01208 
01209         
01210         // ===> Attribute positionAngle, which is optional
01211         
01212         
01213         
01218         bool isPositionAngleExists() const;
01219         
01220 
01221         
01227         vector<Angle > getPositionAngle() const;
01228         
01229  
01230         
01231         
01238         void setPositionAngle (vector<Angle > positionAngle);
01239                 
01240         
01241         
01242         
01246         void clearPositionAngle ();
01247         
01248 
01249 
01250         
01251         // ===> Attribute positionAngleErr, which is optional
01252         
01253         
01254         
01259         bool isPositionAngleErrExists() const;
01260         
01261 
01262         
01268         vector<Angle > getPositionAngleErr() const;
01269         
01270  
01271         
01272         
01279         void setPositionAngleErr (vector<Angle > positionAngleErr);
01280                 
01281         
01282         
01283         
01287         void clearPositionAngleErr ();
01288         
01289 
01290 
01291         
01292         // ===> Attribute size, which is optional
01293         
01294         
01295         
01300         bool isSizeExists() const;
01301         
01302 
01303         
01309         vector<vector<Angle > > getSize() const;
01310         
01311  
01312         
01313         
01320         void setSize (vector<vector<Angle > > size);
01321                 
01322         
01323         
01324         
01328         void clearSize ();
01329         
01330 
01331 
01332         
01333         // ===> Attribute sizeErr, which is optional
01334         
01335         
01336         
01341         bool isSizeErrExists() const;
01342         
01343 
01344         
01350         vector<vector<Angle > > getSizeErr() const;
01351         
01352  
01353         
01354         
01361         void setSizeErr (vector<vector<Angle > > sizeErr);
01362                 
01363         
01364         
01365         
01369         void clearSizeErr ();
01370         
01371 
01372 
01373         
01374         // ===> Attribute velRefCode, which is optional
01375         
01376         
01377         
01382         bool isVelRefCodeExists() const;
01383         
01384 
01385         
01391         RadialVelocityReferenceCodeMod::RadialVelocityReferenceCode getVelRefCode() const;
01392         
01393  
01394         
01395         
01402         void setVelRefCode (RadialVelocityReferenceCodeMod::RadialVelocityReferenceCode velRefCode);
01403                 
01404         
01405         
01406         
01410         void clearVelRefCode ();
01411         
01412 
01413 
01415         // Extrinsic Table Attributes //
01417         
01418         
01419         // ===> Attribute spectralWindowId
01420         
01421         
01422         
01423 
01424         
01429         Tag getSpectralWindowId() const;
01430         
01431  
01432         
01433         
01443         void setSpectralWindowId (Tag spectralWindowId);
01444                 
01445         
01446         
01447         
01448 
01449 
01451         // Links //
01453         
01454         
01455 
01456         
01457                 
01464          SpectralWindowRow* getSpectralWindowUsingSpectralWindowId();
01465          
01466 
01467         
01468 
01469         
01470         
01471         
01489         bool compareNoAutoInc(ArrayTimeInterval timeInterval, Tag spectralWindowId, string code, vector<Angle > direction, vector<AngularRate > properMotion, string sourceName);
01490         
01491         
01492 
01493         
01507         bool compareRequiredValue(string code, vector<Angle > direction, vector<AngularRate > properMotion, string sourceName); 
01508                  
01509         
01518         bool equalByRequiredValue(SourceRow* x) ;
01519         
01520 #ifndef WITHOUT_ACS
01521 
01525         asdmIDL::SourceRowIDL *toIDL() const;
01526 #endif
01527         
01528 #ifndef WITHOUT_ACS
01529 
01534         void setFromIDL (asdmIDL::SourceRowIDL x) ;
01535 #endif
01536         
01541         std::string toXML() const;
01542 
01549         void setFromXML (std::string rowDoc) ;
01550 
01553         // binary-deserialization material from an EndianIStream  //
01555 
01556         std::map<std::string, SourceAttributeFromBin> fromBinMethods;
01557 void sourceIdFromBin( EndianIStream& eis);
01558 void timeIntervalFromBin( EndianIStream& eis);
01559 void spectralWindowIdFromBin( EndianIStream& eis);
01560 void codeFromBin( EndianIStream& eis);
01561 void directionFromBin( EndianIStream& eis);
01562 void properMotionFromBin( EndianIStream& eis);
01563 void sourceNameFromBin( EndianIStream& eis);
01564 
01565 void directionCodeFromBin( EndianIStream& eis);
01566 void directionEquinoxFromBin( EndianIStream& eis);
01567 void calibrationGroupFromBin( EndianIStream& eis);
01568 void catalogFromBin( EndianIStream& eis);
01569 void deltaVelFromBin( EndianIStream& eis);
01570 void positionFromBin( EndianIStream& eis);
01571 void numLinesFromBin( EndianIStream& eis);
01572 void transitionFromBin( EndianIStream& eis);
01573 void restFrequencyFromBin( EndianIStream& eis);
01574 void sysVelFromBin( EndianIStream& eis);
01575 void rangeVelFromBin( EndianIStream& eis);
01576 void sourceModelFromBin( EndianIStream& eis);
01577 void frequencyRefCodeFromBin( EndianIStream& eis);
01578 void numFreqFromBin( EndianIStream& eis);
01579 void numStokesFromBin( EndianIStream& eis);
01580 void frequencyFromBin( EndianIStream& eis);
01581 void frequencyIntervalFromBin( EndianIStream& eis);
01582 void stokesParameterFromBin( EndianIStream& eis);
01583 void fluxFromBin( EndianIStream& eis);
01584 void fluxErrFromBin( EndianIStream& eis);
01585 void positionAngleFromBin( EndianIStream& eis);
01586 void positionAngleErrFromBin( EndianIStream& eis);
01587 void sizeFromBin( EndianIStream& eis);
01588 void sizeErrFromBin( EndianIStream& eis);
01589 void velRefCodeFromBin( EndianIStream& eis);
01590 
01591 
01599          static SourceRow* fromBin(EndianIStream& eis, SourceTable& table, const std::vector<std::string>& attributesSeq);       
01600  
01607          void fromText(const std::string& attributeName, const std::string&  t);
01609 
01610 private:
01614         SourceTable &table;
01618         bool hasBeenAdded;
01619 
01620         // This method is used by the Table class when this row is added to the table.
01621         void isAdded(bool added);
01622 
01623 
01632         SourceRow (SourceTable &table);
01633 
01651          SourceRow (SourceTable &table, SourceRow &row);
01652                 
01654         // Intrinsic Table Attributes //
01656         
01657         
01658         // ===> Attribute sourceId
01659         
01660         
01661 
01662         int sourceId;
01663 
01664         
01665         
01666         
01676         void setSourceId (int sourceId);
01677                 
01678         
01679 
01680         
01681         // ===> Attribute timeInterval
01682         
01683         
01684 
01685         ArrayTimeInterval timeInterval;
01686 
01687         
01688         
01689         
01690 
01691         
01692         // ===> Attribute code
01693         
01694         
01695 
01696         string code;
01697 
01698         
01699         
01700         
01701 
01702         
01703         // ===> Attribute direction
01704         
01705         
01706 
01707         vector<Angle > direction;
01708 
01709         
01710         
01711         
01712 
01713         
01714         // ===> Attribute properMotion
01715         
01716         
01717 
01718         vector<AngularRate > properMotion;
01719 
01720         
01721         
01722         
01723 
01724         
01725         // ===> Attribute sourceName
01726         
01727         
01728 
01729         string sourceName;
01730 
01731         
01732         
01733         
01734 
01735         
01736         // ===> Attribute directionCode, which is optional
01737         
01738         
01739         bool directionCodeExists;
01740         
01741 
01742         DirectionReferenceCodeMod::DirectionReferenceCode directionCode;
01743 
01744         
01745         
01746         
01747 
01748         
01749         // ===> Attribute directionEquinox, which is optional
01750         
01751         
01752         bool directionEquinoxExists;
01753         
01754 
01755         ArrayTime directionEquinox;
01756 
01757         
01758         
01759         
01760 
01761         
01762         // ===> Attribute calibrationGroup, which is optional
01763         
01764         
01765         bool calibrationGroupExists;
01766         
01767 
01768         int calibrationGroup;
01769 
01770         
01771         
01772         
01773 
01774         
01775         // ===> Attribute catalog, which is optional
01776         
01777         
01778         bool catalogExists;
01779         
01780 
01781         string catalog;
01782 
01783         
01784         
01785         
01786 
01787         
01788         // ===> Attribute deltaVel, which is optional
01789         
01790         
01791         bool deltaVelExists;
01792         
01793 
01794         Speed deltaVel;
01795 
01796         
01797         
01798         
01799 
01800         
01801         // ===> Attribute position, which is optional
01802         
01803         
01804         bool positionExists;
01805         
01806 
01807         vector<Length > position;
01808 
01809         
01810         
01811         
01812 
01813         
01814         // ===> Attribute numLines, which is optional
01815         
01816         
01817         bool numLinesExists;
01818         
01819 
01820         int numLines;
01821 
01822         
01823         
01824         
01825 
01826         
01827         // ===> Attribute transition, which is optional
01828         
01829         
01830         bool transitionExists;
01831         
01832 
01833         vector<string > transition;
01834 
01835         
01836         
01837         
01838 
01839         
01840         // ===> Attribute restFrequency, which is optional
01841         
01842         
01843         bool restFrequencyExists;
01844         
01845 
01846         vector<Frequency > restFrequency;
01847 
01848         
01849         
01850         
01851 
01852         
01853         // ===> Attribute sysVel, which is optional
01854         
01855         
01856         bool sysVelExists;
01857         
01858 
01859         vector<Speed > sysVel;
01860 
01861         
01862         
01863         
01864 
01865         
01866         // ===> Attribute rangeVel, which is optional
01867         
01868         
01869         bool rangeVelExists;
01870         
01871 
01872         vector<Speed > rangeVel;
01873 
01874         
01875         
01876         
01877 
01878         
01879         // ===> Attribute sourceModel, which is optional
01880         
01881         
01882         bool sourceModelExists;
01883         
01884 
01885         SourceModelMod::SourceModel sourceModel;
01886 
01887         
01888         
01889         
01890 
01891         
01892         // ===> Attribute frequencyRefCode, which is optional
01893         
01894         
01895         bool frequencyRefCodeExists;
01896         
01897 
01898         FrequencyReferenceCodeMod::FrequencyReferenceCode frequencyRefCode;
01899 
01900         
01901         
01902         
01903 
01904         
01905         // ===> Attribute numFreq, which is optional
01906         
01907         
01908         bool numFreqExists;
01909         
01910 
01911         int numFreq;
01912 
01913         
01914         
01915         
01916 
01917         
01918         // ===> Attribute numStokes, which is optional
01919         
01920         
01921         bool numStokesExists;
01922         
01923 
01924         int numStokes;
01925 
01926         
01927         
01928         
01929 
01930         
01931         // ===> Attribute frequency, which is optional
01932         
01933         
01934         bool frequencyExists;
01935         
01936 
01937         vector<Frequency > frequency;
01938 
01939         
01940         
01941         
01942 
01943         
01944         // ===> Attribute frequencyInterval, which is optional
01945         
01946         
01947         bool frequencyIntervalExists;
01948         
01949 
01950         vector<Frequency > frequencyInterval;
01951 
01952         
01953         
01954         
01955 
01956         
01957         // ===> Attribute stokesParameter, which is optional
01958         
01959         
01960         bool stokesParameterExists;
01961         
01962 
01963         vector<StokesParameterMod::StokesParameter > stokesParameter;
01964 
01965         
01966         
01967         
01968 
01969         
01970         // ===> Attribute flux, which is optional
01971         
01972         
01973         bool fluxExists;
01974         
01975 
01976         vector<vector<Flux > > flux;
01977 
01978         
01979         
01980         
01981 
01982         
01983         // ===> Attribute fluxErr, which is optional
01984         
01985         
01986         bool fluxErrExists;
01987         
01988 
01989         vector<vector<Flux > > fluxErr;
01990 
01991         
01992         
01993         
01994 
01995         
01996         // ===> Attribute positionAngle, which is optional
01997         
01998         
01999         bool positionAngleExists;
02000         
02001 
02002         vector<Angle > positionAngle;
02003 
02004         
02005         
02006         
02007 
02008         
02009         // ===> Attribute positionAngleErr, which is optional
02010         
02011         
02012         bool positionAngleErrExists;
02013         
02014 
02015         vector<Angle > positionAngleErr;
02016 
02017         
02018         
02019         
02020 
02021         
02022         // ===> Attribute size, which is optional
02023         
02024         
02025         bool sizeExists;
02026         
02027 
02028         vector<vector<Angle > > size;
02029 
02030         
02031         
02032         
02033 
02034         
02035         // ===> Attribute sizeErr, which is optional
02036         
02037         
02038         bool sizeErrExists;
02039         
02040 
02041         vector<vector<Angle > > sizeErr;
02042 
02043         
02044         
02045         
02046 
02047         
02048         // ===> Attribute velRefCode, which is optional
02049         
02050         
02051         bool velRefCodeExists;
02052         
02053 
02054         RadialVelocityReferenceCodeMod::RadialVelocityReferenceCode velRefCode;
02055 
02056         
02057         
02058         
02059 
02061         // Extrinsic Table Attributes //
02063         
02064         
02065         // ===> Attribute spectralWindowId
02066         
02067         
02068 
02069         Tag spectralWindowId;
02070 
02071         
02072         
02073         
02074 
02076         // Links //
02078         
02079         
02080                 
02081 
02082          
02083 
02084         
02085 
02086         
02087 /*
02089         // binary-deserialization material from an EndianIStream  //
02091         std::map<std::string, SourceAttributeFromBin> fromBinMethods;
02092 void sourceIdFromBin( EndianIStream& eis);
02093 void timeIntervalFromBin( EndianIStream& eis);
02094 void spectralWindowIdFromBin( EndianIStream& eis);
02095 void codeFromBin( EndianIStream& eis);
02096 void directionFromBin( EndianIStream& eis);
02097 void properMotionFromBin( EndianIStream& eis);
02098 void sourceNameFromBin( EndianIStream& eis);
02099 
02100 void directionCodeFromBin( EndianIStream& eis);
02101 void directionEquinoxFromBin( EndianIStream& eis);
02102 void calibrationGroupFromBin( EndianIStream& eis);
02103 void catalogFromBin( EndianIStream& eis);
02104 void deltaVelFromBin( EndianIStream& eis);
02105 void positionFromBin( EndianIStream& eis);
02106 void numLinesFromBin( EndianIStream& eis);
02107 void transitionFromBin( EndianIStream& eis);
02108 void restFrequencyFromBin( EndianIStream& eis);
02109 void sysVelFromBin( EndianIStream& eis);
02110 void rangeVelFromBin( EndianIStream& eis);
02111 void sourceModelFromBin( EndianIStream& eis);
02112 void frequencyRefCodeFromBin( EndianIStream& eis);
02113 void numFreqFromBin( EndianIStream& eis);
02114 void numStokesFromBin( EndianIStream& eis);
02115 void frequencyFromBin( EndianIStream& eis);
02116 void frequencyIntervalFromBin( EndianIStream& eis);
02117 void stokesParameterFromBin( EndianIStream& eis);
02118 void fluxFromBin( EndianIStream& eis);
02119 void fluxErrFromBin( EndianIStream& eis);
02120 void positionAngleFromBin( EndianIStream& eis);
02121 void positionAngleErrFromBin( EndianIStream& eis);
02122 void sizeFromBin( EndianIStream& eis);
02123 void sizeErrFromBin( EndianIStream& eis);
02124 void velRefCodeFromBin( EndianIStream& eis);
02125 
02126 */
02127         
02129         // text-deserialization material //
02131         std::map<std::string, SourceAttributeFromText> fromTextMethods;
02132         
02133 void sourceIdFromText (const string & s);
02134         
02135         
02136 void timeIntervalFromText (const string & s);
02137         
02138         
02139 void spectralWindowIdFromText (const string & s);
02140         
02141         
02142 void codeFromText (const string & s);
02143         
02144         
02145 void directionFromText (const string & s);
02146         
02147         
02148 void properMotionFromText (const string & s);
02149         
02150         
02151 void sourceNameFromText (const string & s);
02152         
02153 
02154         
02155 void directionCodeFromText (const string & s);
02156         
02157         
02158 void directionEquinoxFromText (const string & s);
02159         
02160         
02161 void calibrationGroupFromText (const string & s);
02162         
02163         
02164 void catalogFromText (const string & s);
02165         
02166         
02167 void deltaVelFromText (const string & s);
02168         
02169         
02170 void positionFromText (const string & s);
02171         
02172         
02173 void numLinesFromText (const string & s);
02174         
02175         
02176 void transitionFromText (const string & s);
02177         
02178         
02179 void restFrequencyFromText (const string & s);
02180         
02181         
02182 void sysVelFromText (const string & s);
02183         
02184         
02185 void rangeVelFromText (const string & s);
02186         
02187         
02188 void sourceModelFromText (const string & s);
02189         
02190         
02191 void frequencyRefCodeFromText (const string & s);
02192         
02193         
02194 void numFreqFromText (const string & s);
02195         
02196         
02197 void numStokesFromText (const string & s);
02198         
02199         
02200 void frequencyFromText (const string & s);
02201         
02202         
02203 void frequencyIntervalFromText (const string & s);
02204         
02205         
02206 void stokesParameterFromText (const string & s);
02207         
02208         
02209 void fluxFromText (const string & s);
02210         
02211         
02212 void fluxErrFromText (const string & s);
02213         
02214         
02215 void positionAngleFromText (const string & s);
02216         
02217         
02218 void positionAngleErrFromText (const string & s);
02219         
02220         
02221 void sizeFromText (const string & s);
02222         
02223         
02224 void sizeErrFromText (const string & s);
02225         
02226         
02227 void velRefCodeFromText (const string & s);
02228         
02229         
02230         
02235          void toBin(EndianOSStream& eoss);
02236                  
02246 };
02247 
02248 } // End namespace asdm
02249 
02250 #endif /* Source_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines