32 #include <casacore/casa/aips.h>
33 #include <casacore/casa/Quanta/MVPosition.h>
208 const Unit &unit)
const;
214 const Unit &unit)
const;
220 virtual void print(ostream &os)
const;
MVuvw(const MVPosition &other)
Creates from an MVPosition.
Quantity getLength(const Unit &unit) const
and generate it with the specified units
Vector< Double > get() const
Generate a 3-vector of coordinates (length(m), angles(rad))
Quantity getLength() const
Generate the length.
virtual Vector< Double > getVector() const
Get the value in internal units.
Quantum< Vector< Double > > getAngle() const
Generate angle 2-vector (in rad)
virtual Vector< Quantum< Double > > getTMRecordValue() const
MVuvw operator-(const MVuvw &right) const
virtual void print(ostream &os) const
Print data.
virtual void adjust()
Normalise direction aspects by adjusting the length to 1.
Quantity separation(const MVuvw &other, const Unit &unit) const
Bool near(const MVuvw &other, Quantity tol) const
MVuvw crossProduct(const MVuvw &other) const
Produce the cross product.
Quantum< Vector< Double > > getAngle(const Unit &unit) const
and with specified units
Bool nearAbs(const MVuvw &other, Double tol=1e-13) const
static void assure(const MeasValue &in)
Tell me your type.
Double separation(const MVuvw &other) const
Get the angular separation between two directions.
MVuvw & operator+=(const MVuvw &right)
MVuvw operator+(const MVuvw &right) const
MVuvw(const Vector< Double > &other)
Create from specified length and/or angles and/or uvw.
MVuvw(const Vector< Quantity > &other)
Bool operator!=(const MVuvw &other) const
Bool operator==(const MVuvw &other) const
Equality comparisons.
virtual MeasValue * clone() const
Clone.
Quantity uvwAngle(const MVuvw &other, const Unit &unit) const
virtual Bool putValue(const Vector< Quantum< Double > > &in)
Set the internal value if correct values and dimensions.
MVuvw & operator-=(const MVuvw &right)
virtual Double radius()
Get radius(i.e.
MVuvw(const Quantity &l, const Quantum< Vector< Double > > &angle)
MVuvw(const Quantity &l, const Quantity &angle0, const Quantity &angle1)
Creates the uvw from specified angles and length.
MVuvw(const Quantum< Vector< Double > > &angle)
If not enough angles: pole assumed (if none), or elevation =0 (if 1)
MVuvw(const Quantity &l, Double angle0, Double angle1)
Creates the uvw from specified (azimuth,elevation) angles and length.
MVuvw(const MVBaseline &pos, const MVDirection &dr, Bool ew=False)
uvw from a baseline and a reference direction (in same frame)
MVuvw(Double in0)
Creates a vector with specified length towards pole.
virtual void readjust(Double res)
Re-adjust using factor given.
const Vector< Double > & getValue() const
Generate a 3-vector of x,y,z in m.
Double operator*(const MVuvw &other) const
Multiplication defined as in-product.
MVuvw(Double in0, Double in1, Double in2)
Creates a specified vector.
MVuvw operator-() const
Addition and subtraction.
virtual void adjust(Double &res)
Adjustment with returned factor.
virtual Vector< Quantum< Double > > getXRecordValue() const
Bool near(const MVuvw &other, Double tol=1e-13) const
MVuvw()
Default constructor generates a (0,0,0) uvw.
virtual Vector< Quantum< Double > > getRecordValue() const
Get the internal value as a Vector<Quantity>.
Double uvwAngle(const MVuvw &other) const
Get the uvw angle between the directions.
virtual void putVector(const Vector< Double > &in)
Set the value from internal units (set 0 for empty vector)
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.