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 AlmaCorrelatorModeRow_CLASS
00035 #define AlmaCorrelatorModeRow_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::AlmaCorrelatorModeRowIDL;
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 using asdm::Angle;
00076 using asdm::AngularRate;
00077 using asdm::ArrayTime;
00078 using asdm::Complex;
00079 using asdm::Entity;
00080 using asdm::EntityId;
00081 using asdm::EntityRef;
00082 using asdm::Flux;
00083 using asdm::Frequency;
00084 using asdm::Humidity;
00085 using asdm::Interval;
00086 using asdm::Length;
00087 using asdm::Pressure;
00088 using asdm::Speed;
00089 using asdm::Tag;
00090 using asdm::Temperature;
00091 using asdm::ConversionException;
00092 using asdm::NoSuchRow;
00093 using asdm::IllegalAccessException;
00094
00095
00096
00097
00098
00099 namespace asdm {
00100
00101
00102
00103
00104
00111 class AlmaCorrelatorModeRow {
00112 friend class asdm::AlmaCorrelatorModeTable;
00113
00114 public:
00115
00116 virtual ~AlmaCorrelatorModeRow();
00117
00121 AlmaCorrelatorModeTable &getTable() const;
00122
00123 #ifndef WITHOUT_ACS
00124
00128 AlmaCorrelatorModeRowIDL *toIDL() const;
00129 #endif
00130
00131 #ifndef WITHOUT_ACS
00132
00136 void setFromIDL (AlmaCorrelatorModeRowIDL x) throw(ConversionException);
00137 #endif
00138
00143 string toXML() const;
00144
00150 void setFromXML (string rowDoc) throw(ConversionException);
00151
00153
00155
00156
00157
00158
00159
00160
00161
00162
00167 Tag getAlmaCorrelatorModeId() const;
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00187 int getNumBaseband() const;
00188
00189
00190
00191
00197 void setNumBaseband (int numBaseband);
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00215 vector<int > getBasebandIndex() const;
00216
00217
00218
00219
00225 void setBasebandIndex (vector<int > basebandIndex);
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00243 Interval getAccumMode() const;
00244
00245
00246
00247
00253 void setAccumMode (Interval accumMode);
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00271 vector<int > getBasebandConfig() const;
00272
00273
00274
00275
00281 void setBasebandConfig (vector<int > basebandConfig);
00282
00283
00284
00285
00286
00287
00288
00289
00290
00291
00292
00293
00294
00299 int getBinMode() const;
00300
00301
00302
00303
00309 void setBinMode (int binMode);
00310
00311
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321
00322
00327 bool getQuantization() const;
00328
00329
00330
00331
00337 void setQuantization (bool quantization);
00338
00339
00340
00341
00342
00343
00344
00345
00346
00347
00348
00349
00350
00355 string getWindowFunction() const;
00356
00357
00358
00359
00365 void setWindowFunction (string windowFunction);
00366
00367
00368
00369
00370
00371
00372
00373
00374
00375
00376
00377
00378
00383 vector<int > getAxesOrderArray() const;
00384
00385
00386
00387
00393 void setAxesOrderArray (vector<int > axesOrderArray);
00394
00395
00396
00397
00398
00399
00401
00403
00405
00407
00408
00409
00410
00415 bool compareNoAutoInc(int numBaseband, vector<int > basebandIndex, Interval accumMode, vector<int > basebandConfig, int binMode, bool quantization, string windowFunction, vector<int > axesOrderArray);
00416
00417
00418
00419
00420 bool compareRequiredValue(int numBaseband, vector<int > basebandIndex, Interval accumMode, vector<int > basebandConfig, int binMode, bool quantization, string windowFunction, vector<int > axesOrderArray);
00421
00422
00431 bool equalByRequiredValue(AlmaCorrelatorModeRow* x) ;
00432
00433 private:
00437 AlmaCorrelatorModeTable &table;
00441 bool hasBeenAdded;
00442
00443
00444 void isAdded();
00445
00446
00455 AlmaCorrelatorModeRow (AlmaCorrelatorModeTable &table);
00456
00474 AlmaCorrelatorModeRow (AlmaCorrelatorModeTable &table, AlmaCorrelatorModeRow &row);
00475
00477
00479
00480
00481
00482
00483
00484
00485 Tag almaCorrelatorModeId;
00486
00487
00488
00489
00496 void setAlmaCorrelatorModeId (Tag almaCorrelatorModeId) throw(IllegalAccessException);
00497
00498
00499
00500
00501
00502
00503
00504
00505 int numBaseband;
00506
00507
00508
00509
00510
00511
00512
00513
00514
00515
00516 vector<int > basebandIndex;
00517
00518
00519
00520
00521
00522
00523
00524
00525
00526
00527 Interval accumMode;
00528
00529
00530
00531
00532
00533
00534
00535
00536
00537
00538 vector<int > basebandConfig;
00539
00540
00541
00542
00543
00544
00545
00546
00547
00548
00549 int binMode;
00550
00551
00552
00553
00554
00555
00556
00557
00558
00559
00560 bool quantization;
00561
00562
00563
00564
00565
00566
00567
00568
00569
00570
00571 string windowFunction;
00572
00573
00574
00575
00576
00577
00578
00579
00580
00581
00582 vector<int > axesOrderArray;
00583
00584
00585
00586
00587
00589
00591
00593
00595
00596
00597 };
00598
00599 }
00600
00601 #endif