Go to the documentation of this file.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 CalPrimaryBeamTable_CLASS
00035 #define CalPrimaryBeamTable_CLASS
00036
00037 #include <string>
00038 #include <vector>
00039 #include <map>
00040 #include <set>
00041 using std::string;
00042 using std::vector;
00043 using std::map;
00044
00045
00046
00047 #include <ArrayTime.h>
00048 using asdm::ArrayTime;
00049
00050 #include <Tag.h>
00051 using asdm::Tag;
00052
00053 #include <Frequency.h>
00054 using asdm::Frequency;
00055
00056 #include <EntityRef.h>
00057 using asdm::EntityRef;
00058
00059
00060
00061
00062
00063
00064
00065 #include "CReceiverBand.h"
00066 using namespace ReceiverBandMod;
00067
00068
00069
00070
00071
00072
00073
00074 #include "CAntennaMake.h"
00075 using namespace AntennaMakeMod;
00076
00077
00078
00079
00080
00081
00082
00083 #include "CPolarizationType.h"
00084 using namespace PolarizationTypeMod;
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095 #include <ConversionException.h>
00096 #include <DuplicateKey.h>
00097 #include <UniquenessViolationException.h>
00098 #include <NoSuchRow.h>
00099 #include <DuplicateKey.h>
00100 using asdm::DuplicateKey;
00101 using asdm::ConversionException;
00102 using asdm::NoSuchRow;
00103 using asdm::DuplicateKey;
00104
00105 #ifndef WITHOUT_ACS
00106 #include <asdmIDLC.h>
00107 using asdmIDL::CalPrimaryBeamTableIDL;
00108 #endif
00109
00110 #include <Representable.h>
00111
00112 namespace asdm {
00113
00114
00115
00116
00117 class ASDM;
00118 class CalPrimaryBeamRow;
00242 class CalPrimaryBeamTable : public Representable {
00243 friend class ASDM;
00244
00245 public:
00246
00247
00253 static vector<string> getKeyName();
00254
00255
00256 virtual ~CalPrimaryBeamTable();
00257
00263 ASDM &getContainer() const;
00264
00270 unsigned int size() ;
00271
00277 string getName() const;
00278
00284 static const vector<string>& getAttributesNames();
00285
00289 Entity getEntity() const;
00290
00295 void setEntity(Entity e);
00296
00304 string toXML() ;
00305
00306 #ifndef WITHOUT_ACS
00307
00313 CalPrimaryBeamTableIDL *toIDL() ;
00314 #endif
00315
00316 #ifndef WITHOUT_ACS
00317
00323 void fromIDL(CalPrimaryBeamTableIDL x) ;
00324 #endif
00325
00326
00327
00328
00329
00334 CalPrimaryBeamRow *newRow();
00335
00336
00368 CalPrimaryBeamRow *newRow(string antennaName, ReceiverBandMod::ReceiverBand receiverBand, Tag calDataId, Tag calReductionId, ArrayTime startValidTime, ArrayTime endValidTime, AntennaMakeMod::AntennaMake antennaMake, vector<Frequency > frequencyRange, int numReceptor, vector<PolarizationTypeMod::PolarizationType > polarizationTypes, vector<double > mainBeamEfficiency, EntityRef beamMapUID, float relativeAmplitudeRms);
00369
00370
00371
00384 CalPrimaryBeamRow *newRow(CalPrimaryBeamRow *row);
00385
00386
00387
00388
00389
00390
00403 CalPrimaryBeamRow* add(CalPrimaryBeamRow* x) ;
00404
00405
00406
00407
00408
00409
00410
00411
00412
00418 vector<CalPrimaryBeamRow *> get() ;
00419
00420
00421
00422
00423
00439 CalPrimaryBeamRow* getRowByKey(string antennaName, ReceiverBandMod::ReceiverBand receiverBand, Tag calDataId, Tag calReductionId);
00440
00441
00442
00443
00444
00478 CalPrimaryBeamRow* lookup(string antennaName, ReceiverBandMod::ReceiverBand receiverBand, Tag calDataId, Tag calReductionId, ArrayTime startValidTime, ArrayTime endValidTime, AntennaMakeMod::AntennaMake antennaMake, vector<Frequency > frequencyRange, int numReceptor, vector<PolarizationTypeMod::PolarizationType > polarizationTypes, vector<double > mainBeamEfficiency, EntityRef beamMapUID, float relativeAmplitudeRms);
00479
00480
00481 private:
00482
00491 CalPrimaryBeamTable (ASDM & container);
00492
00493 ASDM & container;
00494
00495 bool archiveAsBin;
00496 bool fileAsBin ;
00497
00498 Entity entity;
00499
00500
00501
00505 static string tableName;
00506
00510 static const vector<string> attributesNames;
00511
00515 static vector<string> initAttributesNames();
00516
00517
00521 static vector<string> key;
00522
00523
00531 CalPrimaryBeamRow* checkAndAdd(CalPrimaryBeamRow* x) ;
00532
00533
00534
00535
00536
00537
00538 vector<CalPrimaryBeamRow * > privateRows;
00539
00540
00541
00542 vector<CalPrimaryBeamRow *> row;
00543
00544
00545 void error() ;
00546
00547
00554 void fromXML(string xmlDoc) ;
00555
00560 void setFromMIMEFile(const string& directory);
00561 void setFromXMLFile(const string& directory);
00562
00570 string toMIME(const asdm::ByteOrder* byteOrder=asdm::ByteOrder::Machine_Endianity);
00571
00572
00579 void setFromMIME(const string & mimeMsg);
00580
00584 string MIMEXMLPart(const asdm::ByteOrder* byteOrder=asdm::ByteOrder::Machine_Endianity);
00585
00595 void toFile(string directory);
00596
00605 void setFromFile(const string& directory);
00606
00607 };
00608
00609 }
00610
00611 #endif