28 #ifndef CASA_MVBASELINE_H
29 #define CASA_MVBASELINE_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/casa/Quanta/MVPosition.h>
205 const Unit &unit)
const;
211 const Unit &unit)
const;
217 virtual void print(ostream &os)
const;
virtual void adjust(Double &res)
Adjustment with returned factor.
MVBaseline operator+(const MVBaseline &right) const
Double separation(const MVBaseline &other) const
Get the angular separation between two directions.
virtual Vector< Double > getVector() const
Get the value in internal units.
virtual Vector< Quantum< Double > > getRecordValue() const
Get the internal value as a Vector<Quantity>.
virtual void putVector(const Vector< Double > &in)
Set the value from internal units (set 0 for empty vector)
Bool near(const MVBaseline &other, Quantity tol) const
static void assure(const MeasValue &in)
Tell me your type.
virtual Bool putValue(const Vector< Quantum< Double > > &in)
Set the internal value if correct values and dimensions.
Bool operator!=(const MVBaseline &other) const
Quantity getLength() const
Generate the length.
Bool near(const MVBaseline &other, Double tol=1e-13) const
MVBaseline(const Vector< Double > &other)
Create from specified length and/or angles and/or Baseline.
Vector< Double > get() const
Generate a 3-vector of coordinates (length(m), angles(rad))
MVBaseline(const Vector< Quantity > &other)
Quantity getLength(const Unit &unit) const
and generate it with the specified units
MVBaseline(Double in0, Double in1, Double in2)
Creates a specified vector.
virtual Double radius()
Get radius of Baseline.
const Vector< Double > & getValue() const
Generate a 3-vector of x,y,z in m.
MVBaseline & operator+=(const MVBaseline &right)
MVBaseline crossProduct(const MVBaseline &other) const
Produce the cross product.
Bool operator==(const MVBaseline &other) const
Equality comparisons.
MVBaseline operator-() const
Addition and subtraction.
MVBaseline(const Quantity &l, const Quantity &angle0, const Quantity &angle1)
Creates the Baseline from specified angles and length.
MVBaseline()
Default constructor generates a (0,0,0) Baseline.
MVBaseline(const Quantum< Vector< Double > > &angle)
If not enough angles: pole assumed (if none), or elevation =0 (if 1)
Quantum< Vector< Double > > getAngle() const
Generate angle 2-vector (in rad)
MVBaseline(const MVPosition &pos, const MVPosition &base)
Baseline as difference between positions (first - second (default(0,0,0))
MVBaseline(const Quantity &l)
MVBaseline(Double in0)
Creates a vector with specified length towards pole.
virtual Vector< Quantum< Double > > getXRecordValue() const
virtual void print(ostream &os) const
Print data.
Quantity BaselineAngle(const MVBaseline &other, const Unit &unit) const
MVBaseline(const MVPosition &other)
Creates from an MVPosition.
Double operator*(const MVBaseline &other) const
Multiplication defined as in-product.
Quantum< Vector< Double > > getAngle(const Unit &unit) const
and with specified units
Quantity separation(const MVBaseline &other, const Unit &unit) const
virtual Vector< Quantum< Double > > getTMRecordValue() const
Bool nearAbs(const MVBaseline &other, Double tol=1e-13) const
MVBaseline & operator-=(const MVBaseline &right)
virtual void readjust(Double res)
Re-adjust using factor given.
MVBaseline operator-(const MVBaseline &right) const
virtual void adjust()
Normalise direction aspects by adjusting the length to 1.
MVBaseline(const Quantity &l, Double angle0, Double angle1)
Creates the Baseline from specified (azimuth,elevation) angles and length.
MVBaseline(const Quantity &l, const Quantum< Vector< Double > > &angle)
virtual MeasValue * clone() const
Clone.
Double BaselineAngle(const MVBaseline &other) const
Get the Baseline angle between the directions.
const Double e
e and functions thereof:
this file contains all the compiler specific defines
MVBaseline operator*(const RotMatrix &left, const MVBaseline &right)
Rotate a Baseline vector with rotation matrix and other multiplications.
bool Bool
Define the standard types used by Casacore.