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 CalPointingModelTable_CLASS
00035 #define CalPointingModelTable_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 <Angle.h>
00051 using asdm::Angle;
00052
00053 #include <Tag.h>
00054 using asdm::Tag;
00055
00056
00057
00058
00059
00060
00061
00062 #include "CReceiverBand.h"
00063 using namespace ReceiverBandMod;
00064
00065
00066
00067
00068
00069
00070
00071 #include "CAntennaMake.h"
00072 using namespace AntennaMakeMod;
00073
00074
00075
00076 #include "CPointingModelMode.h"
00077 using namespace PointingModelModeMod;
00078
00079
00080
00081 #include "CPolarizationType.h"
00082 using namespace PolarizationTypeMod;
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 #include <ConversionException.h>
00110 #include <DuplicateKey.h>
00111 #include <UniquenessViolationException.h>
00112 #include <NoSuchRow.h>
00113 #include <DuplicateKey.h>
00114 using asdm::DuplicateKey;
00115 using asdm::ConversionException;
00116 using asdm::NoSuchRow;
00117 using asdm::DuplicateKey;
00118
00119 #ifndef WITHOUT_ACS
00120 #include <asdmIDLC.h>
00121 using asdmIDL::CalPointingModelTableIDL;
00122 #endif
00123
00124 #include <Representable.h>
00125
00126 namespace asdm {
00127
00128
00129
00130
00131 class ASDM;
00132 class CalPointingModelRow;
00308 class CalPointingModelTable : public Representable {
00309 friend class ASDM;
00310
00311 public:
00312
00313
00319 static vector<string> getKeyName();
00320
00321
00322 virtual ~CalPointingModelTable();
00323
00329 ASDM &getContainer() const;
00330
00336 unsigned int size() ;
00337
00343 string getName() const;
00344
00350 static const vector<string>& getAttributesNames();
00351
00355 Entity getEntity() const;
00356
00361 void setEntity(Entity e);
00362
00370 string toXML() ;
00371
00372 #ifndef WITHOUT_ACS
00373
00379 CalPointingModelTableIDL *toIDL() ;
00380 #endif
00381
00382 #ifndef WITHOUT_ACS
00383
00389 void fromIDL(CalPointingModelTableIDL x) ;
00390 #endif
00391
00392
00393
00394
00395
00400 CalPointingModelRow *newRow();
00401
00402
00444 CalPointingModelRow *newRow(string antennaName, ReceiverBandMod::ReceiverBand receiverBand, Tag calDataId, Tag calReductionId, ArrayTime startValidTime, ArrayTime endValidTime, AntennaMakeMod::AntennaMake antennaMake, PointingModelModeMod::PointingModelMode pointingModelMode, PolarizationTypeMod::PolarizationType polarizationType, int numCoeff, vector<string > coeffName, vector<float > coeffVal, vector<float > coeffError, vector<bool > coeffFixed, Angle azimuthRMS, Angle elevationRms, Angle skyRMS, double reducedChiSquared);
00445
00446
00447
00460 CalPointingModelRow *newRow(CalPointingModelRow *row);
00461
00462
00463
00464
00465
00466
00479 CalPointingModelRow* add(CalPointingModelRow* x) ;
00480
00481
00482
00483
00484
00485
00486
00487
00488
00494 vector<CalPointingModelRow *> get() ;
00495
00496
00497
00498
00499
00515 CalPointingModelRow* getRowByKey(string antennaName, ReceiverBandMod::ReceiverBand receiverBand, Tag calDataId, Tag calReductionId);
00516
00517
00518
00519
00520
00564 CalPointingModelRow* lookup(string antennaName, ReceiverBandMod::ReceiverBand receiverBand, Tag calDataId, Tag calReductionId, ArrayTime startValidTime, ArrayTime endValidTime, AntennaMakeMod::AntennaMake antennaMake, PointingModelModeMod::PointingModelMode pointingModelMode, PolarizationTypeMod::PolarizationType polarizationType, int numCoeff, vector<string > coeffName, vector<float > coeffVal, vector<float > coeffError, vector<bool > coeffFixed, Angle azimuthRMS, Angle elevationRms, Angle skyRMS, double reducedChiSquared);
00565
00566
00567 private:
00568
00577 CalPointingModelTable (ASDM & container);
00578
00579 ASDM & container;
00580
00581 bool archiveAsBin;
00582 bool fileAsBin ;
00583
00584 Entity entity;
00585
00586
00587
00591 static string tableName;
00592
00596 static const vector<string> attributesNames;
00597
00601 static vector<string> initAttributesNames();
00602
00603
00607 static vector<string> key;
00608
00609
00617 CalPointingModelRow* checkAndAdd(CalPointingModelRow* x) ;
00618
00619
00620
00621
00622
00623
00624 vector<CalPointingModelRow * > privateRows;
00625
00626
00627
00628 vector<CalPointingModelRow *> row;
00629
00630
00631 void error() ;
00632
00633
00640 void fromXML(string xmlDoc) ;
00641
00646 void setFromMIMEFile(const string& directory);
00647 void setFromXMLFile(const string& directory);
00648
00656 string toMIME(const asdm::ByteOrder* byteOrder=asdm::ByteOrder::Machine_Endianity);
00657
00658
00665 void setFromMIME(const string & mimeMsg);
00666
00670 string MIMEXMLPart(const asdm::ByteOrder* byteOrder=asdm::ByteOrder::Machine_Endianity);
00671
00681 void toFile(string directory);
00682
00691 void setFromFile(const string& directory);
00692
00693 };
00694
00695 }
00696
00697 #endif