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 DelayModelFixedParametersRow.h 00032 */ 00033 00034 #ifndef DelayModelFixedParametersRow_CLASS 00035 #define DelayModelFixedParametersRow_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 <Speed.h> 00052 00053 00054 00055 #include <Tag.h> 00056 00057 00058 00059 #include <Length.h> 00060 00061 00062 00063 #include <AngularRate.h> 00064 00065 00066 00067 00068 00069 00070 00071 00072 00073 00074 00075 00076 00077 00078 00079 00080 00081 00082 00083 00084 00085 00086 00087 00088 00089 00090 00091 00092 00093 00094 00095 00096 00097 00098 00099 00100 00101 00102 00103 00104 00105 00106 00107 00108 00109 #include <ConversionException.h> 00110 #include <NoSuchRow.h> 00111 #include <IllegalAccessException.h> 00112 00113 #include <RowTransformer.h> 00114 //#include <TableStreamReader.h> 00115 00116 /*\file DelayModelFixedParameters.h 00117 \brief Generated from model's revision "-1", branch "" 00118 */ 00119 00120 namespace asdm { 00121 00122 //class asdm::DelayModelFixedParametersTable; 00123 00124 00125 // class asdm::ExecBlockRow; 00126 class ExecBlockRow; 00127 00128 00129 class DelayModelFixedParametersRow; 00130 typedef void (DelayModelFixedParametersRow::*DelayModelFixedParametersAttributeFromBin) (EndianIStream& eis); 00131 typedef void (DelayModelFixedParametersRow::*DelayModelFixedParametersAttributeFromText) (const string& s); 00132 00139 class DelayModelFixedParametersRow { 00140 friend class asdm::DelayModelFixedParametersTable; 00141 friend class asdm::RowTransformer<DelayModelFixedParametersRow>; 00142 //friend class asdm::TableStreamReader<DelayModelFixedParametersTable, DelayModelFixedParametersRow>; 00143 00144 public: 00145 00146 virtual ~DelayModelFixedParametersRow(); 00147 00151 DelayModelFixedParametersTable &getTable() const; 00152 00157 bool isAdded() const; 00158 00160 // Intrinsic Table Attributes // 00162 00163 00164 // ===> Attribute delayModelFixedParametersId 00165 00166 00167 00168 00169 00174 Tag getDelayModelFixedParametersId() const; 00175 00176 00177 00178 00179 00180 00181 00182 00183 00184 // ===> Attribute delayModelVersion 00185 00186 00187 00188 00189 00194 string getDelayModelVersion() const; 00195 00196 00197 00198 00206 void setDelayModelVersion (string delayModelVersion); 00207 00208 00209 00210 00211 00212 00213 00214 // ===> Attribute gaussConstant, which is optional 00215 00216 00217 00222 bool isGaussConstantExists() const; 00223 00224 00225 00231 AngularRate getGaussConstant() const; 00232 00233 00234 00235 00242 void setGaussConstant (AngularRate gaussConstant); 00243 00244 00245 00246 00250 void clearGaussConstant (); 00251 00252 00253 00254 00255 // ===> Attribute newtonianConstant, which is optional 00256 00257 00258 00263 bool isNewtonianConstantExists() const; 00264 00265 00266 00272 double getNewtonianConstant() const; 00273 00274 00275 00276 00283 void setNewtonianConstant (double newtonianConstant); 00284 00285 00286 00287 00291 void clearNewtonianConstant (); 00292 00293 00294 00295 00296 // ===> Attribute gravity, which is optional 00297 00298 00299 00304 bool isGravityExists() const; 00305 00306 00307 00313 double getGravity() const; 00314 00315 00316 00317 00324 void setGravity (double gravity); 00325 00326 00327 00328 00332 void clearGravity (); 00333 00334 00335 00336 00337 // ===> Attribute earthFlattening, which is optional 00338 00339 00340 00345 bool isEarthFlatteningExists() const; 00346 00347 00348 00354 double getEarthFlattening() const; 00355 00356 00357 00358 00365 void setEarthFlattening (double earthFlattening); 00366 00367 00368 00369 00373 void clearEarthFlattening (); 00374 00375 00376 00377 00378 // ===> Attribute earthRadius, which is optional 00379 00380 00381 00386 bool isEarthRadiusExists() const; 00387 00388 00389 00395 Length getEarthRadius() const; 00396 00397 00398 00399 00406 void setEarthRadius (Length earthRadius); 00407 00408 00409 00410 00414 void clearEarthRadius (); 00415 00416 00417 00418 00419 // ===> Attribute moonEarthMassRatio, which is optional 00420 00421 00422 00427 bool isMoonEarthMassRatioExists() const; 00428 00429 00430 00436 double getMoonEarthMassRatio() const; 00437 00438 00439 00440 00447 void setMoonEarthMassRatio (double moonEarthMassRatio); 00448 00449 00450 00451 00455 void clearMoonEarthMassRatio (); 00456 00457 00458 00459 00460 // ===> Attribute ephemerisEpoch, which is optional 00461 00462 00463 00468 bool isEphemerisEpochExists() const; 00469 00470 00471 00477 string getEphemerisEpoch() const; 00478 00479 00480 00481 00488 void setEphemerisEpoch (string ephemerisEpoch); 00489 00490 00491 00492 00496 void clearEphemerisEpoch (); 00497 00498 00499 00500 00501 // ===> Attribute earthTideLag, which is optional 00502 00503 00504 00509 bool isEarthTideLagExists() const; 00510 00511 00512 00518 double getEarthTideLag() const; 00519 00520 00521 00522 00529 void setEarthTideLag (double earthTideLag); 00530 00531 00532 00533 00537 void clearEarthTideLag (); 00538 00539 00540 00541 00542 // ===> Attribute earthGM, which is optional 00543 00544 00545 00550 bool isEarthGMExists() const; 00551 00552 00553 00559 double getEarthGM() const; 00560 00561 00562 00563 00570 void setEarthGM (double earthGM); 00571 00572 00573 00574 00578 void clearEarthGM (); 00579 00580 00581 00582 00583 // ===> Attribute moonGM, which is optional 00584 00585 00586 00591 bool isMoonGMExists() const; 00592 00593 00594 00600 double getMoonGM() const; 00601 00602 00603 00604 00611 void setMoonGM (double moonGM); 00612 00613 00614 00615 00619 void clearMoonGM (); 00620 00621 00622 00623 00624 // ===> Attribute sunGM, which is optional 00625 00626 00627 00632 bool isSunGMExists() const; 00633 00634 00635 00641 double getSunGM() const; 00642 00643 00644 00645 00652 void setSunGM (double sunGM); 00653 00654 00655 00656 00660 void clearSunGM (); 00661 00662 00663 00664 00665 // ===> Attribute loveNumberH, which is optional 00666 00667 00668 00673 bool isLoveNumberHExists() const; 00674 00675 00676 00682 double getLoveNumberH() const; 00683 00684 00685 00686 00693 void setLoveNumberH (double loveNumberH); 00694 00695 00696 00697 00701 void clearLoveNumberH (); 00702 00703 00704 00705 00706 // ===> Attribute loveNumberL, which is optional 00707 00708 00709 00714 bool isLoveNumberLExists() const; 00715 00716 00717 00723 double getLoveNumberL() const; 00724 00725 00726 00727 00734 void setLoveNumberL (double loveNumberL); 00735 00736 00737 00738 00742 void clearLoveNumberL (); 00743 00744 00745 00746 00747 // ===> Attribute precessionConstant, which is optional 00748 00749 00750 00755 bool isPrecessionConstantExists() const; 00756 00757 00758 00764 AngularRate getPrecessionConstant() const; 00765 00766 00767 00768 00775 void setPrecessionConstant (AngularRate precessionConstant); 00776 00777 00778 00779 00783 void clearPrecessionConstant (); 00784 00785 00786 00787 00788 // ===> Attribute lightTime1AU, which is optional 00789 00790 00791 00796 bool isLightTime1AUExists() const; 00797 00798 00799 00805 double getLightTime1AU() const; 00806 00807 00808 00809 00816 void setLightTime1AU (double lightTime1AU); 00817 00818 00819 00820 00824 void clearLightTime1AU (); 00825 00826 00827 00828 00829 // ===> Attribute speedOfLight, which is optional 00830 00831 00832 00837 bool isSpeedOfLightExists() const; 00838 00839 00840 00846 Speed getSpeedOfLight() const; 00847 00848 00849 00850 00857 void setSpeedOfLight (Speed speedOfLight); 00858 00859 00860 00861 00865 void clearSpeedOfLight (); 00866 00867 00868 00869 00870 // ===> Attribute delayModelFlags, which is optional 00871 00872 00873 00878 bool isDelayModelFlagsExists() const; 00879 00880 00881 00887 string getDelayModelFlags() const; 00888 00889 00890 00891 00898 void setDelayModelFlags (string delayModelFlags); 00899 00900 00901 00902 00906 void clearDelayModelFlags (); 00907 00908 00909 00911 // Extrinsic Table Attributes // 00913 00914 00915 // ===> Attribute execBlockId 00916 00917 00918 00919 00920 00925 Tag getExecBlockId() const; 00926 00927 00928 00929 00937 void setExecBlockId (Tag execBlockId); 00938 00939 00940 00941 00942 00943 00945 // Links // 00947 00948 00949 00950 00951 00958 ExecBlockRow* getExecBlockUsingExecBlockId(); 00959 00960 00961 00962 00963 00964 00965 00975 bool compareNoAutoInc(string delayModelVersion, Tag execBlockId); 00976 00977 00978 00979 00989 bool compareRequiredValue(string delayModelVersion, Tag execBlockId); 00990 00991 01000 bool equalByRequiredValue(DelayModelFixedParametersRow* x) ; 01001 01002 #ifndef WITHOUT_ACS 01003 01007 asdmIDL::DelayModelFixedParametersRowIDL *toIDL() const; 01008 01016 void toIDL(asdmIDL::DelayModelFixedParametersRowIDL& x) const; 01017 #endif 01018 01019 #ifndef WITHOUT_ACS 01020 01025 void setFromIDL (asdmIDL::DelayModelFixedParametersRowIDL x) ; 01026 #endif 01027 01032 std::string toXML() const; 01033 01040 void setFromXML (std::string rowDoc) ; 01041 01044 // binary-deserialization material from an EndianIStream // 01046 01047 std::map<std::string, DelayModelFixedParametersAttributeFromBin> fromBinMethods; 01048 void delayModelFixedParametersIdFromBin( EndianIStream& eis); 01049 void delayModelVersionFromBin( EndianIStream& eis); 01050 void execBlockIdFromBin( EndianIStream& eis); 01051 01052 void gaussConstantFromBin( EndianIStream& eis); 01053 void newtonianConstantFromBin( EndianIStream& eis); 01054 void gravityFromBin( EndianIStream& eis); 01055 void earthFlatteningFromBin( EndianIStream& eis); 01056 void earthRadiusFromBin( EndianIStream& eis); 01057 void moonEarthMassRatioFromBin( EndianIStream& eis); 01058 void ephemerisEpochFromBin( EndianIStream& eis); 01059 void earthTideLagFromBin( EndianIStream& eis); 01060 void earthGMFromBin( EndianIStream& eis); 01061 void moonGMFromBin( EndianIStream& eis); 01062 void sunGMFromBin( EndianIStream& eis); 01063 void loveNumberHFromBin( EndianIStream& eis); 01064 void loveNumberLFromBin( EndianIStream& eis); 01065 void precessionConstantFromBin( EndianIStream& eis); 01066 void lightTime1AUFromBin( EndianIStream& eis); 01067 void speedOfLightFromBin( EndianIStream& eis); 01068 void delayModelFlagsFromBin( EndianIStream& eis); 01069 01070 01078 static DelayModelFixedParametersRow* fromBin(EndianIStream& eis, DelayModelFixedParametersTable& table, const std::vector<std::string>& attributesSeq); 01079 01086 void fromText(const std::string& attributeName, const std::string& t); 01088 01089 private: 01093 DelayModelFixedParametersTable &table; 01097 bool hasBeenAdded; 01098 01099 // This method is used by the Table class when this row is added to the table. 01100 void isAdded(bool added); 01101 01102 01111 DelayModelFixedParametersRow (DelayModelFixedParametersTable &table); 01112 01130 DelayModelFixedParametersRow (DelayModelFixedParametersTable &table, DelayModelFixedParametersRow &row); 01131 01133 // Intrinsic Table Attributes // 01135 01136 01137 // ===> Attribute delayModelFixedParametersId 01138 01139 01140 01141 Tag delayModelFixedParametersId; 01142 01143 01144 01145 01155 void setDelayModelFixedParametersId (Tag delayModelFixedParametersId); 01156 01157 01158 01159 01160 // ===> Attribute delayModelVersion 01161 01162 01163 01164 string delayModelVersion; 01165 01166 01167 01168 01169 01170 01171 // ===> Attribute gaussConstant, which is optional 01172 01173 01174 bool gaussConstantExists; 01175 01176 01177 AngularRate gaussConstant; 01178 01179 01180 01181 01182 01183 01184 // ===> Attribute newtonianConstant, which is optional 01185 01186 01187 bool newtonianConstantExists; 01188 01189 01190 double newtonianConstant; 01191 01192 01193 01194 01195 01196 01197 // ===> Attribute gravity, which is optional 01198 01199 01200 bool gravityExists; 01201 01202 01203 double gravity; 01204 01205 01206 01207 01208 01209 01210 // ===> Attribute earthFlattening, which is optional 01211 01212 01213 bool earthFlatteningExists; 01214 01215 01216 double earthFlattening; 01217 01218 01219 01220 01221 01222 01223 // ===> Attribute earthRadius, which is optional 01224 01225 01226 bool earthRadiusExists; 01227 01228 01229 Length earthRadius; 01230 01231 01232 01233 01234 01235 01236 // ===> Attribute moonEarthMassRatio, which is optional 01237 01238 01239 bool moonEarthMassRatioExists; 01240 01241 01242 double moonEarthMassRatio; 01243 01244 01245 01246 01247 01248 01249 // ===> Attribute ephemerisEpoch, which is optional 01250 01251 01252 bool ephemerisEpochExists; 01253 01254 01255 string ephemerisEpoch; 01256 01257 01258 01259 01260 01261 01262 // ===> Attribute earthTideLag, which is optional 01263 01264 01265 bool earthTideLagExists; 01266 01267 01268 double earthTideLag; 01269 01270 01271 01272 01273 01274 01275 // ===> Attribute earthGM, which is optional 01276 01277 01278 bool earthGMExists; 01279 01280 01281 double earthGM; 01282 01283 01284 01285 01286 01287 01288 // ===> Attribute moonGM, which is optional 01289 01290 01291 bool moonGMExists; 01292 01293 01294 double moonGM; 01295 01296 01297 01298 01299 01300 01301 // ===> Attribute sunGM, which is optional 01302 01303 01304 bool sunGMExists; 01305 01306 01307 double sunGM; 01308 01309 01310 01311 01312 01313 01314 // ===> Attribute loveNumberH, which is optional 01315 01316 01317 bool loveNumberHExists; 01318 01319 01320 double loveNumberH; 01321 01322 01323 01324 01325 01326 01327 // ===> Attribute loveNumberL, which is optional 01328 01329 01330 bool loveNumberLExists; 01331 01332 01333 double loveNumberL; 01334 01335 01336 01337 01338 01339 01340 // ===> Attribute precessionConstant, which is optional 01341 01342 01343 bool precessionConstantExists; 01344 01345 01346 AngularRate precessionConstant; 01347 01348 01349 01350 01351 01352 01353 // ===> Attribute lightTime1AU, which is optional 01354 01355 01356 bool lightTime1AUExists; 01357 01358 01359 double lightTime1AU; 01360 01361 01362 01363 01364 01365 01366 // ===> Attribute speedOfLight, which is optional 01367 01368 01369 bool speedOfLightExists; 01370 01371 01372 Speed speedOfLight; 01373 01374 01375 01376 01377 01378 01379 // ===> Attribute delayModelFlags, which is optional 01380 01381 01382 bool delayModelFlagsExists; 01383 01384 01385 string delayModelFlags; 01386 01387 01388 01389 01390 01392 // Extrinsic Table Attributes // 01394 01395 01396 // ===> Attribute execBlockId 01397 01398 01399 01400 Tag execBlockId; 01401 01402 01403 01404 01405 01407 // Links // 01409 01410 01411 01412 01413 01414 01415 01416 01417 01418 /* 01420 // binary-deserialization material from an EndianIStream // 01422 std::map<std::string, DelayModelFixedParametersAttributeFromBin> fromBinMethods; 01423 void delayModelFixedParametersIdFromBin( EndianIStream& eis); 01424 void delayModelVersionFromBin( EndianIStream& eis); 01425 void execBlockIdFromBin( EndianIStream& eis); 01426 01427 void gaussConstantFromBin( EndianIStream& eis); 01428 void newtonianConstantFromBin( EndianIStream& eis); 01429 void gravityFromBin( EndianIStream& eis); 01430 void earthFlatteningFromBin( EndianIStream& eis); 01431 void earthRadiusFromBin( EndianIStream& eis); 01432 void moonEarthMassRatioFromBin( EndianIStream& eis); 01433 void ephemerisEpochFromBin( EndianIStream& eis); 01434 void earthTideLagFromBin( EndianIStream& eis); 01435 void earthGMFromBin( EndianIStream& eis); 01436 void moonGMFromBin( EndianIStream& eis); 01437 void sunGMFromBin( EndianIStream& eis); 01438 void loveNumberHFromBin( EndianIStream& eis); 01439 void loveNumberLFromBin( EndianIStream& eis); 01440 void precessionConstantFromBin( EndianIStream& eis); 01441 void lightTime1AUFromBin( EndianIStream& eis); 01442 void speedOfLightFromBin( EndianIStream& eis); 01443 void delayModelFlagsFromBin( EndianIStream& eis); 01444 01445 */ 01446 01448 // text-deserialization material // 01450 std::map<std::string, DelayModelFixedParametersAttributeFromText> fromTextMethods; 01451 01452 void delayModelFixedParametersIdFromText (const string & s); 01453 01454 01455 void delayModelVersionFromText (const string & s); 01456 01457 01458 void execBlockIdFromText (const string & s); 01459 01460 01461 01462 void gaussConstantFromText (const string & s); 01463 01464 01465 void newtonianConstantFromText (const string & s); 01466 01467 01468 void gravityFromText (const string & s); 01469 01470 01471 void earthFlatteningFromText (const string & s); 01472 01473 01474 void earthRadiusFromText (const string & s); 01475 01476 01477 void moonEarthMassRatioFromText (const string & s); 01478 01479 01480 void ephemerisEpochFromText (const string & s); 01481 01482 01483 void earthTideLagFromText (const string & s); 01484 01485 01486 void earthGMFromText (const string & s); 01487 01488 01489 void moonGMFromText (const string & s); 01490 01491 01492 void sunGMFromText (const string & s); 01493 01494 01495 void loveNumberHFromText (const string & s); 01496 01497 01498 void loveNumberLFromText (const string & s); 01499 01500 01501 void precessionConstantFromText (const string & s); 01502 01503 01504 void lightTime1AUFromText (const string & s); 01505 01506 01507 void speedOfLightFromText (const string & s); 01508 01509 01510 void delayModelFlagsFromText (const string & s); 01511 01512 01513 01518 void toBin(EndianOSStream& eoss); 01519 01529 }; 01530 01531 } // End namespace asdm 01532 01533 #endif /* DelayModelFixedParameters_CLASS */