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 CalAppPhaseRow_CLASS
00035 #define CalAppPhaseRow_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 <Tag.h>
00056
00057
00058
00059
00060
00061
00062 #include "CBasebandName.h"
00063
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
00110
00111
00112
00113
00114
00115
00116
00117 #include <ConversionException.h>
00118 #include <NoSuchRow.h>
00119 #include <IllegalAccessException.h>
00120
00121 #include <RowTransformer.h>
00122
00123
00124
00125
00126
00127
00128 namespace asdm {
00129
00130
00131
00132
00133
00134 class CalDataRow;
00135
00136
00137 class CalReductionRow;
00138
00139
00140 class CalAppPhaseRow;
00141 typedef void (CalAppPhaseRow::*CalAppPhaseAttributeFromBin) (EndianIStream& eis);
00142 typedef void (CalAppPhaseRow::*CalAppPhaseAttributeFromText) (const string& s);
00143
00150 class CalAppPhaseRow {
00151 friend class asdm::CalAppPhaseTable;
00152 friend class asdm::RowTransformer<CalAppPhaseRow>;
00153
00154
00155 public:
00156
00157 virtual ~CalAppPhaseRow();
00158
00162 CalAppPhaseTable &getTable() const;
00163
00168 bool isAdded() const;
00169
00171
00173
00174
00175
00176
00177
00178
00179
00180
00185 BasebandNameMod::BasebandName getBasebandName() const;
00186
00187
00188
00189
00199 void setBasebandName (BasebandNameMod::BasebandName basebandName);
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00217 int getScanNumber() const;
00218
00219
00220
00221
00231 void setScanNumber (int scanNumber);
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243
00244
00249 ArrayTime getStartValidTime() const;
00250
00251
00252
00253
00261 void setStartValidTime (ArrayTime startValidTime);
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00279 ArrayTime getEndValidTime() const;
00280
00281
00282
00283
00291 void setEndValidTime (ArrayTime endValidTime);
00292
00293
00294
00295
00296
00297
00298
00299
00300
00301
00302
00303
00304
00309 ArrayTime getAdjustTime() const;
00310
00311
00312
00313
00321 void setAdjustTime (ArrayTime adjustTime);
00322
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332
00333
00334
00339 string getAdjustToken() const;
00340
00341
00342
00343
00351 void setAdjustToken (string adjustToken);
00352
00353
00354
00355
00356
00357
00358
00359
00360
00361
00362
00363
00364
00369 string getPhasingMode() const;
00370
00371
00372
00373
00381 void setPhasingMode (string phasingMode);
00382
00383
00384
00385
00386
00387
00388
00389
00390
00391
00392
00393
00394
00399 int getNumPhasedAntennas() const;
00400
00401
00402
00403
00411 void setNumPhasedAntennas (int numPhasedAntennas);
00412
00413
00414
00415
00416
00417
00418
00419
00420
00421
00422
00423
00424
00429 vector<string > getPhasedAntennas() const;
00430
00431
00432
00433
00441 void setPhasedAntennas (vector<string > phasedAntennas);
00442
00443
00444
00445
00446
00447
00448
00449
00450
00451
00452
00453
00454
00459 int getRefAntennaIndex() const;
00460
00461
00462
00463
00471 void setRefAntennaIndex (int refAntennaIndex);
00472
00473
00474
00475
00476
00477
00478
00479
00480
00481
00482
00483
00484
00489 int getCandRefAntennaIndex() const;
00490
00491
00492
00493
00501 void setCandRefAntennaIndex (int candRefAntennaIndex);
00502
00503
00504
00505
00506
00507
00508
00509
00510
00511
00512
00513
00514
00519 string getPhasePacking() const;
00520
00521
00522
00523
00531 void setPhasePacking (string phasePacking);
00532
00533
00534
00535
00536
00537
00538
00539
00540
00541
00542
00543
00544
00549 int getNumReceptors() const;
00550
00551
00552
00553
00561 void setNumReceptors (int numReceptors);
00562
00563
00564
00565
00566
00567
00568
00569
00570
00571
00572
00573
00574
00579 int getNumChannels() const;
00580
00581
00582
00583
00591 void setNumChannels (int numChannels);
00592
00593
00594
00595
00596
00597
00598
00599
00600
00601
00602
00603
00604
00609 int getNumPhaseValues() const;
00610
00611
00612
00613
00621 void setNumPhaseValues (int numPhaseValues);
00622
00623
00624
00625
00626
00627
00628
00629
00630
00631
00632
00633
00634
00639 vector<float > getPhaseValues() const;
00640
00641
00642
00643
00651 void setPhaseValues (vector<float > phaseValues);
00652
00653
00654
00655
00656
00657
00658
00659
00660
00661
00662
00663
00664
00669 int getNumCompare() const;
00670
00671
00672
00673
00681 void setNumCompare (int numCompare);
00682
00683
00684
00685
00686
00687
00688
00689
00690
00691
00692
00693
00694
00699 int getNumEfficiencies() const;
00700
00701
00702
00703
00711 void setNumEfficiencies (int numEfficiencies);
00712
00713
00714
00715
00716
00717
00718
00719
00720
00721
00722
00723
00724
00729 vector<string > getCompareArray() const;
00730
00731
00732
00733
00741 void setCompareArray (vector<string > compareArray);
00742
00743
00744
00745
00746
00747
00748
00749
00750
00751
00752
00753
00754
00759 vector<int > getEfficiencyIndices() const;
00760
00761
00762
00763
00771 void setEfficiencyIndices (vector<int > efficiencyIndices);
00772
00773
00774
00775
00776
00777
00778
00779
00780
00781
00782
00783
00784
00789 vector<vector<float > > getEfficiencies() const;
00790
00791
00792
00793
00801 void setEfficiencies (vector<vector<float > > efficiencies);
00802
00803
00804
00805
00806
00807
00808
00809
00810
00811
00812
00813
00814
00819 vector<float > getQuality() const;
00820
00821
00822
00823
00831 void setQuality (vector<float > quality);
00832
00833
00834
00835
00836
00837
00838
00839
00840
00841
00842
00843
00844
00849 string getPhasedSumAntenna() const;
00850
00851
00852
00853
00861 void setPhasedSumAntenna (string phasedSumAntenna);
00862
00863
00864
00865
00866
00867
00868
00869
00870
00871
00872
00877 bool isTypeSupportsExists() const;
00878
00879
00880
00886 string getTypeSupports() const;
00887
00888
00889
00890
00897 void setTypeSupports (string typeSupports);
00898
00899
00900
00901
00905 void clearTypeSupports ();
00906
00907
00908
00909
00910
00911
00912
00913
00918 bool isNumSupportsExists() const;
00919
00920
00921
00927 int getNumSupports() const;
00928
00929
00930
00931
00938 void setNumSupports (int numSupports);
00939
00940
00941
00942
00946 void clearNumSupports ();
00947
00948
00949
00950
00951
00952
00953
00954
00959 bool isPhaseSupportsExists() const;
00960
00961
00962
00968 vector<float > getPhaseSupports() const;
00969
00970
00971
00972
00979 void setPhaseSupports (vector<float > phaseSupports);
00980
00981
00982
00983
00987 void clearPhaseSupports ();
00988
00989
00990
00992
00994
00995
00996
00997
00998
00999
01000
01001
01006 Tag getCalDataId() const;
01007
01008
01009
01010
01020 void setCalDataId (Tag calDataId);
01021
01022
01023
01024
01025
01026
01027
01028
01029
01030
01031
01032
01033
01038 Tag getCalReductionId() const;
01039
01040
01041
01042
01052 void setCalReductionId (Tag calReductionId);
01053
01054
01055
01056
01057
01058
01060
01062
01063
01064
01065
01066
01073 CalDataRow* getCalDataUsingCalDataId();
01074
01075
01076
01077
01078
01079
01080
01081
01088 CalReductionRow* getCalReductionUsingCalReductionId();
01089
01090
01091
01092
01093
01094
01095
01151 bool compareNoAutoInc(BasebandNameMod::BasebandName basebandName, int scanNumber, Tag calDataId, Tag calReductionId, ArrayTime startValidTime, ArrayTime endValidTime, ArrayTime adjustTime, string adjustToken, string phasingMode, int numPhasedAntennas, vector<string > phasedAntennas, int refAntennaIndex, int candRefAntennaIndex, string phasePacking, int numReceptors, int numChannels, int numPhaseValues, vector<float > phaseValues, int numCompare, int numEfficiencies, vector<string > compareArray, vector<int > efficiencyIndices, vector<vector<float > > efficiencies, vector<float > quality, string phasedSumAntenna);
01152
01153
01154
01155
01203 bool compareRequiredValue(ArrayTime startValidTime, ArrayTime endValidTime, ArrayTime adjustTime, string adjustToken, string phasingMode, int numPhasedAntennas, vector<string > phasedAntennas, int refAntennaIndex, int candRefAntennaIndex, string phasePacking, int numReceptors, int numChannels, int numPhaseValues, vector<float > phaseValues, int numCompare, int numEfficiencies, vector<string > compareArray, vector<int > efficiencyIndices, vector<vector<float > > efficiencies, vector<float > quality, string phasedSumAntenna);
01204
01205
01214 bool equalByRequiredValue(CalAppPhaseRow* x) ;
01215
01216 #ifndef WITHOUT_ACS
01217
01221 asdmIDL::CalAppPhaseRowIDL *toIDL() const;
01222
01230 void toIDL(asdmIDL::CalAppPhaseRowIDL& x) const;
01231 #endif
01232
01233 #ifndef WITHOUT_ACS
01234
01239 void setFromIDL (asdmIDL::CalAppPhaseRowIDL x) ;
01240 #endif
01241
01246 std::string toXML() const;
01247
01254 void setFromXML (std::string rowDoc) ;
01255
01258
01260
01261 std::map<std::string, CalAppPhaseAttributeFromBin> fromBinMethods;
01262 void basebandNameFromBin( EndianIStream& eis);
01263 void scanNumberFromBin( EndianIStream& eis);
01264 void calDataIdFromBin( EndianIStream& eis);
01265 void calReductionIdFromBin( EndianIStream& eis);
01266 void startValidTimeFromBin( EndianIStream& eis);
01267 void endValidTimeFromBin( EndianIStream& eis);
01268 void adjustTimeFromBin( EndianIStream& eis);
01269 void adjustTokenFromBin( EndianIStream& eis);
01270 void phasingModeFromBin( EndianIStream& eis);
01271 void numPhasedAntennasFromBin( EndianIStream& eis);
01272 void phasedAntennasFromBin( EndianIStream& eis);
01273 void refAntennaIndexFromBin( EndianIStream& eis);
01274 void candRefAntennaIndexFromBin( EndianIStream& eis);
01275 void phasePackingFromBin( EndianIStream& eis);
01276 void numReceptorsFromBin( EndianIStream& eis);
01277 void numChannelsFromBin( EndianIStream& eis);
01278 void numPhaseValuesFromBin( EndianIStream& eis);
01279 void phaseValuesFromBin( EndianIStream& eis);
01280 void numCompareFromBin( EndianIStream& eis);
01281 void numEfficienciesFromBin( EndianIStream& eis);
01282 void compareArrayFromBin( EndianIStream& eis);
01283 void efficiencyIndicesFromBin( EndianIStream& eis);
01284 void efficienciesFromBin( EndianIStream& eis);
01285 void qualityFromBin( EndianIStream& eis);
01286 void phasedSumAntennaFromBin( EndianIStream& eis);
01287
01288 void typeSupportsFromBin( EndianIStream& eis);
01289 void numSupportsFromBin( EndianIStream& eis);
01290 void phaseSupportsFromBin( EndianIStream& eis);
01291
01292
01300 static CalAppPhaseRow* fromBin(EndianIStream& eis, CalAppPhaseTable& table, const std::vector<std::string>& attributesSeq);
01301
01308 void fromText(const std::string& attributeName, const std::string& t);
01310
01311 private:
01315 CalAppPhaseTable &table;
01319 bool hasBeenAdded;
01320
01321
01322 void isAdded(bool added);
01323
01324
01333 CalAppPhaseRow (CalAppPhaseTable &table);
01334
01352 CalAppPhaseRow (CalAppPhaseTable &table, CalAppPhaseRow &row);
01353
01355
01357
01358
01359
01360
01361
01362
01363 BasebandNameMod::BasebandName basebandName;
01364
01365
01366
01367
01368
01369
01370
01371
01372
01373
01374 int scanNumber;
01375
01376
01377
01378
01379
01380
01381
01382
01383
01384
01385 ArrayTime startValidTime;
01386
01387
01388
01389
01390
01391
01392
01393
01394
01395
01396 ArrayTime endValidTime;
01397
01398
01399
01400
01401
01402
01403
01404
01405
01406
01407 ArrayTime adjustTime;
01408
01409
01410
01411
01412
01413
01414
01415
01416
01417
01418 string adjustToken;
01419
01420
01421
01422
01423
01424
01425
01426
01427
01428
01429 string phasingMode;
01430
01431
01432
01433
01434
01435
01436
01437
01438
01439
01440 int numPhasedAntennas;
01441
01442
01443
01444
01445
01446
01447
01448
01449
01450
01451 vector<string > phasedAntennas;
01452
01453
01454
01455
01456
01457
01458
01459
01460
01461
01462 int refAntennaIndex;
01463
01464
01465
01466
01467
01468
01469
01470
01471
01472
01473 int candRefAntennaIndex;
01474
01475
01476
01477
01478
01479
01480
01481
01482
01483
01484 string phasePacking;
01485
01486
01487
01488
01489
01490
01491
01492
01493
01494
01495 int numReceptors;
01496
01497
01498
01499
01500
01501
01502
01503
01504
01505
01506 int numChannels;
01507
01508
01509
01510
01511
01512
01513
01514
01515
01516
01517 int numPhaseValues;
01518
01519
01520
01521
01522
01523
01524
01525
01526
01527
01528 vector<float > phaseValues;
01529
01530
01531
01532
01533
01534
01535
01536
01537
01538
01539 int numCompare;
01540
01541
01542
01543
01544
01545
01546
01547
01548
01549
01550 int numEfficiencies;
01551
01552
01553
01554
01555
01556
01557
01558
01559
01560
01561 vector<string > compareArray;
01562
01563
01564
01565
01566
01567
01568
01569
01570
01571
01572 vector<int > efficiencyIndices;
01573
01574
01575
01576
01577
01578
01579
01580
01581
01582
01583 vector<vector<float > > efficiencies;
01584
01585
01586
01587
01588
01589
01590
01591
01592
01593
01594 vector<float > quality;
01595
01596
01597
01598
01599
01600
01601
01602
01603
01604
01605 string phasedSumAntenna;
01606
01607
01608
01609
01610
01611
01612
01613
01614
01615 bool typeSupportsExists;
01616
01617
01618 string typeSupports;
01619
01620
01621
01622
01623
01624
01625
01626
01627
01628 bool numSupportsExists;
01629
01630
01631 int numSupports;
01632
01633
01634
01635
01636
01637
01638
01639
01640
01641 bool phaseSupportsExists;
01642
01643
01644 vector<float > phaseSupports;
01645
01646
01647
01648
01649
01651
01653
01654
01655
01656
01657
01658
01659 Tag calDataId;
01660
01661
01662
01663
01664
01665
01666
01667
01668
01669
01670 Tag calReductionId;
01671
01672
01673
01674
01675
01677
01679
01680
01681
01682
01683
01684
01685
01686
01687
01688
01689
01690
01691
01692
01693
01694
01695
01697
01699
01700
01701
01702
01703
01704
01705
01706
01707
01708
01709
01710
01711
01712
01713
01714
01715
01716
01717
01718
01719
01720
01721
01722
01723
01724
01725
01726
01727
01728
01729
01730
01731
01733
01735 std::map<std::string, CalAppPhaseAttributeFromText> fromTextMethods;
01736
01737 void basebandNameFromText (const string & s);
01738
01739
01740 void scanNumberFromText (const string & s);
01741
01742
01743 void calDataIdFromText (const string & s);
01744
01745
01746 void calReductionIdFromText (const string & s);
01747
01748
01749 void startValidTimeFromText (const string & s);
01750
01751
01752 void endValidTimeFromText (const string & s);
01753
01754
01755 void adjustTimeFromText (const string & s);
01756
01757
01758 void adjustTokenFromText (const string & s);
01759
01760
01761 void phasingModeFromText (const string & s);
01762
01763
01764 void numPhasedAntennasFromText (const string & s);
01765
01766
01767 void phasedAntennasFromText (const string & s);
01768
01769
01770 void refAntennaIndexFromText (const string & s);
01771
01772
01773 void candRefAntennaIndexFromText (const string & s);
01774
01775
01776 void phasePackingFromText (const string & s);
01777
01778
01779 void numReceptorsFromText (const string & s);
01780
01781
01782 void numChannelsFromText (const string & s);
01783
01784
01785 void numPhaseValuesFromText (const string & s);
01786
01787
01788 void phaseValuesFromText (const string & s);
01789
01790
01791 void numCompareFromText (const string & s);
01792
01793
01794 void numEfficienciesFromText (const string & s);
01795
01796
01797 void compareArrayFromText (const string & s);
01798
01799
01800 void efficiencyIndicesFromText (const string & s);
01801
01802
01803 void efficienciesFromText (const string & s);
01804
01805
01806 void qualityFromText (const string & s);
01807
01808
01809 void phasedSumAntennaFromText (const string & s);
01810
01811
01812
01813 void typeSupportsFromText (const string & s);
01814
01815
01816 void numSupportsFromText (const string & s);
01817
01818
01819 void phaseSupportsFromText (const string & s);
01820
01821
01822
01827 void toBin(EndianOSStream& eoss);
01828
01838 };
01839
01840 }
01841
01842 #endif