casa
$Rev:20696$
|
A 3D Earth magnetic field vector. More...
#include <MVEarthMagnetic.h>
Public Member Functions | |
MVEarthMagnetic () | |
Default constructor generates a (0,0,0) EarthMagnetic. | |
MVEarthMagnetic (const MVPosition &other) | |
Copy constructor. | |
MVEarthMagnetic (Double in0, Double in1, Double in2) | |
Creates a specified vector. | |
MVEarthMagnetic (Double in0) | |
Creates a vector with specified length towards pole. | |
MVEarthMagnetic (const Quantity &l) | |
MVEarthMagnetic (const Quantity &l, Double angle0, Double angle1) | |
Creates the EarthMagnetic from specified (azimuth,elevation) angles and length. | |
MVEarthMagnetic (const Quantity &l, const Quantity &angle0, const Quantity &angle1) | |
Creates the EarthMagnetic from specified angles and length. | |
MVEarthMagnetic (const Quantum< Vector< Double > > &angle) | |
If not enough angles: pole assumed (if none), or elevation =0 (if 1) | |
MVEarthMagnetic (const Quantity &l, const Quantum< Vector< Double > > &angle) | |
MVEarthMagnetic (const Vector< Double > &other) | |
Create from specified length and/or angles and/or EarthMagnetic. | |
MVEarthMagnetic (const Vector< Quantity > &other) | |
MVEarthMagnetic & | operator= (const MVEarthMagnetic &other) |
Copy assignment. | |
~MVEarthMagnetic () | |
Destructor. | |
Double | operator* (const MVEarthMagnetic &other) const |
Multiplication defined as in-product. | |
Bool | operator== (const MVEarthMagnetic &other) const |
Equality comparisons. | |
Bool | operator!= (const MVEarthMagnetic &other) const |
Bool | near (const MVEarthMagnetic &other, Double tol=1e-13) const |
Bool | near (const MVEarthMagnetic &other, Quantity tol) const |
Bool | nearAbs (const MVEarthMagnetic &other, Double tol=1e-13) const |
MVEarthMagnetic | operator- () const |
Addition and subtraction. | |
MVEarthMagnetic & | operator+= (const MVEarthMagnetic &right) |
MVEarthMagnetic | operator+ (const MVEarthMagnetic &right) const |
MVEarthMagnetic & | operator-= (const MVEarthMagnetic &right) |
MVEarthMagnetic | operator- (const MVEarthMagnetic &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 modulus of EarthMagnetic. | |
Vector< Double > | get () const |
Generate a 3-vector of coordinates (length(T), angles(rad)) | |
const Vector< Double > & | getValue () const |
Generate a 3-vector of x,y,z in tesla. | |
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 | earthMagneticAngle (const MVEarthMagnetic &other) const |
Get the EarthMagnetic angle between the directions. | |
Quantity | earthMagneticAngle (const MVEarthMagnetic &other, const Unit &unit) const |
Double | separation (const MVEarthMagnetic &other) const |
Get the angular separation between two directions. | |
Quantity | separation (const MVEarthMagnetic &other, const Unit &unit) const |
MVEarthMagnetic | crossProduct (const MVEarthMagnetic &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 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) |
A 3D Earth magnetic field vector.
Internal
<h3>Review Status</h3><dl><dt>Reviewed By:<dd>UNKNOWN<dt>Date Reviewed:<dd>before2004/08/25</dl>
From Measure, Value and Earth Magnetic field
A MVEarthMagnetic is a 3-vector of the Earth's magnetic flux density in a rectangular frame with the z-axis to astronomical North pole, and x-axis towards longitude zero, in internal Units of nano tesla (== 0.00001 G).
It can be constructed with:
MVEarthMagnetic(Quantity, Quantum<Vector<Double> >)
creates a MVEarthMagnetic from angle vector, using first two angles, and assuming second as zero if not present, and pole if length 0. MVEarthMagnetic(Quantum<Vector<Double> >
creates from angles or fields, depending on the units in the quantum vector. In the angle case, the data derived can be scaled with the readjust() function. If the unit of the quantum vector is magnetic flux density, magnetic field components are assumed. MVEarthMagnetic(Vector<Double>
creates from angles (less than or equal to two elements) or x,y,z (3 elements). MVEarthMagnetic(Vector<Quantity>
creates from length+angles, angles, or x,y,z, depending on units. 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 EarthMagnetic vector; a getAngle() returns a Quantum 2-vector, (uInt) returns the indicated element, and getValue returns the vector.
EarthMagnetics can be added and subtracted.
The multiplication of two EarthMagnetics produces the in-product.
See MEarthMagnetic class.
To use in ionospheric effect calculations
Definition at line 109 of file MVEarthMagnetic.h.
Default constructor generates a (0,0,0) EarthMagnetic.
casa::MVEarthMagnetic::MVEarthMagnetic | ( | const MVPosition & | other | ) |
Copy constructor.
casa::MVEarthMagnetic::MVEarthMagnetic | ( | Double | in0, |
Double | in1, | ||
Double | in2 | ||
) |
Creates a specified vector.
casa::MVEarthMagnetic::MVEarthMagnetic | ( | Double | in0 | ) | [explicit] |
Creates a vector with specified length towards pole.
casa::MVEarthMagnetic::MVEarthMagnetic | ( | const Quantity & | l | ) |
casa::MVEarthMagnetic::MVEarthMagnetic | ( | const Quantity & | l, |
Double | angle0, | ||
Double | angle1 | ||
) |
Creates the EarthMagnetic from specified (azimuth,elevation) angles and length.
casa::MVEarthMagnetic::MVEarthMagnetic | ( | const Quantity & | l, |
const Quantity & | angle0, | ||
const Quantity & | angle1 | ||
) |
Creates the EarthMagnetic from specified angles and length.
or EarthMagnetics
<h3>Thrown Exceptions</h3><ul> <li> AipsError if quantities not in angle format </ul>
casa::MVEarthMagnetic::MVEarthMagnetic | ( | const Quantum< Vector< Double > > & | angle | ) |
If not enough angles: pole assumed (if none), or elevation =0 (if 1)
casa::MVEarthMagnetic::MVEarthMagnetic | ( | const Quantity & | l, |
const Quantum< Vector< Double > > & | angle | ||
) |
casa::MVEarthMagnetic::MVEarthMagnetic | ( | const Vector< Double > & | other | ) |
Create from specified length and/or angles and/or EarthMagnetic.
casa::MVEarthMagnetic::MVEarthMagnetic | ( | const Vector< Quantity > & | other | ) |
Destructor.
virtual void casa::MVEarthMagnetic::adjust | ( | ) | [virtual] |
Normalise direction aspects by adjusting the length to 1.
Reimplemented from casa::MVPosition.
virtual void casa::MVEarthMagnetic::adjust | ( | Double & | res | ) | [virtual] |
Adjustment with returned factor.
Reimplemented from casa::MVPosition.
static void casa::MVEarthMagnetic::assure | ( | const MeasValue & | in | ) | [static] |
Reimplemented from casa::MVPosition.
virtual MeasValue* casa::MVEarthMagnetic::clone | ( | ) | const [virtual] |
Clone.
Reimplemented from casa::MVPosition.
MVEarthMagnetic casa::MVEarthMagnetic::crossProduct | ( | const MVEarthMagnetic & | other | ) | const |
Produce the cross product.
Double casa::MVEarthMagnetic::earthMagneticAngle | ( | const MVEarthMagnetic & | other | ) | const |
Get the EarthMagnetic angle between the directions.
I.e. the angle between the direction from one to the pole, and from one to the other.
Quantity casa::MVEarthMagnetic::earthMagneticAngle | ( | const MVEarthMagnetic & | other, |
const Unit & | unit | ||
) | const |
Vector<Double> casa::MVEarthMagnetic::get | ( | ) | const |
Generate a 3-vector of coordinates (length(T), angles(rad))
Reimplemented from casa::MVPosition.
Quantum<Vector<Double> > casa::MVEarthMagnetic::getAngle | ( | ) | const |
Generate angle 2-vector (in rad)
Reimplemented from casa::MVPosition.
Quantum<Vector<Double> > casa::MVEarthMagnetic::getAngle | ( | const Unit & | unit | ) | const |
and with specified units
Reimplemented from casa::MVPosition.
Quantity casa::MVEarthMagnetic::getLength | ( | ) | const |
Generate the length.
Reimplemented from casa::MVPosition.
Quantity casa::MVEarthMagnetic::getLength | ( | const Unit & | unit | ) | const |
and generate it with the specified units
Reimplemented from casa::MVPosition.
virtual Vector<Quantum<Double> > casa::MVEarthMagnetic::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 casa::MVPosition.
const Vector<Double>& casa::MVEarthMagnetic::getValue | ( | ) | const |
Generate a 3-vector of x,y,z in tesla.
Reimplemented from casa::MVPosition.
virtual Vector<Double> casa::MVEarthMagnetic::getVector | ( | ) | const [virtual] |
Get the value in internal units.
Reimplemented from casa::MVPosition.
Bool casa::MVEarthMagnetic::near | ( | const MVEarthMagnetic & | other, |
Double | tol = 1e-13 |
||
) | const |
Bool casa::MVEarthMagnetic::near | ( | const MVEarthMagnetic & | other, |
Quantity | tol | ||
) | const |
Bool casa::MVEarthMagnetic::nearAbs | ( | const MVEarthMagnetic & | other, |
Double | tol = 1e-13 |
||
) | const |
Bool casa::MVEarthMagnetic::operator!= | ( | const MVEarthMagnetic & | other | ) | const |
Double casa::MVEarthMagnetic::operator* | ( | const MVEarthMagnetic & | other | ) | const |
Multiplication defined as in-product.
MVEarthMagnetic casa::MVEarthMagnetic::operator+ | ( | const MVEarthMagnetic & | right | ) | const |
MVEarthMagnetic& casa::MVEarthMagnetic::operator+= | ( | const MVEarthMagnetic & | right | ) |
MVEarthMagnetic casa::MVEarthMagnetic::operator- | ( | ) | const |
Addition and subtraction.
Reimplemented from casa::MVPosition.
MVEarthMagnetic casa::MVEarthMagnetic::operator- | ( | const MVEarthMagnetic & | right | ) | const |
MVEarthMagnetic& casa::MVEarthMagnetic::operator-= | ( | const MVEarthMagnetic & | right | ) |
MVEarthMagnetic& casa::MVEarthMagnetic::operator= | ( | const MVEarthMagnetic & | other | ) |
Copy assignment.
Bool casa::MVEarthMagnetic::operator== | ( | const MVEarthMagnetic & | other | ) | const |
Equality comparisons.
virtual void casa::MVEarthMagnetic::print | ( | ostream & | os | ) | const [virtual] |
Print data.
Reimplemented from casa::MVPosition.
virtual Bool casa::MVEarthMagnetic::putValue | ( | const Vector< Quantum< Double > > & | in | ) | [virtual] |
Set the internal value if correct values and dimensions.
Reimplemented from casa::MVPosition.
virtual void casa::MVEarthMagnetic::putVector | ( | const Vector< Double > & | in | ) | [virtual] |
Set the value from internal units (set 0 for empty vector)
Reimplemented from casa::MVPosition.
virtual Double casa::MVEarthMagnetic::radius | ( | ) | [virtual] |
Get modulus of EarthMagnetic.
Reimplemented from casa::MVPosition.
virtual void casa::MVEarthMagnetic::readjust | ( | Double | res | ) | [virtual] |
Re-adjust using factor given.
Reimplemented from casa::MVPosition.
Double casa::MVEarthMagnetic::separation | ( | const MVEarthMagnetic & | other | ) | const |
Get the angular separation between two directions.
Quantity casa::MVEarthMagnetic::separation | ( | const MVEarthMagnetic & | other, |
const Unit & | unit | ||
) | const |
virtual uInt casa::MVEarthMagnetic::type | ( | ) | const [virtual] |
Tell me your type.
Reimplemented from casa::MVPosition.