Go to the documentation of this file.00001 #if !defined(_BASELINESSET_H)
00002
00003 #include "ASDMEntities.h"
00004 #include "Error.h"
00005 #include "BaselineMetadata.h"
00006 #include "SwitchCyclesList.h"
00007 #include "DataDescriptionsSet.h"
00008
00009 #include <AxisName.h>
00010 #include <DataContent.h>
00011
00012
00013 namespace sdmbin {
00014
00017 class BaselinesSet : public DataDescriptionsSet
00018 {
00019 public:
00020 BaselinesSet();
00021
00038 BaselinesSet( vector<Tag> v_antennaIdArray,
00039 vector<int> v_feedIdArray,
00040 vector<int> v_phasedArrayList,
00041 vector<bool> v_antennaUsedArray,
00042 DataDescriptionsSet& dataDescriptionsSet
00043 );
00044
00046 BaselinesSet(const BaselinesSet &);
00047
00049 ~BaselinesSet();
00050
00068 unsigned int transferId(unsigned int na, unsigned int ndd, unsigned int nbin);
00069
00087 unsigned int transferId(unsigned int na, unsigned int nfe, unsigned int ndd, unsigned int nbin);
00088
00100 unsigned int transferId(unsigned int na1, unsigned int na2, unsigned int ndd, unsigned int nbin, unsigned int napc);
00101
00114 unsigned int transferId(unsigned int na1, unsigned int na2, unsigned int nfe, unsigned int ndd, unsigned int nbin, unsigned int napc);
00115
00125 unsigned int baselineIndex( Tag antennaId) throw (Error);
00126
00146 unsigned int baselineIndex( Tag antennaId1, Tag antennaId2) throw (Error);
00147
00163 unsigned int baselineIndex( unsigned int na1, unsigned int na2) throw(Error);
00164
00174 unsigned int antenna1(unsigned int baselineIndex) throw (Error);
00175
00185 unsigned int antenna2(unsigned int baselineIndex) throw (Error);
00186
00195 unsigned int feedIndex(Tag antennaId, int feedId) throw (Error);
00196
00202 Tag getEffAntennaId(unsigned int na) throw (Error);
00203
00207 unsigned int getNumAntennas();
00208
00209
00222 int getFeedId(unsigned int na, unsigned int nfe) throw (Error);
00223
00234 unsigned int getNumEffAntennas();
00235
00240 unsigned int getNumBaselines();
00241
00247 unsigned int getNumEffBaselines();
00248
00260 unsigned int getNumPDTvalue(Enum<DataContent> e_dc, EnumSet<AxisName> es_an, bool effective);
00261
00262 private:
00263 vector<Tag> v_AntennaIdArray_;
00264 vector<int> v_FeedIdArray_;
00265 vector<int> v_PhasedArrayList_;
00266 unsigned int numFeeds_;
00267 unsigned int numAntennas_;
00268 unsigned int numEffAntennas_;
00269 unsigned int numBaselines_;
00270 unsigned int numEffBaselines_;
00271 vector<Tag> v_effAntennaIdArray_;
00272
00273 };
00274 }
00275
00276 #define _BASELINESSET_H
00277 #endif