00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef CalAtmosphereRow_CLASS
00035 #define CalAtmosphereRow_CLASS
00036
00037 #include <vector>
00038 #include <string>
00039 #include <set>
00040 using std::vector;
00041 using std::string;
00042 using std::set;
00043
00044 #ifndef WITHOUT_ACS
00045 #include <asdmIDLC.h>
00046 using asdmIDL::CalAtmosphereRowIDL;
00047 #endif
00048
00049 #include <Angle.h>
00050 #include <AngularRate.h>
00051 #include <ArrayTime.h>
00052 #include <ArrayTimeInterval.h>
00053 #include <Complex.h>
00054 #include <Entity.h>
00055 #include <EntityId.h>
00056 #include <EntityRef.h>
00057 #include <Flux.h>
00058 #include <Frequency.h>
00059 #include <Humidity.h>
00060 #include <Interval.h>
00061 #include <Length.h>
00062 #include <Pressure.h>
00063 #include <Speed.h>
00064 #include <Tag.h>
00065 #include <Temperature.h>
00066 #include <ConversionException.h>
00067 #include <NoSuchRow.h>
00068 #include <IllegalAccessException.h>
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089 #include "CPolarizationType.h"
00090 using namespace PolarizationTypeMod;
00091
00092
00093
00094
00095
00096
00097
00098 #include "CSyscalMethod.h"
00099 using namespace SyscalMethodMod;
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137 #include "CReceiverBand.h"
00138 using namespace ReceiverBandMod;
00139
00140
00141
00142
00143 using asdm::Angle;
00144 using asdm::AngularRate;
00145 using asdm::ArrayTime;
00146 using asdm::Complex;
00147 using asdm::Entity;
00148 using asdm::EntityId;
00149 using asdm::EntityRef;
00150 using asdm::Flux;
00151 using asdm::Frequency;
00152 using asdm::Humidity;
00153 using asdm::Interval;
00154 using asdm::Length;
00155 using asdm::Pressure;
00156 using asdm::Speed;
00157 using asdm::Tag;
00158 using asdm::Temperature;
00159 using asdm::ConversionException;
00160 using asdm::NoSuchRow;
00161 using asdm::IllegalAccessException;
00162
00163
00164
00165
00166
00167 namespace asdm {
00168
00169
00170
00171
00172
00173 class CalDataRow;
00174
00175
00176 class CalReductionRow;
00177
00178
00185 class CalAtmosphereRow {
00186 friend class asdm::CalAtmosphereTable;
00187
00188 public:
00189
00190 virtual ~CalAtmosphereRow();
00191
00195 CalAtmosphereTable &getTable() const;
00196
00197 #ifndef WITHOUT_ACS
00198
00202 CalAtmosphereRowIDL *toIDL() const;
00203 #endif
00204
00205 #ifndef WITHOUT_ACS
00206
00210 void setFromIDL (CalAtmosphereRowIDL x) throw(ConversionException);
00211 #endif
00212
00217 string toXML() const;
00218
00224 void setFromXML (string rowDoc) throw(ConversionException);
00225
00227
00229
00230
00231
00232
00233
00234
00235
00236
00241 string getAntennaName() const;
00242
00243
00244
00245
00252 void setAntennaName (string antennaName) throw(IllegalAccessException);
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00270 int getNumReceptor() const;
00271
00272
00273
00274
00280 void setNumReceptor (int numReceptor);
00281
00282
00283
00284
00285
00286
00287
00288
00289
00290
00291
00292
00293
00298 int getNumFreq() const;
00299
00300
00301
00302
00308 void setNumFreq (int numFreq);
00309
00310
00311
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321
00326 ArrayTime getEndValidTime() const;
00327
00328
00329
00330
00336 void setEndValidTime (ArrayTime endValidTime);
00337
00338
00339
00340
00341
00342
00343
00344
00345
00346
00347
00348
00349
00354 ArrayTime getStartValidTime() const;
00355
00356
00357
00358
00364 void setStartValidTime (ArrayTime startValidTime);
00365
00366
00367
00368
00369
00370
00371
00372
00373
00374
00375
00376
00377
00382 vector<PolarizationType > getPolarizationTypes() const;
00383
00384
00385
00386
00392 void setPolarizationTypes (vector<PolarizationType > polarizationTypes);
00393
00394
00395
00396
00397
00398
00399
00400
00401
00402
00403
00404
00405
00410 vector<Frequency > getFrequencyRange() const;
00411
00412
00413
00414
00420 void setFrequencyRange (vector<Frequency > frequencyRange);
00421
00422
00423
00424
00425
00426
00427
00428
00429
00430
00431
00432
00433
00438 vector<Frequency > getFrequencySpectrum() const;
00439
00440
00441
00442
00448 void setFrequencySpectrum (vector<Frequency > frequencySpectrum);
00449
00450
00451
00452
00453
00454
00455
00456
00457
00458
00459
00460
00461
00466 SyscalMethod getSyscalType() const;
00467
00468
00469
00470
00476 void setSyscalType (SyscalMethod syscalType);
00477
00478
00479
00480
00481
00482
00483
00484
00485
00486
00487
00488
00489
00494 vector<vector<Temperature > > getTSysSpectrum() const;
00495
00496
00497
00498
00504 void setTSysSpectrum (vector<vector<Temperature > > tSysSpectrum);
00505
00506
00507
00508
00509
00510
00511
00512
00513
00514
00515
00516
00517
00522 vector<vector<Temperature > > getTRecSpectrum() const;
00523
00524
00525
00526
00532 void setTRecSpectrum (vector<vector<Temperature > > tRecSpectrum);
00533
00534
00535
00536
00537
00538
00539
00540
00541
00542
00543
00544
00545
00550 vector<vector<Temperature > > getTAtmSpectrum() const;
00551
00552
00553
00554
00560 void setTAtmSpectrum (vector<vector<Temperature > > tAtmSpectrum);
00561
00562
00563
00564
00565
00566
00567
00568
00569
00570
00571
00572
00573
00578 vector<vector<float > > getTauSpectrum() const;
00579
00580
00581
00582
00588 void setTauSpectrum (vector<vector<float > > tauSpectrum);
00589
00590
00591
00592
00593
00594
00595
00596
00597
00598
00599
00600
00601
00606 vector<vector<float > > getSbGainSpectrum() const;
00607
00608
00609
00610
00616 void setSbGainSpectrum (vector<vector<float > > sbGainSpectrum);
00617
00618
00619
00620
00621
00622
00623
00624
00625
00626
00627
00628
00629
00634 vector<vector<float > > getForwardEffSpectrum() const;
00635
00636
00637
00638
00644 void setForwardEffSpectrum (vector<vector<float > > forwardEffSpectrum);
00645
00646
00647
00648
00649
00650
00651
00652
00653
00654
00655
00660 bool isTSysExists() const;
00661
00662
00663
00669 vector<Temperature > getTSys() const throw(IllegalAccessException);
00670
00671
00672
00673
00679 void setTSys (vector<Temperature > tSys);
00680
00681
00682
00683
00687 void clearTSys ();
00688
00689
00690
00691
00692
00693
00694
00695
00700 bool isTRecExists() const;
00701
00702
00703
00709 vector<Temperature > getTRec() const throw(IllegalAccessException);
00710
00711
00712
00713
00719 void setTRec (vector<Temperature > tRec);
00720
00721
00722
00723
00727 void clearTRec ();
00728
00729
00730
00731
00732
00733
00734
00735
00740 bool isTAtmExists() const;
00741
00742
00743
00749 vector<Temperature > getTAtm() const throw(IllegalAccessException);
00750
00751
00752
00753
00759 void setTAtm (vector<Temperature > tAtm);
00760
00761
00762
00763
00767 void clearTAtm ();
00768
00769
00770
00771
00772
00773
00774
00775
00780 bool isSbGainExists() const;
00781
00782
00783
00789 vector<float > getSbGain() const throw(IllegalAccessException);
00790
00791
00792
00793
00799 void setSbGain (vector<float > sbGain);
00800
00801
00802
00803
00807 void clearSbGain ();
00808
00809
00810
00811
00812
00813
00814
00815
00820 bool isWaterExists() const;
00821
00822
00823
00829 vector<Length > getWater() const throw(IllegalAccessException);
00830
00831
00832
00833
00839 void setWater (vector<Length > water);
00840
00841
00842
00843
00847 void clearWater ();
00848
00849
00850
00851
00852
00853
00854
00855
00860 bool isForwardEfficiencyExists() const;
00861
00862
00863
00869 vector<float > getForwardEfficiency() const throw(IllegalAccessException);
00870
00871
00872
00873
00879 void setForwardEfficiency (vector<float > forwardEfficiency);
00880
00881
00882
00883
00887 void clearForwardEfficiency ();
00888
00889
00890
00891
00892
00893
00894
00895
00900 bool isTauExists() const;
00901
00902
00903
00909 vector<float > getTau() const throw(IllegalAccessException);
00910
00911
00912
00913
00919 void setTau (vector<float > tau);
00920
00921
00922
00923
00927 void clearTau ();
00928
00929
00930
00931
00932
00933
00934
00935
00936
00937
00942 Pressure getGroundPressure() const;
00943
00944
00945
00946
00952 void setGroundPressure (Pressure groundPressure);
00953
00954
00955
00956
00957
00958
00959
00960
00961
00962
00963
00964
00965
00970 Temperature getGroundTemperature() const;
00971
00972
00973
00974
00980 void setGroundTemperature (Temperature groundTemperature);
00981
00982
00983
00984
00985
00986
00987
00988
00989
00990
00991
00992
00993
00998 Humidity getGroundRelHumidity() const;
00999
01000
01001
01002
01008 void setGroundRelHumidity (Humidity groundRelHumidity);
01009
01010
01011
01012
01013
01014
01015
01016
01017
01018
01019
01020
01021
01026 string getSubType() const;
01027
01028
01029
01030
01036 void setSubType (string subType);
01037
01038
01039
01040
01041
01042
01043
01044
01045
01046
01047
01048
01049
01054 ReceiverBand getReceiverBand() const;
01055
01056
01057
01058
01064 void setReceiverBand (ReceiverBand receiverBand);
01065
01066
01067
01068
01069
01070
01072
01074
01075
01076
01077
01078
01079
01080
01081
01086 Tag getCalDataId() const;
01087
01088
01089
01090
01097 void setCalDataId (Tag calDataId) throw(IllegalAccessException);
01098
01099
01100
01101
01102
01103
01104
01105
01106
01107
01108
01109
01110
01115 Tag getCalReductionId() const;
01116
01117
01118
01119
01126 void setCalReductionId (Tag calReductionId) throw(IllegalAccessException);
01127
01128
01129
01130
01131
01132
01134
01136
01137
01138
01139
01140
01147 CalDataRow* getCalDataUsingCalDataId();
01148
01149
01150
01151
01152
01153
01154
01155
01162 CalReductionRow* getCalReductionUsingCalReductionId();
01163
01164
01165
01166
01167
01168
01169
01174 bool compareNoAutoInc(Tag calDataId, Tag calReductionId, string antennaName, int numReceptor, int numFreq, ArrayTime endValidTime, ArrayTime startValidTime, vector<PolarizationType > polarizationTypes, vector<Frequency > frequencyRange, vector<Frequency > frequencySpectrum, SyscalMethod syscalType, vector<vector<Temperature > > tSysSpectrum, vector<vector<Temperature > > tRecSpectrum, vector<vector<Temperature > > tAtmSpectrum, vector<vector<float > > tauSpectrum, vector<vector<float > > sbGainSpectrum, vector<vector<float > > forwardEffSpectrum, Pressure groundPressure, Temperature groundTemperature, Humidity groundRelHumidity, string subType, ReceiverBand receiverBand);
01175
01176
01177
01178
01179 bool compareRequiredValue(int numReceptor, int numFreq, ArrayTime endValidTime, ArrayTime startValidTime, vector<PolarizationType > polarizationTypes, vector<Frequency > frequencyRange, vector<Frequency > frequencySpectrum, SyscalMethod syscalType, vector<vector<Temperature > > tSysSpectrum, vector<vector<Temperature > > tRecSpectrum, vector<vector<Temperature > > tAtmSpectrum, vector<vector<float > > tauSpectrum, vector<vector<float > > sbGainSpectrum, vector<vector<float > > forwardEffSpectrum, Pressure groundPressure, Temperature groundTemperature, Humidity groundRelHumidity, string subType, ReceiverBand receiverBand);
01180
01181
01190 bool equalByRequiredValue(CalAtmosphereRow* x) ;
01191
01192 private:
01196 CalAtmosphereTable &table;
01200 bool hasBeenAdded;
01201
01202
01203 void isAdded();
01204
01205
01214 CalAtmosphereRow (CalAtmosphereTable &table);
01215
01233 CalAtmosphereRow (CalAtmosphereTable &table, CalAtmosphereRow &row);
01234
01236
01238
01239
01240
01241
01242
01243
01244 string antennaName;
01245
01246
01247
01248
01249
01250
01251
01252
01253
01254
01255 int numReceptor;
01256
01257
01258
01259
01260
01261
01262
01263
01264
01265
01266 int numFreq;
01267
01268
01269
01270
01271
01272
01273
01274
01275
01276
01277 ArrayTime endValidTime;
01278
01279
01280
01281
01282
01283
01284
01285
01286
01287
01288 ArrayTime startValidTime;
01289
01290
01291
01292
01293
01294
01295
01296
01297
01298
01299 vector<PolarizationType > polarizationTypes;
01300
01301
01302
01303
01304
01305
01306
01307
01308
01309
01310 vector<Frequency > frequencyRange;
01311
01312
01313
01314
01315
01316
01317
01318
01319
01320
01321 vector<Frequency > frequencySpectrum;
01322
01323
01324
01325
01326
01327
01328
01329
01330
01331
01332 SyscalMethod syscalType;
01333
01334
01335
01336
01337
01338
01339
01340
01341
01342
01343 vector<vector<Temperature > > tSysSpectrum;
01344
01345
01346
01347
01348
01349
01350
01351
01352
01353
01354 vector<vector<Temperature > > tRecSpectrum;
01355
01356
01357
01358
01359
01360
01361
01362
01363
01364
01365 vector<vector<Temperature > > tAtmSpectrum;
01366
01367
01368
01369
01370
01371
01372
01373
01374
01375
01376 vector<vector<float > > tauSpectrum;
01377
01378
01379
01380
01381
01382
01383
01384
01385
01386
01387 vector<vector<float > > sbGainSpectrum;
01388
01389
01390
01391
01392
01393
01394
01395
01396
01397
01398 vector<vector<float > > forwardEffSpectrum;
01399
01400
01401
01402
01403
01404
01405
01406
01407
01408 bool tSysExists;
01409
01410
01411 vector<Temperature > tSys;
01412
01413
01414
01415
01416
01417
01418
01419
01420
01421 bool tRecExists;
01422
01423
01424 vector<Temperature > tRec;
01425
01426
01427
01428
01429
01430
01431
01432
01433
01434 bool tAtmExists;
01435
01436
01437 vector<Temperature > tAtm;
01438
01439
01440
01441
01442
01443
01444
01445
01446
01447 bool sbGainExists;
01448
01449
01450 vector<float > sbGain;
01451
01452
01453
01454
01455
01456
01457
01458
01459
01460 bool waterExists;
01461
01462
01463 vector<Length > water;
01464
01465
01466
01467
01468
01469
01470
01471
01472
01473 bool forwardEfficiencyExists;
01474
01475
01476 vector<float > forwardEfficiency;
01477
01478
01479
01480
01481
01482
01483
01484
01485
01486 bool tauExists;
01487
01488
01489 vector<float > tau;
01490
01491
01492
01493
01494
01495
01496
01497
01498
01499
01500 Pressure groundPressure;
01501
01502
01503
01504
01505
01506
01507
01508
01509
01510
01511 Temperature groundTemperature;
01512
01513
01514
01515
01516
01517
01518
01519
01520
01521
01522 Humidity groundRelHumidity;
01523
01524
01525
01526
01527
01528
01529
01530
01531
01532
01533 string subType;
01534
01535
01536
01537
01538
01539
01540
01541
01542
01543
01544 ReceiverBand receiverBand;
01545
01546
01547
01548
01549
01551
01553
01554
01555
01556
01557
01558
01559 Tag calDataId;
01560
01561
01562
01563
01564
01565
01566
01567
01568
01569
01570 Tag calReductionId;
01571
01572
01573
01574
01575
01577
01579
01580
01581
01582
01583
01584
01585
01586
01587
01588
01589
01590
01591
01592
01593
01594
01595 };
01596
01597 }
01598
01599 #endif