28 #ifndef CASA_MVPOSITION_H
29 #define CASA_MVPOSITION_H
244 const Unit &unit)
const;
250 const Unit &unit)
const;
256 virtual void print(ostream &os)
const;
virtual Double radius()
Get radius of position.
MVPosition & operator+=(const MVPosition &right)
virtual Vector< Double > getVector() const
Get the value in internal units.
virtual MeasValue * clone() const
Clone.
Double & operator()(uInt which)
Obtain an element.
Bool nearAbs(const MVPosition &other, Double tol=1e-13) const
virtual void adjust()
Normalise direction aspects by adjusting the length to 1.
virtual Vector< Quantum< Double > > getRecordValue() const
Get the internal value as a Vector<Quantity>.
virtual Vector< Quantum< Double > > getTMRecordValue() const
Double positionAngle(const MVPosition &other) const
Get the position angle between the directions.
virtual Bool putValue(const Vector< Quantum< Double > > &in)
Set the internal value if correct values and dimensions.
virtual void print(ostream &os) const
Print data.
Bool near(const MVPosition &other, Double tol=1e-13) const
virtual uInt type() const
Tell me your type.
Double getLat() const
Get the latitude angle (rad)
static void assure(const MeasValue &in)
Bool operator!=(const MVPosition &other) const
Vector< Double > xyz
Position vector (in m)
virtual ~MVPosition()
Destructor.
Double separation(const MVPosition &other) const
Get the angular separation between two directions.
MVEarthMagnetic operator*(const RotMatrix &left, const MVEarthMagnetic &right)
Rotate a EarthMagnetic vector with rotation matrix and other multiplications.
MVPosition & operator*=(const RotMatrix &right)
Multiplication with rotation matrix (see also global functions)
MVPosition()
Default constructor generates a (0,0,0) position.
Base class for values in a Measure.
virtual Vector< Quantum< Double > > getXRecordValue() const
bool Bool
Define the standard types used by Casacore.
Double getLong() const
Get the longitudinal angle (in radians)
virtual void putVector(const Vector< Double > &in)
Set the value from internal units (set 0 for empty vector)
MVPosition crossProduct(const MVPosition &other) const
Produce the cross product.
const Double e
e and functions thereof:
Quantity getLength() const
Generate the length.
static const Double hiLimit
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.
MVPosition operator-() const
Addition and subtraction.
MVPosition operator+(const MVPosition &right) const
Bool operator==(const MVPosition &other) const
Equality comparisons.
MVPosition & operator-=(const MVPosition &right)
MVPosition & operator=(const MVPosition &other)
Copy assignment.
Double operator*(const MVPosition &other) const
Multiplication defined as in-product.
static const Double loLimit
Internal limts codes for negative height.
Quantum< Vector< Double > > getAngle() const
Generate angle 2-vector (in rad)
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.