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 CalSeeingRow_CLASS
00035 #define CalSeeingRow_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::CalSeeingRowIDL;
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
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102 using asdm::Angle;
00103 using asdm::AngularRate;
00104 using asdm::ArrayTime;
00105 using asdm::Complex;
00106 using asdm::Entity;
00107 using asdm::EntityId;
00108 using asdm::EntityRef;
00109 using asdm::Flux;
00110 using asdm::Frequency;
00111 using asdm::Humidity;
00112 using asdm::Interval;
00113 using asdm::Length;
00114 using asdm::Pressure;
00115 using asdm::Speed;
00116 using asdm::Tag;
00117 using asdm::Temperature;
00118 using asdm::ConversionException;
00119 using asdm::NoSuchRow;
00120 using asdm::IllegalAccessException;
00121
00122
00123
00124
00125
00126 namespace asdm {
00127
00128
00129
00130
00131
00132 class CalReductionRow;
00133
00134
00135 class CalDataRow;
00136
00137
00144 class CalSeeingRow {
00145 friend class asdm::CalSeeingTable;
00146
00147 public:
00148
00149 virtual ~CalSeeingRow();
00150
00154 CalSeeingTable &getTable() const;
00155
00156 #ifndef WITHOUT_ACS
00157
00161 CalSeeingRowIDL *toIDL() const;
00162 #endif
00163
00164 #ifndef WITHOUT_ACS
00165
00169 void setFromIDL (CalSeeingRowIDL x) throw(ConversionException);
00170 #endif
00171
00176 string toXML() const;
00177
00183 void setFromXML (string rowDoc) throw(ConversionException);
00184
00186
00188
00189
00190
00191
00192
00193
00194
00195
00200 int getNumBaseLength() const;
00201
00202
00203
00204
00210 void setNumBaseLength (int numBaseLength);
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00228 ArrayTime getStartValidTime() const;
00229
00230
00231
00232
00238 void setStartValidTime (ArrayTime startValidTime);
00239
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00256 ArrayTime getEndValidTime() const;
00257
00258
00259
00260
00266 void setEndValidTime (ArrayTime endValidTime);
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276
00277
00278
00279
00284 vector<Frequency > getFrequencyRange() const;
00285
00286
00287
00288
00294 void setFrequencyRange (vector<Frequency > frequencyRange);
00295
00296
00297
00298
00299
00300
00301
00302
00303
00304
00305
00306
00307
00312 vector<Length > getBaseLength() const;
00313
00314
00315
00316
00322 void setBaseLength (vector<Length > baseLength);
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332
00333
00334
00335
00340 vector<Angle > getCorrPhaseRms() const;
00341
00342
00343
00344
00350 void setCorrPhaseRms (vector<Angle > corrPhaseRms);
00351
00352
00353
00354
00355
00356
00357
00358
00359
00360
00361
00362
00363
00368 vector<Angle > getUncorrPhaseRms() const;
00369
00370
00371
00372
00378 void setUncorrPhaseRms (vector<Angle > uncorrPhaseRms);
00379
00380
00381
00382
00383
00384
00385
00386
00387
00388
00389
00390
00391
00396 Angle getSeeing() const;
00397
00398
00399
00400
00406 void setSeeing (Angle seeing);
00407
00408
00409
00410
00411
00412
00413
00414
00415
00416
00417
00418
00419
00424 Frequency getSeeingFrequency() const;
00425
00426
00427
00428
00434 void setSeeingFrequency (Frequency seeingFrequency);
00435
00436
00437
00438
00439
00440
00441
00442
00443
00444
00445
00446
00447
00452 Frequency getSeeingFreqBandwidth() const;
00453
00454
00455
00456
00462 void setSeeingFreqBandwidth (Frequency seeingFreqBandwidth);
00463
00464
00465
00466
00467
00468
00469
00470
00471
00472
00473
00478 bool isExponentExists() const;
00479
00480
00481
00487 float getExponent() const throw(IllegalAccessException);
00488
00489
00490
00491
00497 void setExponent (float exponent);
00498
00499
00500
00501
00505 void clearExponent ();
00506
00507
00508
00510
00512
00513
00514
00515
00516
00517
00518
00519
00524 Tag getCalDataId() const;
00525
00526
00527
00528
00535 void setCalDataId (Tag calDataId) throw(IllegalAccessException);
00536
00537
00538
00539
00540
00541
00542
00543
00544
00545
00546
00547
00548
00553 Tag getCalReductionId() const;
00554
00555
00556
00557
00564 void setCalReductionId (Tag calReductionId) throw(IllegalAccessException);
00565
00566
00567
00568
00569
00570
00572
00574
00575
00576
00577
00578
00585 CalReductionRow* getCalReductionUsingCalReductionId();
00586
00587
00588
00589
00590
00591
00592
00593
00600 CalDataRow* getCalDataUsingCalDataId();
00601
00602
00603
00604
00605
00606
00607
00612 bool compareNoAutoInc(Tag calDataId, Tag calReductionId, int numBaseLength, ArrayTime startValidTime, ArrayTime endValidTime, vector<Frequency > frequencyRange, vector<Length > baseLength, vector<Angle > corrPhaseRms, vector<Angle > uncorrPhaseRms, Angle seeing, Frequency seeingFrequency, Frequency seeingFreqBandwidth);
00613
00614
00615
00616
00617 bool compareRequiredValue(int numBaseLength, ArrayTime startValidTime, ArrayTime endValidTime, vector<Frequency > frequencyRange, vector<Length > baseLength, vector<Angle > corrPhaseRms, vector<Angle > uncorrPhaseRms, Angle seeing, Frequency seeingFrequency, Frequency seeingFreqBandwidth);
00618
00619
00628 bool equalByRequiredValue(CalSeeingRow* x) ;
00629
00630 private:
00634 CalSeeingTable &table;
00638 bool hasBeenAdded;
00639
00640
00641 void isAdded();
00642
00643
00652 CalSeeingRow (CalSeeingTable &table);
00653
00671 CalSeeingRow (CalSeeingTable &table, CalSeeingRow &row);
00672
00674
00676
00677
00678
00679
00680
00681
00682 int numBaseLength;
00683
00684
00685
00686
00687
00688
00689
00690
00691
00692
00693 ArrayTime startValidTime;
00694
00695
00696
00697
00698
00699
00700
00701
00702
00703
00704 ArrayTime endValidTime;
00705
00706
00707
00708
00709
00710
00711
00712
00713
00714
00715 vector<Frequency > frequencyRange;
00716
00717
00718
00719
00720
00721
00722
00723
00724
00725
00726 vector<Length > baseLength;
00727
00728
00729
00730
00731
00732
00733
00734
00735
00736
00737 vector<Angle > corrPhaseRms;
00738
00739
00740
00741
00742
00743
00744
00745
00746
00747
00748 vector<Angle > uncorrPhaseRms;
00749
00750
00751
00752
00753
00754
00755
00756
00757
00758
00759 Angle seeing;
00760
00761
00762
00763
00764
00765
00766
00767
00768
00769
00770 Frequency seeingFrequency;
00771
00772
00773
00774
00775
00776
00777
00778
00779
00780
00781 Frequency seeingFreqBandwidth;
00782
00783
00784
00785
00786
00787
00788
00789
00790
00791 bool exponentExists;
00792
00793
00794 float exponent;
00795
00796
00797
00798
00799
00801
00803
00804
00805
00806
00807
00808
00809 Tag calDataId;
00810
00811
00812
00813
00814
00815
00816
00817
00818
00819
00820 Tag calReductionId;
00821
00822
00823
00824
00825
00827
00829
00830
00831
00832
00833
00834
00835
00836
00837
00838
00839
00840
00841
00842
00843
00844
00845 };
00846
00847 }
00848
00849 #endif