everybeam::telescope

namespace telescope
struct AiryParameters
#include <alma.h>

Public Functions

inline AiryParameters(double dish_diameter, double blocked_diameter, double max_radius)

Public Members

double dish_diameter_in_m
double blocked_diameter_in_m
double maximum_radius_arc_min
class Alma : public Telescope
#include <alma.h>

Provides that ALMA beam pattern, which is implemented as an Airy disk.

Public Functions

Alma(const casacore::MeasurementSet &ms, const Options &options)
virtual std::unique_ptr<griddedresponse::GriddedResponse> GetGriddedResponse(const aocommon::CoordinateSystem &coordinate_system) const override

Return the gridded response object.

Parameters:

coordinate_system – Coordinate system struct

Returns:

GriddedResponse::Ptr

virtual std::unique_ptr<pointresponse::PointResponse> GetPointResponse(double time) const override

Get the Point Response object.

Parameters:

time – Time, modified Julian date, UTC, in seconds (MJD(UTC), s).

Returns:

std::unique_ptr<pointresponse::PointResponse>

inline const std::vector<std::pair<double, double>> &GetFieldPointing() const

Get (ra, dec) pointings of fields.

Returns:

Vector of size number of fields, and (ra, dec) pointings as entries.

inline const AiryParameters &GetAiryParameters(size_t station_index) const
inline bool IsHomogeneous() const
class Dish : public Telescope
#include <dish.h>

This class calculates the a-terms for dishes with a circularly symmetric response.

Public Functions

Dish(const casacore::MeasurementSet &ms, std::unique_ptr<circularsymmetric::Coefficients> coefficients, const Options &options)
virtual std::unique_ptr<griddedresponse::GriddedResponse> GetGriddedResponse(const aocommon::CoordinateSystem &coordinate_system) const override

Return the gridded response object.

Parameters:

coordinate_system – Coordinate system struct

Returns:

GriddedResponse::Ptr

virtual std::unique_ptr<pointresponse::PointResponse> GetPointResponse(double time) const override

Get the Point Response object.

Parameters:

time – Time, modified Julian date, UTC, in seconds (MJD(UTC), s).

Returns:

std::unique_ptr<pointresponse::PointResponse>

inline const std::vector<std::pair<double, double>> &GetFieldPointing() const

Get (ra, dec) pointings of fields.

Returns:

std::vector<std::pair<double, double>> Vector of size number of fields, and (ra, dec) pointings as entries.

inline const std::vector<casacore::MDirection> &GetFieldPointingMDirection() const
inline const circularsymmetric::Coefficients *GetDishCoefficients() const
class LOFAR : public PhasedArray
#include <lofar.h>

LOFAR telescope class.

Public Functions

LOFAR(const casacore::MeasurementSet &ms, const Options &options)

Construct a new LOFAR object.

Parameters:
  • ms – MeasurementSet

  • model – Element Response model

  • options – telescope options

virtual std::unique_ptr<griddedresponse::GriddedResponse> GetGriddedResponse(const aocommon::CoordinateSystem &coordinate_system) const override

Return the gridded response object.

Parameters:

coordinate_system – Coordinate system struct

Returns:

GriddedResponse::Ptr

virtual std::unique_ptr<pointresponse::PointResponse> GetPointResponse(double time) const override

Get the Point Response object.

Parameters:

time – Time, modified Julian date, UTC, in seconds (MJD(UTC), s).

Returns:

std::unique_ptr<pointresponse::PointResponse>

class Lwa : public PhasedArray
#include <lwa.h>

Public Functions

inline Lwa(const casacore::MeasurementSet &ms, const Options &options)

Construct a new Lwa object.

Parameters:
  • ms – MeasurementSet

  • options – telescope options

class MWA : public Telescope
#include <mwa.h>

Public Functions

MWA(const casacore::MeasurementSet &ms, const Options &options)

Construct a new MWA object.

Parameters:
  • ms – MeasurementSet

  • model – Element Response model

  • options – telescope options

virtual std::unique_ptr<griddedresponse::GriddedResponse> GetGriddedResponse(const aocommon::CoordinateSystem &coordinate_system) const override

Return the gridded response object.

Parameters:

coordinate_system – Coordinate system struct

Returns:

GriddedResponse::Ptr

virtual std::unique_ptr<pointresponse::PointResponse> GetPointResponse(double time) const override

Get the Point Response object.

Parameters:

time – Time, modified Julian date, UTC, in seconds (MJD(UTC), s).

Returns:

std::unique_ptr<pointresponse::PointResponse>

inline casacore::MPosition GetArrayPosition() const
inline const std::array<double, 16> &GetDelays() const
class OSKAR : public PhasedArray
#include <oskar.h>

OSKAR telescope class.

Public Functions

OSKAR(const casacore::MeasurementSet &ms, const Options &options)

Construct a new OSKAR object.

Parameters:
  • ms – MeasurementSet

  • options – telescope options

inline virtual casacore::MDirection GetTileBeamDirection() const override

Get the tile beam direction, equal to delay direction for OSKAR!

inline virtual casacore::MDirection GetPreappliedBeamDirection() const override

Get the preapplied beam direction, equal to delay direction for OSKAR!

struct MSProperties
#include <phasedarray.h>

Public Members

double subband_freq
CorrectionMode preapplied_correction_mode = CorrectionMode::kFull
casacore::MDirection delay_dir
casacore::MDirection tile_beam_dir
casacore::MDirection preapplied_beam_dir
casacore::MDirection reference_dir
size_t channel_count
std::vector<double> channel_freqs
class PhasedArray : public Telescope
#include <phasedarray.h>

PhasedArray telescope class, is parent to OSKAR and LOFAR.

Subclassed by LOFAR, Lwa, OSKAR

Public Functions

inline PhasedArray(const casacore::MeasurementSet &ms, const Options &options)

Construct a new PhasedArray object.

Parameters:
  • ms – MeasurementSet

  • options – telescope options

virtual std::unique_ptr<griddedresponse::GriddedResponse> GetGriddedResponse(const aocommon::CoordinateSystem &coordinate_system) const override

Return the gridded response object.

Parameters:

coordinate_system – Coordinate system struct

Returns:

GriddedResponse::Ptr

virtual std::unique_ptr<pointresponse::PointResponse> GetPointResponse(double time) const override

Get the Point Response object.

Parameters:

time – Time, modified Julian date, UTC, in seconds (MJD(UTC), s).

Returns:

std::unique_ptr<pointresponse::PointResponse>

inline const Station &GetStation(std::size_t station_idx) const

Get station by index.

Parameters:

station_id – Station index to retrieve.

Returns:

The station with the given index.

inline casacore::MDirection GetDelayDirection() const

Get the delay direction.

inline virtual casacore::MDirection GetTileBeamDirection() const

Get the tile beam direction.

inline virtual casacore::MDirection GetPreappliedBeamDirection() const

Get the preapplied beam direction.

inline double GetSubbandFrequency() const

Get the subband frequency.

inline size_t GetNrChannels() const

Get the number of channels.

inline double GetChannelFrequency(size_t idx) const

Get the channel frequency given a (zero-based) index.

inline MSProperties GetMSProperties() const
class SkaMid : public Telescope
#include <skamid.h>

SKA-MID telescope class.

Public Functions

SkaMid(const casacore::MeasurementSet &ms, const Options &options)
virtual std::unique_ptr<griddedresponse::GriddedResponse> GetGriddedResponse(const aocommon::CoordinateSystem &coordinate_system) const override

Return the gridded response object.

Parameters:

coordinate_system – Coordinate system struct

Returns:

GriddedResponse::Ptr

virtual std::unique_ptr<pointresponse::PointResponse> GetPointResponse(double time) const override

Get the Point Response object.

Parameters:

time – Time, modified Julian date, UTC, in seconds (MJD(UTC), s).

Returns:

std::unique_ptr<pointresponse::PointResponse>

inline const std::vector<std::pair<double, double>> &GetFieldPointing() const

Get (ra, dec) pointings of fields.

Returns:

std::vector<std::pair<double, double>> Vector of size number of fields, and (ra, dec) pointings as entries.

double GetDiameter() const

Diameter of SKA-MID dish (m)

double GetBlockage() const

Blockage of SKA-MID due to receiver (m)

class Telescope
#include <telescope.h>

Telescope class, forming the base class for specific telescopes.

Subclassed by Alma, Dish, MWA, PhasedArray, SkaMid

Public Functions

inline virtual ~Telescope()
virtual std::unique_ptr<griddedresponse::GriddedResponse> GetGriddedResponse(const aocommon::CoordinateSystem &coordinate_system) const = 0

Return the gridded response object.

Parameters:

coordinate_system – Coordinate system struct

Returns:

GriddedResponse::Ptr

virtual std::unique_ptr<pointresponse::PointResponse> GetPointResponse(double time) const = 0

Get the Point Response object.

Parameters:

time – Time, modified Julian date, UTC, in seconds (MJD(UTC), s).

Returns:

std::unique_ptr<pointresponse::PointResponse>

inline bool GetIsTimeRelevant() const
inline std::size_t GetNrStations() const
inline Options GetOptions() const
inline void SetTime(double time)
inline double GetTime(double time)