4 #include <alma/Enumtcl/Enum.hpp>
76 const std::vector<std::vector<asdm::Angle> >& phaseDir,
78 Enum<CorrelationModeMod::CorrelationMode> correlationMode,
79 bool reverse,
bool autoTrailing,
107 const std::vector<std::vector<asdm::Angle> >& phaseDir,
108 const std::vector<double>& v_timeCentroid,
109 Enum<CorrelationModeMod::CorrelationMode> correlationMode,
110 bool reverse,
bool autoTrailing,
152 Enum<CorrelationModeMod::CorrelationMode> correlationMode,
178 Enum<CorrelationModeMod::CorrelationMode> correlationMode,
179 std::pair<bool,bool> dataOrder,
199 std::set<asdm::Tag> a, b;
200 for(
unsigned int na=0; na<
v_ant.size(); na++){
204 for (
unsigned int na=0; na<rhs.
v_ant.size(); na++) {
205 b.insert(rhs.
v_ant[na]);
208 if( a != b )
return false;
212 std::ostringstream os;
221 std::map<asdm::Tag,casacore::Vector<casacore::Double> >
m_antUVW_;
247 std::vector<double>
antPos(
const std::vector<double>& stationPos,
const std::vector<double>& antOffset);
262 void uvw_an(
double timeCentroid,
const std::vector<std::vector<asdm::Angle> >& phaseDir,
const std::vector<asdm::Tag>& v_antId);
(Sub-)array parameters constraining order and size of the output vector of 3D UVW coords triplets...
UvwCoords(asdm::ASDM *const datasetPtr)
Constructor.
casacore::Vector< casacore::Double > sduvw_
bool operator==(ArrayParam &rhs)
Concept Equality Comparable:
std::vector< std::vector< asdm::Angle > > phaseDir_
The ASDM class is the container for all tables.
A class to provide easy read-write access to MSField columns.
void uvw_bl(asdm::Tag configDescriptionId, const std::vector< std::vector< asdm::Angle > > &phaseDir, double timeCentroid, Enum< CorrelationModeMod::CorrelationMode > correlationMode, bool reverse, bool autoTrailing, std::vector< casacore::Vector< casacore::Double > > &v_uvw, casacore::MSFieldColumns *msfc_p=0)
Determine the baseline-based uvw in case timeCentroid is baseline-based, spw-based and bin-based inva...
casacore::String toString(VisibilityProcessor::ProcessingType p)
std::map< asdm::Tag, casacore::MPosition > m_antPos_
The MainRow class is a row of a MainTable.
std::map< asdm::Tag, ArrayParam > m_array_
The Tag class is an implementation of a unique index identifying a row of an ASDM table...
SDM UVW engine: compute the uvw these being not present in the SDM but required to build casacore::MS...
double timeCentroid_
the 3 fundamental attributes of the state machine
void uvw_an(double timeCentroid, const std::vector< std::vector< asdm::Angle > > &phaseDir, const std::vector< asdm::Tag > &v_antId)
Determine antenna-based uvw for every member of the sequence of antennas defining a (sub)array...
std::vector< asdm::Tag > v_ant
std::map< asdm::Tag, casacore::Vector< casacore::Double > > m_antUVW_
Enum< CorrelationModeMod::CorrelationMode > e_correlationMode
std::vector< double > antPos(const std::vector< double > &stationPos, const std::vector< double > &antOffset)
ITRF coordinates of an ITRF point on which is added an offset defined in a ASCS.