|
casacore
|
#include <MVPosition.h>
Public Member Functions | |
| 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 |
| 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 position. | |
| 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. | |
| 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::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 Attributes | |
| static const Double | loLimit |
| Internal limts codes for negative height. | |
| static const Double | hiLimit |
Protected Member Functions | |
| Double | getLat (Double ln) const |
| Get the latitude assuming length is given. | |
Protected Attributes | |
| Vector< Double > | xyz |
| Position vector (in m). | |
A 3D vector in space
Public interface
From Measure, Value and Position
A MVPosition is a 3-vector of positions 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 position vector; a getAngle() returns a Quantum 2-vector, (uInt) returns the indicated element, and getValue returns the vector.
Positions can be added and subtracted.
The multiplication of two positions produces the in-product.
See Mposition class.
To do coordinate transformations
Definition at line 111 of file MVPosition.h.
| casacore::MVPosition::MVPosition | ( | ) |
Default constructor generates a (0,0,0) position.
Referenced by crossProduct(), casacore::MVBaseline::MVBaseline(), casacore::MVBaseline::MVBaseline(), casacore::MVDirection::MVDirection(), casacore::MVEarthMagnetic::MVEarthMagnetic(), MVPosition(), casacore::MVuvw::MVuvw(), near(), near(), nearAbs(), operator!=(), operator*(), operator*=(), operator*=(), operator+(), operator+=(), operator-(), operator-(), operator-=(), operator=(), operator==(), casacore::MVDirection::positionAngle(), casacore::MVDirection::positionAngle(), positionAngle(), positionAngle(), casacore::MVDirection::separation(), casacore::MVDirection::separation(), separation(), and separation().
| casacore::MVPosition::MVPosition | ( | const MVPosition & | other | ) |
Copy constructor.
References MVPosition().
|
explicit |
Creates a vector with specified length towards pole.
| casacore::MVPosition::MVPosition | ( | const Quantity & | l | ) |
Creates the position from specified (azimuth,elevation) angles and length.
| casacore::MVPosition::MVPosition | ( | const Quantity & | l, |
| const Quantity & | angle0, | ||
| const Quantity & | angle1 ) |
Creates the position from specified angles and length.
or positions
If not enough angles: pole assumed (if none), or elevation =0 (if 1).
Create from specified length and/or angles and/or position.
|
virtual |
Destructor.
|
virtual |
Normalise direction aspects by adjusting the length to 1.
For position no adjustment; for direction adjustment
Reimplemented from casacore::MeasValue.
Reimplemented in casacore::MVBaseline, casacore::MVDirection, casacore::MVEarthMagnetic, and casacore::MVuvw.
|
virtual |
Adjustment with returned factor.
Reimplemented from casacore::MeasValue.
Reimplemented in casacore::MVBaseline, casacore::MVDirection, casacore::MVEarthMagnetic, and casacore::MVuvw.
|
static |
Tell me your type.
|
virtual |
Clone.
Implements casacore::MeasValue.
Reimplemented in casacore::MVBaseline, casacore::MVDirection, casacore::MVEarthMagnetic, and casacore::MVuvw.
| MVPosition casacore::MVPosition::crossProduct | ( | const MVPosition & | other | ) | const |
Produce the cross product.
References MVPosition().
Generate a 3-vector of coordinates (length(m), angles(rad)).
Generate angle 2-vector (in rad).
and with specified units
| Double casacore::MVPosition::getLat | ( | ) | const |
Get the latitude angle (rad).
Get the latitude assuming length is given.
| Quantity casacore::MVPosition::getLength | ( | ) | const |
Generate the length.
and generate it with the specified units
| Double casacore::MVPosition::getLong | ( | ) | const |
Get the longitudinal angle (in radians).
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.
Implements casacore::MeasValue.
Reimplemented in casacore::MVBaseline, casacore::MVDirection, casacore::MVEarthMagnetic, and casacore::MVuvw.
Reimplemented from casacore::MeasValue.
Reimplemented in casacore::MVBaseline, casacore::MVDirection, and casacore::MVuvw.
Definition at line 267 of file MVPosition.h.
References getXRecordValue().
Generate a 3-vector of x,y,z in m.
Get the value in internal units.
Implements casacore::MeasValue.
Reimplemented in casacore::MVBaseline, casacore::MVEarthMagnetic, and casacore::MVuvw.
Reimplemented from casacore::MeasValue.
Reimplemented in casacore::MVBaseline, casacore::MVDirection, and casacore::MVuvw.
Referenced by getTMRecordValue().
| Bool casacore::MVPosition::near | ( | const MVPosition & | other, |
| Double | tol = 1e-13 ) const |
References MVPosition().
| Bool casacore::MVPosition::near | ( | const MVPosition & | other, |
| Quantity | tol ) const |
References MVPosition().
| Bool casacore::MVPosition::nearAbs | ( | const MVPosition & | other, |
| Double | tol = 1e-13 ) const |
References MVPosition().
| Bool casacore::MVPosition::operator!= | ( | const MVPosition & | other | ) | const |
References MVPosition().
| Double casacore::MVPosition::operator* | ( | const MVPosition & | other | ) | const |
Multiplication defined as in-product.
References MVPosition().
| MVPosition & casacore::MVPosition::operator*= | ( | const RotMatrix & | right | ) |
Multiplication with rotation matrix (see also global functions).
References MVPosition().
| MVPosition & casacore::MVPosition::operator*= | ( | Double | right | ) |
Multiplication with constant.
References MVPosition().
| MVPosition casacore::MVPosition::operator+ | ( | const MVPosition & | right | ) | const |
References MVPosition().
| MVPosition & casacore::MVPosition::operator+= | ( | const MVPosition & | right | ) |
References MVPosition().
| MVPosition casacore::MVPosition::operator- | ( | ) | const |
Addition and subtraction.
References MVPosition().
| MVPosition casacore::MVPosition::operator- | ( | const MVPosition & | right | ) | const |
References MVPosition().
| MVPosition & casacore::MVPosition::operator-= | ( | const MVPosition & | right | ) |
References MVPosition().
| MVPosition & casacore::MVPosition::operator= | ( | const MVPosition & | other | ) |
Copy assignment.
References MVPosition().
| Bool casacore::MVPosition::operator== | ( | const MVPosition & | other | ) | const |
Equality comparisons.
References MVPosition().
| Double casacore::MVPosition::positionAngle | ( | const MVPosition & | other | ) | const |
Get the position angle between the directions.
I.e. the angle between the direction from one to the pole, and from one to the other.
References MVPosition().
| Quantity casacore::MVPosition::positionAngle | ( | const MVPosition & | other, |
| const Unit & | unit ) const |
References MVPosition().
|
virtual |
Print data.
Implements casacore::MeasValue.
Reimplemented in casacore::MVBaseline, casacore::MVEarthMagnetic, and casacore::MVuvw.
Set the internal value if correct values and dimensions.
Implements casacore::MeasValue.
Reimplemented in casacore::MVBaseline, casacore::MVDirection, casacore::MVEarthMagnetic, and casacore::MVuvw.
Set the value from internal units (set 0 for empty vector).
Implements casacore::MeasValue.
Reimplemented in casacore::MVBaseline, casacore::MVEarthMagnetic, and casacore::MVuvw.
|
virtual |
Get radius of position.
Reimplemented in casacore::MVBaseline, casacore::MVEarthMagnetic, and casacore::MVuvw.
|
virtual |
Re-adjust using factor given.
Reimplemented from casacore::MeasValue.
Reimplemented in casacore::MVBaseline, casacore::MVEarthMagnetic, and casacore::MVuvw.
| Double casacore::MVPosition::separation | ( | const MVPosition & | other | ) | const |
Get the angular separation between two directions.
References MVPosition().
| Quantity casacore::MVPosition::separation | ( | const MVPosition & | other, |
| const Unit & | unit ) const |
References MVPosition().
|
static |
Definition at line 118 of file MVPosition.h.
|
static |
Internal limts codes for negative height.
Definition at line 117 of file MVPosition.h.
Position vector (in m).
Definition at line 279 of file MVPosition.h.