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