Loading...
Searching...
No Matches
supernovas::Interferometric Class Reference
Interferometric applications

u, v, w projections of an interferometric station along a line of sight. More...

`#include <supernovas.h>`

Inheritance diagram for supernovas::Interferometric:

## Public Member Functions

| Interferometric (const Coordinate &u, const Coordinate &v, const Coordinate &w)
| Instantiates an interferometric projection with the specified components.
| Interferometric (const Coordinate &u, const Coordinate &v, const Interval &geom_delay)
| Instantiates an interferometric projection with the specified components.
| Interferometric (double u, double v, double w)
| Instantiates an interferometric projection with the specified components.
bool | equals (const Interferometric &p, double precision) const
| Checks if this interferometric projection is the same as another, within the specified precision.
Interval | geometric_delay () const
| Returns the geometric delay of this projection along the line of sight, relative to the interferometric reference.
bool | operator!= (const Interferometric &p) const
| Checks if this interferometric projection differs from the specified other projection by more than the 12th significant figure, or 1nm (whichever is larger).
Interferometric | operator+ (const Interferometric &r) const
| Returns the vector sum of this interferometric projection and the specified other projection on the right hand side.
Interferometric | operator- (const Interferometric &r) const
| Returns vector the difference of this interferometric projection and the specified other projection on the right hand side.
bool | operator== (const Interferometric &p) const
| Checks if this interferometric projection is the same as the specified other propjection to 12 significant figures, or 1nm (whichever is larger).
std::string | to_string (int decimals=6) const override
| Returns a human-readable representation of these interferometric projection.
Coordinate | u () const
| Returns the u coordinate of this projection, which is the offset of this station projection from the interferometric reference in the direction of the local East, as seen from the line of sight.
Coordinate | v () const
| Returns the v coordinate of this projection, which is the offset of this station projection from the interferometric reference in the direction of the local North, as seen from the the line of sight.
Coordinate | w () const
| Returns the w coordinate of this projection, which is the offset of this station projection from the interferometric reference along the line of sight.
Public Member Functions inherited from supernovas::Vector
virtual | ~Vector ()
const double * | _array () const
| Returns the underlying double[3] C array that stores the components of this vector internally.
double | abs () const
| Returns the absolute value (length / magnitude) of this vector.
double | dot (const Vector &v) const
| Returns the dot product of this vector and the specified other vector.
bool | is_zero () const
| Checks if this verctor is a null vector, that is all of its components are zero.
Vector | operator* (double r) const
| Scales a vector by a factor, for example to cast it to/from a physical unit.
double | operator[] (int idx) const
| Returns the component at the specified index.
Angle | phi () const
| Returns the azumithal angle of this vector.
double | projection_on (const Vector &v) const
| Returns the projection of this vector along the direction of another vector.
Vector | scaled (double factor) const
| Returns a rescaled version of this vector, for example to cast it to/from a physical unit.
Angle | theta () const
| Returns the polar angleof this vector, that is the angle from the z axis.
Vector | unit_vector () const
| Returns a unit vector in the direction of this vector.
Public Member Functions inherited from supernovas::Validating
bool | is_valid () const
| Returns the previously set 'valid' state of the implementing instance.
| operator bool () const
| Objects that implement Validating can be used in conditionals directly, without explicitly calling is_valid().

## Static Public Member Functions

static const Interferometric & | undefined ()
| Returns a reference to a statically defined standard invalid interferometric instance.

## Additional Inherited Members

Protected Member Functions inherited from supernovas::Vector
| Vector ()
| Instantiates an undefined vector.
| Vector (double x, double y, double z)
| Instantiates a vector from its cartesian components.
bool | equals (const Vector &v, double precision) const
| Checks if this vector is the same as another vector, within the specified precision.
Protected Member Functions inherited from supernovas::Validating
| Validating ()
| dummy constructor;
Protected Attributes inherited from supernovas::Vector
double | _component [3]
| [arb.u] Array containing the x, y, z components.
Protected Attributes inherited from supernovas::Validating
bool | _valid = false
| the state variable.

## Detailed Description

u, v, w projections of an interferometric station along a line of sight.

The u and v coordinates are the orthogonal projections of the station, relative to the array reference, in the direction of the local East and North, as seen from the source; while w is the distance from the array reference location along the line of sight.

Since
  1.6

See also
  Observer::to_interferometric(), AstrometricPosition::to_interferometric()

## Constructor & Destructor Documentation

## Interferometric() [1/3]

supernovas::Interferometric::Interferometric | ( | double | u,
|  | double | v,
|  | double | w )

Instantiates an interferometric projection with the specified components.

Parameters

  u | [m] Projection along the East direction
  v | [m] Projection along the orthogonalized North Direction
  w | [m] Projection along the line of sight

Since
  1.6

References supernovas::Vector::Vector(), supernovas::Validating::_valid, u(), v(), and w().

## Interferometric() [2/3]

supernovas::Interferometric::Interferometric | ( | const Coordinate & | u,
|  | const Coordinate & | v,
|  | const Coordinate & | w )

Instantiates an interferometric projection with the specified components.

Parameters

  u | Projection along the East direction
  v | Projection along the orthogonalized North Direction
  w | Projection along the line of sight

Since
  1.6

References u(), v(), and w().

## Interferometric() [3/3]

supernovas::Interferometric::Interferometric | ( | const Coordinate & | u,
|  | const Coordinate & | v,
|  | const Interval & | geom_delay )

Instantiates an interferometric projection with the specified components.

Parameters

  u | Projection along the East direction
  v | Projection along the orthogonalized North Direction
  geom_delay | geometric delay in the arrival time of light relative to the arrival time at the interferometric reference place.

Since
  1.6

References u(), and v().

## Member Function Documentation

## equals()

bool supernovas::Interferometric::equals | ( | const Interferometric & | p,
|  | double | precision ) const

Checks if this interferometric projection is the same as another, within the specified precision.

Parameters

  p | the reference projection
  precision | the precision for testing equality.

Returns
  true if this projection equals the argument within the specified precision, or else false.

Since
  1.6

See also
  operator==(), operator!=()

References supernovas::Vector::equals().

Referenced by operator==().

## geometric_delay()

Interval supernovas::Interferometric::geometric_delay | ( |  | ) | const

Returns the geometric delay of this projection along the line of sight, relative to the interferometric reference.

Returns
  The geometric delay of this projection, relative to the interferometric reference station.

Since
  1.6

See also
  w()

References supernovas::Constant::c, and w().

Referenced by to_string().

## operator!=()

bool supernovas::Interferometric::operator!= | ( | const Interferometric & | p | ) | const

Checks if this interferometric projection differs from the specified other projection by more than the 12th significant figure, or 1nm (whichever is larger).

Parameters

  p | the reference projection

Returns
  true if this projection equals the argument to 12 significant figures or 1 nm, or else false.

Since
  1.6

See also
  equals(), operator==()

## operator+()

Interferometric supernovas::Interferometric::operator+ | ( | const Interferometric & | r | ) | const

Returns the vector sum of this interferometric projection and the specified other projection on the right hand side.

Parameters

  r | the interferometric projection on the right hand side.

Returns
  the difference between this projection and the argument.

Since
  1.6

See also
  operator-()

References supernovas::Vector::_component, and supernovas::Validating::is_valid().

## operator-()

Interferometric supernovas::Interferometric::operator- | ( | const Interferometric & | r | ) | const

Returns vector the difference of this interferometric projection and the specified other projection on the right hand side.

Parameters

  r | the interferometric projection on the right hand side.

Returns
  the difference between this projection and the argument.

Since
  1.6

See also
  operator+()

References supernovas::Vector::_component, and supernovas::Validating::is_valid().

## operator==()

bool supernovas::Interferometric::operator== | ( | const Interferometric & | p | ) | const

Checks if this interferometric projection is the same as the specified other propjection to 12 significant figures, or 1nm (whichever is larger).

Parameters

  p | the reference projection

Returns
  true if this projection equals the argument to 12 significant figures or 1 nm, or else false.

Since
  1.6

See also
  equals(), operator!=()

References supernovas::Vector::abs(), equals(), and supernovas::Unit::nm.

## to_string()

std::string supernovas::Interferometric::to_string | ( | int | decimals = 6 | ) | const

override virtual

Returns a human-readable representation of these interferometric projection.

Parameters

  decimals | (optional) [0:16] Number of decimal places to print for u, v, and the geometric delay (default: 6).

Returns
  a string representation of this interferometric projection.

Since
  1.6

Reimplemented from supernovas::Vector.

References geometric_delay(), supernovas::Coordinate::to_string(), supernovas::Interval::to_string(), u(), and v().

Referenced by supernovas::AstrometricPosition::to_string().

## u()

Coordinate supernovas::Interferometric::u | ( |  | ) | const

Returns the u coordinate of this projection, which is the offset of this station projection from the interferometric reference in the direction of the local East, as seen from the line of sight.

Returns
  the station offset, relative to the interferometric reference station, in the direction of the local East from the line of sight.

Since
  1.6

See also
  v(), w()

References supernovas::Vector::_component.

Referenced by Interferometric(), Interferometric(), Interferometric(), and to_string().

## undefined()

const Interferometric & supernovas::Interferometric::undefined | ( |  | ) |

static

Returns a reference to a statically defined standard invalid interferometric instance.

Returns
  a reference to a standard instance of invalid interferometric projection.

Since
  1.6

Referenced by supernovas::Observer::to_interferometric().

## v()

Coordinate supernovas::Interferometric::v | ( |  | ) | const

Returns the v coordinate of this projection, which is the offset of this station projection from the interferometric reference in the direction of the local North, as seen from the the line of sight.

Returns
  the station offset, relative to the interferometric reference station, in the direction of the local North from the line of sight.

Since
  1.6

See also
  u(), w()

References supernovas::Vector::_component.

Referenced by Interferometric(), Interferometric(), Interferometric(), and to_string().

## w()

Coordinate supernovas::Interferometric::w | ( |  | ) | const

Returns the w coordinate of this projection, which is the offset of this station projection from the interferometric reference along the line of sight.

Returns
  the station offset, relative to the interferometric reference station, along the line-of-sight.

Since
  1.6

See also
  geometric_delay(), u(), v()

References supernovas::Vector::_component.

Referenced by Interferometric(), Interferometric(), and geometric_delay().