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 CalAmpliTable_CLASS
00035 #define CalAmpliTable_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
00057
00058
00059
00060
00061
00062 #include "CAtmPhaseCorrection.h"
00063 using namespace AtmPhaseCorrectionMod;
00064
00065
00066
00067 #include "CReceiverBand.h"
00068 using namespace ReceiverBandMod;
00069
00070
00071
00072
00073
00074 #include "CPolarizationType.h"
00075 using namespace PolarizationTypeMod;
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092 #include <ConversionException.h>
00093 #include <DuplicateKey.h>
00094 #include <UniquenessViolationException.h>
00095 #include <NoSuchRow.h>
00096 #include <DuplicateKey.h>
00097 using asdm::DuplicateKey;
00098 using asdm::ConversionException;
00099 using asdm::NoSuchRow;
00100 using asdm::DuplicateKey;
00101
00102 #ifndef WITHOUT_ACS
00103 #include <asdmIDLC.h>
00104 using asdmIDL::CalAmpliTableIDL;
00105 #endif
00106
00107 #include <Representable.h>
00108
00109 namespace asdm {
00110
00111
00112
00113
00114 class ASDM;
00115 class CalAmpliRow;
00244 class CalAmpliTable : public Representable {
00245 friend class ASDM;
00246
00247 public:
00248
00249
00255 static vector<string> getKeyName();
00256
00257
00258 virtual ~CalAmpliTable();
00259
00265 ASDM &getContainer() const;
00266
00272 unsigned int size() ;
00273
00279 string getName() const;
00280
00286 static const vector<string>& getAttributesNames();
00287
00291 Entity getEntity() const;
00292
00297 void setEntity(Entity e);
00298
00306 string toXML() ;
00307
00308 #ifndef WITHOUT_ACS
00309
00315 CalAmpliTableIDL *toIDL() ;
00316 #endif
00317
00318 #ifndef WITHOUT_ACS
00319
00325 void fromIDL(CalAmpliTableIDL x) ;
00326 #endif
00327
00328
00329
00330
00331
00336 CalAmpliRow *newRow();
00337
00338
00368 CalAmpliRow *newRow(string antennaName, AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection, ReceiverBandMod::ReceiverBand receiverBand, Tag calDataId, Tag calReductionId, int numReceptor, vector<PolarizationTypeMod::PolarizationType > polarizationTypes, ArrayTime startValidTime, ArrayTime endValidTime, vector<Frequency > frequencyRange, vector<float > apertureEfficiency, vector<float > apertureEfficiencyError);
00369
00370
00371
00384 CalAmpliRow *newRow(CalAmpliRow *row);
00385
00386
00387
00388
00389
00390
00403 CalAmpliRow* add(CalAmpliRow* x) ;
00404
00405
00406
00407
00408
00409
00410
00411
00412
00418 vector<CalAmpliRow *> get() ;
00419
00420
00421
00422
00423
00441 CalAmpliRow* getRowByKey(string antennaName, AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection, ReceiverBandMod::ReceiverBand receiverBand, Tag calDataId, Tag calReductionId);
00442
00443
00444
00445
00446
00478 CalAmpliRow* lookup(string antennaName, AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection, ReceiverBandMod::ReceiverBand receiverBand, Tag calDataId, Tag calReductionId, int numReceptor, vector<PolarizationTypeMod::PolarizationType > polarizationTypes, ArrayTime startValidTime, ArrayTime endValidTime, vector<Frequency > frequencyRange, vector<float > apertureEfficiency, vector<float > apertureEfficiencyError);
00479
00480
00481 private:
00482
00491 CalAmpliTable (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 CalAmpliRow* checkAndAdd(CalAmpliRow* x) ;
00532
00533
00534
00535
00536
00537
00538 vector<CalAmpliRow * > privateRows;
00539
00540
00541
00542 vector<CalAmpliRow *> 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