9 #ifndef DP3_BASE_SIMULATE_H_
10 #define DP3_BASE_SIMULATE_H_
14 #include <xtensor/containers/xtensor.hpp>
16 #include <aocommon/xt/span.h>
40 const std::vector<int>& ant1,
41 const std::vector<int>& ant2);
48 const std::vector<int>& antennas1,
const std::vector<int>& antennas2,
49 const std::vector<std::array<double, 3>>& antenna_positions);
56 size_t n_antennas,
const std::vector<size_t>& bl_idx_sorted,
57 const std::vector<int>& antennas1,
const std::vector<int>& antennas2);
65 unsigned int nant,
const std::vector<int>& ant1,
66 const std::vector<int>& ant2,
67 const std::vector<std::array<double, 3>>& antenna_positions);
71 void SplitUvw(
const std::vector<int>& baseline_indices,
72 const std::vector<Baseline>& baselines,
113 const std::shared_ptr<const model::Patch>& patch,
size_t nStation,
114 size_t nBaseline,
size_t nChannel,
Pair of stations that together form a baseline (interferometer).
Buffer holding the data of a timeslot/band.
xt::xtensor< double, 2 > UvwType
Definition: DPBuffer.h:98
Multi-dimensional iterators.
Definition: Cursor.h:20
void simulate(const Direction &reference, const std::shared_ptr< const model::Patch > &patch, size_t nStation, size_t nBaseline, size_t nChannel, const_cursor< Baseline > baselines, const_cursor< double > freq, const_cursor< double > uvw, cursor< std::complex< double >> buffer)
void rotateUVW(const Direction &from, const Direction &to, size_t nUVW, double *uvw)
std::vector< size_t > GetBaselinesSortedByLength(const std::vector< int > &antennas1, const std::vector< int > &antennas2, const std::vector< std::array< double, 3 >> &antenna_positions)
void SplitUvw(const std::vector< int > &baseline_indices, const std::vector< Baseline > &baselines, const DPBuffer::UvwType &uvw_bl, xt::xtensor< double, 2 > &uvw_ant)
std::vector< int > SetupUvwSplitting(unsigned int nant, const std::vector< int > &ant1, const std::vector< int > &ant2)
std::vector< size_t > GetBaselineSelection(size_t n_antennas, const std::vector< size_t > &bl_idx_sorted, const std::vector< int > &antennas1, const std::vector< int > &antennas2)
This file has generic helper routines for testing steps.
Definition: AntennaConfig.h:53
A direction on the celestial sphere.
Definition: Direction.h:15