casacore::MVBaseline Class Reference

A 3D vector on Earth. More...

#include <MVBaseline.h>

Inheritance diagram for casacore::MVBaseline:
casacore::MVPosition casacore::MeasValue

List of all members.

Public Member Functions

 MVBaseline ()
 Default constructor generates a (0,0,0) Baseline.
 MVBaseline (const MVPosition &other)
 Copy constructor.
 MVBaseline (Double in0, Double in1, Double in2)
 Creates a specified vector.
 MVBaseline (Double in0)
 Creates a vector with specified length towards pole.
 MVBaseline (const Quantity &l)
 MVBaseline (const Quantity &l, Double angle0, Double angle1)
 Creates the Baseline from specified (azimuth,elevation) angles and length.
 MVBaseline (const Quantity &l, const Quantity &angle0, const Quantity &angle1)
 Creates the Baseline from specified angles and length.
 MVBaseline (const Quantum< Vector< Double > > &angle)
 If not enough angles: pole assumed (if none), or elevation =0 (if 1).
 MVBaseline (const Quantity &l, const Quantum< Vector< Double > > &angle)
 MVBaseline (const Vector< Double > &other)
 Create from specified length and/or angles and/or Baseline.
 MVBaseline (const Vector< Quantity > &other)
 MVBaseline (const MVPosition &pos, const MVPosition &base)
 Baseline as difference between positions (first - second (default(0,0,0)).
MVBaselineoperator= (const MVBaseline &other)
 Copy assignment.
 ~MVBaseline ()
 Destructor.
Double operator* (const MVBaseline &other) const
 Multiplication defined as in-product.
Bool operator== (const MVBaseline &other) const
 Equality comparisons.
Bool operator!= (const MVBaseline &other) const
Bool near (const MVBaseline &other, Double tol=1e-13) const
Bool near (const MVBaseline &other, Quantity tol) const
Bool nearAbs (const MVBaseline &other, Double tol=1e-13) const
MVBaseline operator- () const
 Addition and subtraction.
MVBaselineoperator+= (const MVBaseline &right)
MVBaseline operator+ (const MVBaseline &right) const
MVBaselineoperator-= (const MVBaseline &right)
MVBaseline operator- (const MVBaseline &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 of Baseline.
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 BaselineAngle (const MVBaseline &other) const
 Get the Baseline angle between the directions.
Quantity BaselineAngle (const MVBaseline &other, const Unit &unit) const
Double separation (const MVBaseline &other) const
 Get the angular separation between two directions.
Quantity separation (const MVBaseline &other, const Unit &unit) const
MVBaseline crossProduct (const MVBaseline &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:
tMBaseline

Prerequisite

Etymology

From Measure, Value and Baseline

Synopsis

A MVBaseline is a 3-vector of Baselines 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 Baseline vector; a getAngle() returns a Quantum 2-vector, (uInt) returns the indicated element, and getValue returns the vector.
Baselines can be added and subtracted.
The multiplication of two Baselines produces the in-product.

Example

See MBaseline class.

Motivation

To do coordinate transformations

To Do

Definition at line 107 of file MVBaseline.h.


Constructor & Destructor Documentation

casacore::MVBaseline::MVBaseline (  ) 

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

casacore::MVBaseline::MVBaseline ( const MVPosition other  ) 

Copy constructor.

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

Creates a specified vector.

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

Creates a vector with specified length towards pole.

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

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

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

Creates the Baseline from specified angles and length.

or Baselines

Thrown Exceptions

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

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

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

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

casacore::MVBaseline::MVBaseline ( const Vector< Quantity > &  other  ) 
casacore::MVBaseline::MVBaseline ( const MVPosition pos,
const MVPosition base 
)

Baseline as difference between positions (first - second (default(0,0,0)).

casacore::MVBaseline::~MVBaseline (  ) 

Destructor.


Member Function Documentation

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

Adjustment with returned factor.

Reimplemented from casacore::MVPosition.

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

Normalise direction aspects by adjusting the length to 1.

Reimplemented from casacore::MVPosition.

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

Reimplemented from casacore::MVPosition.

Quantity casacore::MVBaseline::BaselineAngle ( const MVBaseline other,
const Unit unit 
) const
Double casacore::MVBaseline::BaselineAngle ( const MVBaseline other  )  const

Get the Baseline angle between the directions.

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

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

Clone.

Reimplemented from casacore::MVPosition.

MVBaseline casacore::MVBaseline::crossProduct ( const MVBaseline other  )  const

Produce the cross product.

Reimplemented from casacore::MVPosition.

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

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

Reimplemented from casacore::MVPosition.

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

and with specified units

Reimplemented from casacore::MVPosition.

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

Generate angle 2-vector (in rad).

Reimplemented from casacore::MVPosition.

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

and generate it with the specified units

Reimplemented from casacore::MVPosition.

Quantity casacore::MVBaseline::getLength (  )  const

Generate the length.

Reimplemented from casacore::MVPosition.

virtual Vector<Quantum<Double> > casacore::MVBaseline::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::MVBaseline::getTMRecordValue (  )  const [inline, virtual]

Reimplemented from casacore::MVPosition.

Definition at line 236 of file MVBaseline.h.

References getXRecordValue().

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

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

Reimplemented from casacore::MVPosition.

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

Get the value in internal units.

Reimplemented from casacore::MVPosition.

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

Reimplemented from casacore::MVPosition.

Referenced by getTMRecordValue().

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

Reimplemented from casacore::MVPosition.

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

Reimplemented from casacore::MVPosition.

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

Reimplemented from casacore::MVPosition.

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

Reimplemented from casacore::MVPosition.

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

Multiplication defined as in-product.

Reimplemented from casacore::MVPosition.

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

Reimplemented from casacore::MVPosition.

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

Reimplemented from casacore::MVPosition.

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

Reimplemented from casacore::MVPosition.

MVBaseline casacore::MVBaseline::operator- (  )  const

Addition and subtraction.

Reimplemented from casacore::MVPosition.

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

Reimplemented from casacore::MVPosition.

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

Copy assignment.

Reimplemented from casacore::MVPosition.

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

Equality comparisons.

Reimplemented from casacore::MVPosition.

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

Print data.

Reimplemented from casacore::MVPosition.

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

Set the internal value if correct values and dimensions.

Reimplemented from casacore::MVPosition.

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

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

Reimplemented from casacore::MVPosition.

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

Get radius of Baseline.

Reimplemented from casacore::MVPosition.

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

Re-adjust using factor given.

Reimplemented from casacore::MVPosition.

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

Reimplemented from casacore::MVPosition.

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

Get the angular separation between two directions.

Reimplemented from casacore::MVPosition.

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

Tell me your type.

Reimplemented from casacore::MVPosition.


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