29 #ifndef MEASURES_MDIRECTION_H
30 #define MEASURES_MDIRECTION_H
43 template <
class M>
class MeasConvert;
44 template <
class M>
class ArrayMeasColumn;
45 template <
class M>
class ScalarMeasColumn;
328 const uInt *&typ)
const;
A Measure: astronomical direction.
MeasRef< MDirection > Ref
Measure reference (i.e.
static void assure(const Measure &in)
Assert you are a direction.
static MDirection::GlobalTypes globalType(uInt tp)
Tell me the global type (like GRADEC) for tp (tp like MDirection::J2000)
virtual const String * allTypes(Int &nall, Int &nextra, const uInt *&typ) const
Get a list of all known reference codes.
virtual const String & getDefaultType() const
Get the default reference type.
virtual Bool setOffset(const Measure &in)
Set the offset in the reference (False if non-matching Measure)
static Bool getType(MDirection::Types &tp, const String &in)
Translate string to reference code.
ArrayMeasColumn< MDirection > ArrayColumn
MCDirection MCType
Measure conversion routines for this class (i.e.
Physical quantities within reference frame.
Base class for all measures.
MDirection conversion routines.
Types
Types of known MDirections Warning: The order defines the order in the translation matrix FromTo in ...
MVDirection MVType
Measure value container for this class (i.e.
virtual Bool isModel() const
Tell me if you are a pure model (e.g.
static void checkMyTypes()
void shiftLongitude(const Quantity &lng, Bool trueAngle=False)
Comet or other table-described solar system body.
virtual void checkTypes() const
Check if all internal tables of types (both enum and String) are complete and correct.
Base class for values in a Measure.
virtual Bool setRefString(const String &in)
Set the reference type to the specified String.
LatticeExprNode pa(const LatticeExprNode &left, const LatticeExprNode &right)
This function finds 180/pi*atan2(left,right)/2.
void shiftLatitude(const Quantum< Double > &lat, Bool trueAngle=False)
virtual const String & tellMe() const
Tell me your type ('Direction')
Bool giveMe(MDirection::Ref &mr, const String &in)
static MDirection::Types castType(uInt tp)
Translate reference code tp.
bool Bool
Define the standard types used by Casacore.
void shift(const Quantum< Double > &lng, const Quantum< Double > &lat, Bool trueAngle=False)
Shift the direction in longitude (radians if Double) and/or latitude.
virtual Measure * clone() const
Make a copy.
static const String & showMe()
static const String & showType(MDirection::Types tp)
void shiftAngle(const Quantum< Double > &off, const Quantum< Double > &pa)
Shift over an angle off in the direction pa.
static MDirection makeMDirection(const String &sourceName)
Make an MDirection object given the case-insensitive name of a moving source (ZENITH, SUN, etc.), or of a known standard source (CygA, etc.).
static const String * allMyTypes(Int &nall, Int &nextra, const uInt *&typ)
String: the storage and methods of handling collections of characters.
MeasConvert< MDirection > Convert
Measure Convert (i.e.
MDirection()
Tip: In the following constructors and other functions, all MeasRef can be replaced with simple Meas...
Vector of three direction cosines.
virtual String getRefString() const
Get the reference type (for records, including codes like R_)
String toString() const
Convert to a String in astronomer-friendly format based on reference frame.
ScalarMeasColumn< MDirection > ScalarColumn
Measure table Columns (e.g., MDirection::ScalarColumn)
Quantum< Vector< Double > > getAngle() const
Get Measure data.