casacore::MVuvw Class Reference

A 3D vector on Earth. More...

#include <MVuvw.h>

Inheritance diagram for casacore::MVuvw:
casacore::MVPosition casacore::MeasValue

List of all members.

Public Member Functions

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

Static Public Member Functions

static void assure (const MeasValue &in)

Detailed Description

A 3D vector on Earth.

Intended use:

Public interface

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25
Test programs:
tMuvw

Prerequisite

Etymology

From Measure, Value and uvw

Synopsis

A MVuvw is a 3-vector of uvws in a rectangular frame with internal units of m.
It can be constructed with:

A void adjust(Double) function normalises the vector to a length of 1; a get() returns as a Double 3-vector the length and angles of the uvw vector; a getAngle() returns a Quantum 2-vector, (uInt) returns the indicated element, and getValue returns the vector.
uvws can be added and subtracted.
The multiplication of two uvws produces the in-product.

Example

See Muvw class.

Motivation

To do coordinate transformations

To Do

Definition at line 110 of file MVuvw.h.


Constructor & Destructor Documentation

casacore::MVuvw::MVuvw (  ) 

Default constructor generates a (0,0,0) uvw.

casacore::MVuvw::MVuvw ( const MVPosition other  ) 

Copy constructor.

casacore::MVuvw::MVuvw ( Double  in0,
Double  in1,
Double  in2 
)

Creates a specified vector.

casacore::MVuvw::MVuvw ( Double  in0  )  [explicit]

Creates a vector with specified length towards pole.

casacore::MVuvw::MVuvw ( const Quantity l  ) 
casacore::MVuvw::MVuvw ( const Quantity l,
Double  angle0,
Double  angle1 
)

Creates the uvw from specified (azimuth,elevation) angles and length.

casacore::MVuvw::MVuvw ( const Quantity l,
const Quantity angle0,
const Quantity angle1 
)

Creates the uvw from specified angles and length.

or uvws

Thrown Exceptions

  • AipsError if quantities not in angle format
casacore::MVuvw::MVuvw ( const Quantum< Vector< Double > > &  angle  ) 

If not enough angles: pole assumed (if none), or elevation =0 (if 1).

casacore::MVuvw::MVuvw ( const Quantity l,
const Quantum< Vector< Double > > &  angle 
)
casacore::MVuvw::MVuvw ( const Vector< Double > &  other  ) 

Create from specified length and/or angles and/or uvw.

casacore::MVuvw::MVuvw ( const Vector< Quantity > &  other  ) 
casacore::MVuvw::MVuvw ( const MVBaseline pos,
const MVDirection dr,
Bool  ew = False 
)

uvw from a baseline and a reference direction (in same frame)

casacore::MVuvw::~MVuvw (  ) 

Destructor.


Member Function Documentation

virtual void casacore::MVuvw::adjust ( Double res  )  [virtual]

Adjustment with returned factor.

Reimplemented from casacore::MVPosition.

virtual void casacore::MVuvw::adjust (  )  [virtual]

Normalise direction aspects by adjusting the length to 1.

Reimplemented from casacore::MVPosition.

static void casacore::MVuvw::assure ( const MeasValue in  )  [static]

Reimplemented from casacore::MVPosition.

virtual MeasValue* casacore::MVuvw::clone (  )  const [virtual]

Clone.

Reimplemented from casacore::MVPosition.

MVuvw casacore::MVuvw::crossProduct ( const MVuvw other  )  const

Produce the cross product.

Reimplemented from casacore::MVPosition.

Vector<Double> casacore::MVuvw::get (  )  const

Generate a 3-vector of coordinates (length(m), angles(rad)).

Reimplemented from casacore::MVPosition.

Quantum<Vector<Double> > casacore::MVuvw::getAngle ( const Unit unit  )  const

and with specified units

Reimplemented from casacore::MVPosition.

Quantum<Vector<Double> > casacore::MVuvw::getAngle (  )  const

Generate angle 2-vector (in rad).

Reimplemented from casacore::MVPosition.

Quantity casacore::MVuvw::getLength ( const Unit unit  )  const

and generate it with the specified units

Reimplemented from casacore::MVPosition.

Quantity casacore::MVuvw::getLength (  )  const

Generate the length.

Reimplemented from casacore::MVPosition.

virtual Vector<Quantum<Double> > casacore::MVuvw::getRecordValue (  )  const [virtual]

Get the internal value as a Vector<Quantity>.

Usable in records. The getXRecordValue() gets additional information for records. Note that the Vectors could be empty.

Reimplemented from casacore::MVPosition.

virtual Vector<Quantum<Double> > casacore::MVuvw::getTMRecordValue (  )  const [inline, virtual]

Reimplemented from casacore::MVPosition.

Definition at line 239 of file MVuvw.h.

References getXRecordValue().

const Vector<Double>& casacore::MVuvw::getValue (  )  const

Generate a 3-vector of x,y,z in m.

Reimplemented from casacore::MVPosition.

virtual Vector<Double> casacore::MVuvw::getVector (  )  const [virtual]

Get the value in internal units.

Reimplemented from casacore::MVPosition.

virtual Vector<Quantum<Double> > casacore::MVuvw::getXRecordValue (  )  const [virtual]

Reimplemented from casacore::MVPosition.

Referenced by getTMRecordValue().

Bool casacore::MVuvw::near ( const MVuvw other,
Quantity  tol 
) const

Reimplemented from casacore::MVPosition.

Bool casacore::MVuvw::near ( const MVuvw other,
Double  tol = 1e-13 
) const

Reimplemented from casacore::MVPosition.

Bool casacore::MVuvw::nearAbs ( const MVuvw other,
Double  tol = 1e-13 
) const

Reimplemented from casacore::MVPosition.

Bool casacore::MVuvw::operator!= ( const MVuvw other  )  const

Reimplemented from casacore::MVPosition.

Double casacore::MVuvw::operator* ( const MVuvw other  )  const

Multiplication defined as in-product.

Reimplemented from casacore::MVPosition.

MVuvw casacore::MVuvw::operator+ ( const MVuvw right  )  const

Reimplemented from casacore::MVPosition.

MVuvw& casacore::MVuvw::operator+= ( const MVuvw right  ) 

Reimplemented from casacore::MVPosition.

MVuvw casacore::MVuvw::operator- ( const MVuvw right  )  const

Reimplemented from casacore::MVPosition.

MVuvw casacore::MVuvw::operator- (  )  const

Addition and subtraction.

Reimplemented from casacore::MVPosition.

MVuvw& casacore::MVuvw::operator-= ( const MVuvw right  ) 

Reimplemented from casacore::MVPosition.

MVuvw& casacore::MVuvw::operator= ( const MVuvw other  ) 

Copy assignment.

Reimplemented from casacore::MVPosition.

Bool casacore::MVuvw::operator== ( const MVuvw other  )  const

Equality comparisons.

Reimplemented from casacore::MVPosition.

virtual void casacore::MVuvw::print ( ostream &  os  )  const [virtual]

Print data.

Reimplemented from casacore::MVPosition.

virtual Bool casacore::MVuvw::putValue ( const Vector< Quantum< Double > > &  in  )  [virtual]

Set the internal value if correct values and dimensions.

Reimplemented from casacore::MVPosition.

virtual void casacore::MVuvw::putVector ( const Vector< Double > &  in  )  [virtual]

Set the value from internal units (set 0 for empty vector).

Reimplemented from casacore::MVPosition.

virtual Double casacore::MVuvw::radius (  )  [virtual]

Get radius(i.e.

length of vector, in m) of uvw

Reimplemented from casacore::MVPosition.

virtual void casacore::MVuvw::readjust ( Double  res  )  [virtual]

Re-adjust using factor given.

Reimplemented from casacore::MVPosition.

Quantity casacore::MVuvw::separation ( const MVuvw other,
const Unit unit 
) const

Reimplemented from casacore::MVPosition.

Double casacore::MVuvw::separation ( const MVuvw other  )  const

Get the angular separation between two directions.

Reimplemented from casacore::MVPosition.

virtual uInt casacore::MVuvw::type (  )  const [virtual]

Tell me your type.

Reimplemented from casacore::MVPosition.

Quantity casacore::MVuvw::uvwAngle ( const MVuvw other,
const Unit unit 
) const
Double casacore::MVuvw::uvwAngle ( const MVuvw other  )  const

Get the uvw angle between the directions.

I.e. the angle between the direction from one to the pole, and from one to the other.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1