28 #ifndef CASA_MVEARTHMAGNETIC_H
29 #define CASA_MVEARTHMAGNETIC_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/casa/Quanta/MVPosition.h>
203 const Unit &unit)
const;
209 const Unit &unit)
const;
215 virtual void print(ostream &os)
const;
MVEarthMagnetic(const Quantum< Vector< Double > > &angle)
If not enough angles: pole assumed (if none), or elevation =0 (if 1)
virtual Vector< Double > getVector() const
Get the value in internal units.
Quantity earthMagneticAngle(const MVEarthMagnetic &other, const Unit &unit) const
virtual void readjust(Double res)
Re-adjust using factor given.
Double separation(const MVEarthMagnetic &other) const
Get the angular separation between two directions.
virtual void putVector(const Vector< Double > &in)
Set the value from internal units (set 0 for empty vector)
Bool operator==(const MVEarthMagnetic &other) const
Equality comparisons.
MVEarthMagnetic & operator+=(const MVEarthMagnetic &right)
Double operator*(const MVEarthMagnetic &other) const
Multiplication defined as in-product.
MVEarthMagnetic()
Default constructor generates a (0,0,0) EarthMagnetic.
Double earthMagneticAngle(const MVEarthMagnetic &other) const
Get the EarthMagnetic angle between the directions.
MVEarthMagnetic & operator-=(const MVEarthMagnetic &right)
virtual Double radius()
Get modulus of EarthMagnetic.
MVEarthMagnetic(const Quantity &l)
virtual Bool putValue(const Vector< Quantum< Double > > &in)
Set the internal value if correct values and dimensions.
Quantity getLength() const
Generate the length.
const Vector< Double > & getValue() const
Generate a 3-vector of x,y,z in tesla.
virtual Vector< Quantum< Double > > getRecordValue() const
Get the internal value as a Vector<Quantity>.
MVEarthMagnetic operator-(const MVEarthMagnetic &right) const
virtual void print(ostream &os) const
Print data.
static void assure(const MeasValue &in)
Tell me your type.
virtual MeasValue * clone() const
Clone.
Quantity getLength(const Unit &unit) const
and generate it with the specified units
Quantum< Vector< Double > > getAngle(const Unit &unit) const
and with specified units
Bool nearAbs(const MVEarthMagnetic &other, Double tol=1e-13) const
MVEarthMagnetic(Double in0, Double in1, Double in2)
Creates a specified vector.
virtual void adjust(Double &res)
Adjustment with returned factor.
Bool near(const MVEarthMagnetic &other, Quantity tol) const
Bool near(const MVEarthMagnetic &other, Double tol=1e-13) const
MVEarthMagnetic(const Quantity &l, const Quantity &angle0, const Quantity &angle1)
Creates the EarthMagnetic from specified angles and length.
MVEarthMagnetic operator+(const MVEarthMagnetic &right) const
Bool operator!=(const MVEarthMagnetic &other) const
MVEarthMagnetic(Double in0)
Creates a vector with specified length towards pole.
MVEarthMagnetic(const MVPosition &other)
Creates from an MVPosition.
Quantity separation(const MVEarthMagnetic &other, const Unit &unit) const
Vector< Double > get() const
Generate a 3-vector of coordinates (length(T), angles(rad))
MVEarthMagnetic(const Vector< Double > &other)
Create from specified length and/or angles and/or EarthMagnetic.
Quantum< Vector< Double > > getAngle() const
Generate angle 2-vector (in rad)
MVEarthMagnetic crossProduct(const MVEarthMagnetic &other) const
Produce the cross product.
MVEarthMagnetic(const Vector< Quantity > &other)
MVEarthMagnetic(const Quantity &l, Double angle0, Double angle1)
Creates the EarthMagnetic from specified (azimuth,elevation) angles and length.
MVEarthMagnetic(const Quantity &l, const Quantum< Vector< Double > > &angle)
MVEarthMagnetic operator-() const
Addition and subtraction.
virtual void adjust()
Normalise direction aspects by adjusting the length to 1.
const Double e
e and functions thereof:
this file contains all the compiler specific defines
MVBaseline operator*(const RotMatrix &left, const MVBaseline &right)
Rotate a Baseline vector with rotation matrix and other multiplications.
bool Bool
Define the standard types used by Casacore.