28 #ifndef CASA_MVDIRECTION_H
29 #define CASA_MVDIRECTION_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/casa/Quanta/MVPosition.h>
187 const Unit &unit)
const;
189 const Unit &unit)
const;
196 const Unit &unit)
const;
198 const Unit &unit)
const;
MVDirection(Double angle0, Double angle1)
Creates the direction cosines from specified angles along equator (azimuth) and towards pole (,...
void shift(Double lng, Double lat, Bool trueAngle=False)
MVDirection(Double in0)
Constructs with elevation = 0.
MVDirection(const Vector< Double > &other)
Create from Vector.
void shiftLatitude(Double lat, Bool trueAngle=False)
virtual Vector< Quantum< Double > > getXRecordValue() const
MVDirection(const Vector< Quantity > &other)
static void assure(const MeasValue &in)
Tell me your type.
void shiftLatitude(const Quantum< Double > &lat, Bool trueAngle=False)
void shiftAngle(Double off, Double pa)
MVDirection(Double in0, Double in1, Double in2)
Creates a specified vector.
virtual void adjust()
Adjust the direction cosines to a length of 1.
MVDirection & operator-=(const MVDirection &right)
MVDirection(const MVPosition &other)
Creates from an MVPosition.
virtual Vector< Quantum< Double > > getRecordValue() const
Get the internal value as a Vector<Quantity>.
Quantity separation(const MVDirection &other, const Unit &unit) const
MVDirection(const Quantum< Vector< Double > > &angle)
If not enough angles: pole (=(0,0,1)) assumed (if none), or elevation =0 (if 1); direction cosines as...
Quantity positionAngle(const MVPosition &other, const Unit &unit) const
Quantity positionAngle(const MVDirection &other, const Unit &unit) const
MVDirection(const Quantity &angle0, const Quantity &angle1)
Creates the direction cosines from specified angles.
Double positionAngle(const MVDirection &other) const
MVDirection operator-(const MVDirection &right) const
virtual MeasValue * clone() const
Re-adjust : taken from MVPosition.
Double positionAngle(const MVPosition &other) const
Get the position angle between the directions.
Quantity separation(const MVPosition &other, const Unit &unit) const
void shift(const MVDirection &shft, Bool trueAngle=False)
Double separation(const MVPosition &other) const
Get the angular separation between two directions.
void shiftAngle(const Quantum< Double > &off, const Quantum< Double > &pa)
Shift over an angle off in the direction pa.
Quantity getLat(const Unit &unit) const
and with specified units
Double separation(const MVDirection &other) const
void setAngle(Double angle0, Double angle1)
Set the internal value, using the longitude and latitude (in rad) given.
MVDirection operator+(const MVDirection &right) const
MVDirection()
Default constructor generates a direction to the pole (i.e.
virtual Vector< Quantum< Double > > getTMRecordValue() const
void shiftLongitude(const Quantity &lng, Bool trueAngle=False)
Vector< Double > get() const
Generate a 2-vector of angles (in rad)
MVDirection crossProduct(const MVDirection &other) const
Produce the cross product.
void shiftLongitude(Double lng, Bool trueAngle=False)
MVDirection & operator+=(const MVDirection &right)
Addition and subtraction.
Double getLat() const
Get the latitude angle (rad)
virtual void adjust(Double &res)
Adjust the direction cosines to a length of 1 and return the length value.
void shift(const Quantum< Double > &lng, const Quantum< Double > &lat, Bool trueAngle=False)
Shift the direction in longitude (radians if Double) and/or latitude.
virtual Bool putValue(const Vector< Quantum< Double > > &in)
Set the internal value if correct values and dimensions.
MVDirection(const Quantity &angle0)
this file contains all the compiler specific defines
LatticeExprNode pa(const LatticeExprNode &left, const LatticeExprNode &right)
This function finds 180/pi*atan2(left,right)/2.
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.