|
casacore
|
#include <MVBaseline.h>
Public Member Functions | |
| MVBaseline () | |
| Default constructor generates a (0,0,0) Baseline. | |
| MVBaseline (const MVPosition &other) | |
| Creates from an MVPosition. | |
| 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)). | |
| 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. | |
| MVBaseline & | operator+= (const MVBaseline &right) |
| MVBaseline | operator+ (const MVBaseline &right) const |
| MVBaseline & | operator-= (const MVBaseline &right) |
| MVBaseline | operator- (const MVBaseline &right) const |
| 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< Double > | get () 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 MeasValue * | clone () const |
| Clone. | |
| virtual Vector< Double > | getVector () 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. | |
| Public Member Functions inherited from casacore::MVPosition | |
| MVPosition () | |
| Default constructor generates a (0,0,0) position. | |
| MVPosition (const MVPosition &other) | |
| Copy constructor. | |
| MVPosition (Double in0, Double in1, Double in2) | |
| Creates a specified vector. | |
| MVPosition (Double in0) | |
| Creates a vector with specified length towards pole. | |
| MVPosition (const Quantity &l) | |
| MVPosition (const Quantity &l, Double angle0, Double angle1) | |
| Creates the position from specified (azimuth,elevation) angles and length. | |
| MVPosition (const Quantity &l, const Quantity &angle0, const Quantity &angle1) | |
| Creates the position from specified angles and length. | |
| MVPosition (const Quantum< Vector< Double > > &angle) | |
| If not enough angles: pole assumed (if none), or elevation =0 (if 1). | |
| MVPosition (const Quantity &l, const Quantum< Vector< Double > > &angle) | |
| MVPosition (const Vector< Double > &other) | |
| Create from specified length and/or angles and/or position. | |
| MVPosition (const Vector< Quantity > &other) | |
| MVPosition & | operator= (const MVPosition &other) |
| Copy assignment. | |
| virtual | ~MVPosition () |
| Destructor. | |
| Double | operator* (const MVPosition &other) const |
| Multiplication defined as in-product. | |
| Bool | operator== (const MVPosition &other) const |
| Equality comparisons. | |
| Bool | operator!= (const MVPosition &other) const |
| Bool | near (const MVPosition &other, Double tol=1e-13) const |
| Bool | near (const MVPosition &other, Quantity tol) const |
| Bool | nearAbs (const MVPosition &other, Double tol=1e-13) const |
| MVPosition | operator- () const |
| Addition and subtraction. | |
| MVPosition & | operator+= (const MVPosition &right) |
| MVPosition | operator+ (const MVPosition &right) const |
| MVPosition & | operator-= (const MVPosition &right) |
| MVPosition | operator- (const MVPosition &right) const |
| MVPosition & | operator*= (const RotMatrix &right) |
| Multiplication with rotation matrix (see also global functions). | |
| MVPosition & | operator*= (Double right) |
| Multiplication with constant. | |
| Double & | operator() (uInt which) |
| Obtain an element. | |
| const Double & | operator() (uInt which) const |
| Vector< Double > | get () 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 | |
| Double | getLong () const |
| Get the longitudinal angle (in radians). | |
| Quantity | getLong (const Unit &unit) const |
| and with specified units | |
| Double | getLat () const |
| Get the latitude angle (rad). | |
| Quantity | getLat (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 | positionAngle (const MVPosition &other) const |
| Get the position angle between the directions. | |
| Quantity | positionAngle (const MVPosition &other, const Unit &unit) const |
| Double | separation (const MVPosition &other) const |
| Get the angular separation between two directions. | |
| Quantity | separation (const MVPosition &other, const Unit &unit) const |
| MVPosition | crossProduct (const MVPosition &other) const |
| Produce the cross product. | |
| Public Member Functions inherited from casacore::MeasValue | |
| void | dummy_constr () const |
| Each derived class should have at least the following constructors: | |
| virtual | ~MeasValue () |
| Destructor. | |
| void | dummy_operator () const |
| The following operators should be present at least. | |
Static Public Member Functions | |
| static void | assure (const MeasValue &in) |
| Tell me your type. | |
| Static Public Member Functions inherited from casacore::MVPosition | |
| static void | assure (const MeasValue &in) |
| Tell me your type. | |
Additional Inherited Members | |
| Static Public Attributes inherited from casacore::MVPosition | |
| static const Double | loLimit |
| Internal limts codes for negative height. | |
| static const Double | hiLimit |
| Protected Member Functions inherited from casacore::MVPosition | |
| Double | getLat (Double ln) const |
| Get the latitude assuming length is given. | |
| Protected Attributes inherited from casacore::MVPosition | |
| Vector< Double > | xyz |
| Position vector (in m). | |
A 3D vector on Earth
Public interface
From Measure, Value and Baseline
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.
See MBaseline class.
To do coordinate transformations
Definition at line 106 of file MVBaseline.h.
| casacore::MVBaseline::MVBaseline | ( | ) |
Default constructor generates a (0,0,0) Baseline.
Referenced by BaselineAngle(), BaselineAngle(), crossProduct(), near(), near(), nearAbs(), operator!=(), operator*(), operator+(), operator+=(), operator-(), operator-(), operator-=(), operator==(), separation(), and separation().
| casacore::MVBaseline::MVBaseline | ( | const MVPosition & | other | ) |
Creates from an MVPosition.
References casacore::MVPosition::MVPosition().
|
explicit |
Creates a vector with specified length towards pole.
| casacore::MVBaseline::MVBaseline | ( | const Quantity & | l | ) |
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
If not enough angles: pole assumed (if none), or elevation =0 (if 1).
Create from specified length and/or angles and/or Baseline.
| casacore::MVBaseline::MVBaseline | ( | const MVPosition & | pos, |
| const MVPosition & | base ) |
Baseline as difference between positions (first - second (default(0,0,0)).
References casacore::MVPosition::MVPosition().
|
virtual |
Normalise direction aspects by adjusting the length to 1.
Reimplemented from casacore::MVPosition.
|
virtual |
Adjustment with returned factor.
Reimplemented from casacore::MVPosition.
|
static |
Tell me your type.
| 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.
References MVBaseline().
| Quantity casacore::MVBaseline::BaselineAngle | ( | const MVBaseline & | other, |
| const Unit & | unit ) const |
References MVBaseline().
|
virtual |
Clone.
Reimplemented from casacore::MVPosition.
| MVBaseline casacore::MVBaseline::crossProduct | ( | const MVBaseline & | other | ) | const |
Produce the cross product.
References MVBaseline().
Generate a 3-vector of coordinates (length(m), angles(rad)).
Generate angle 2-vector (in rad).
and with specified units
| Quantity casacore::MVBaseline::getLength | ( | ) | const |
Generate the length.
and generate it with the specified units
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.
Reimplemented from casacore::MVPosition.
Definition at line 229 of file MVBaseline.h.
References getXRecordValue().
Generate a 3-vector of x,y,z in m.
Get the value in internal units.
Reimplemented from casacore::MVPosition.
Reimplemented from casacore::MVPosition.
Referenced by getTMRecordValue().
| Bool casacore::MVBaseline::near | ( | const MVBaseline & | other, |
| Double | tol = 1e-13 ) const |
References MVBaseline().
| Bool casacore::MVBaseline::near | ( | const MVBaseline & | other, |
| Quantity | tol ) const |
References MVBaseline().
| Bool casacore::MVBaseline::nearAbs | ( | const MVBaseline & | other, |
| Double | tol = 1e-13 ) const |
References MVBaseline().
| Bool casacore::MVBaseline::operator!= | ( | const MVBaseline & | other | ) | const |
References MVBaseline().
| Double casacore::MVBaseline::operator* | ( | const MVBaseline & | other | ) | const |
Multiplication defined as in-product.
References MVBaseline().
| MVBaseline casacore::MVBaseline::operator+ | ( | const MVBaseline & | right | ) | const |
References MVBaseline().
| MVBaseline & casacore::MVBaseline::operator+= | ( | const MVBaseline & | right | ) |
References MVBaseline().
| MVBaseline casacore::MVBaseline::operator- | ( | ) | const |
Addition and subtraction.
References MVBaseline().
| MVBaseline casacore::MVBaseline::operator- | ( | const MVBaseline & | right | ) | const |
References MVBaseline().
| MVBaseline & casacore::MVBaseline::operator-= | ( | const MVBaseline & | right | ) |
References MVBaseline().
| Bool casacore::MVBaseline::operator== | ( | const MVBaseline & | other | ) | const |
Equality comparisons.
References MVBaseline().
|
virtual |
Print data.
Reimplemented from casacore::MVPosition.
Set the internal value if correct values and dimensions.
Reimplemented from casacore::MVPosition.
Set the value from internal units (set 0 for empty vector).
Reimplemented from casacore::MVPosition.
|
virtual |
Get radius of Baseline.
Reimplemented from casacore::MVPosition.
|
virtual |
Re-adjust using factor given.
Reimplemented from casacore::MVPosition.
| Double casacore::MVBaseline::separation | ( | const MVBaseline & | other | ) | const |
Get the angular separation between two directions.
References MVBaseline().
| Quantity casacore::MVBaseline::separation | ( | const MVBaseline & | other, |
| const Unit & | unit ) const |
References MVBaseline().