29 #ifndef MEASURES_MDIRECTION_H
30 #define MEASURES_MDIRECTION_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/measures/Measures/MeasBase.h>
35 #include <casacore/measures/Measures/MeasRef.h>
36 #include <casacore/casa/Quanta/MVDirection.h>
332 const uInt *&typ)
const;
Bool giveMe(MDirection::Ref &mr, const String &in)
static void checkMyTypes()
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.
virtual String getRefString() const
Get the reference type (for records, including codes like R_)
MeasConvert< MDirection > Convert
Measure Convert (i.e.
void shift(Double lng, Double lat, Bool trueAngle=False)
void shiftLatitude(Double lat, Bool trueAngle=False)
MDirection(MDirection::Types rf)
static Bool getType(MDirection::Types &tp, const String &in)
Translate string to reference code.
MDirection(const Quantum< Vector< Double > > &dt)
void shift(const MVDirection &shft, Bool trueAngle=False)
static const String * allMyTypes(Int &nall, Int &nextra, const uInt *&typ)
MVDirection MVType
Measure value container for this class (i.e.
ArrayMeasColumn< MDirection > ArrayColumn
virtual Bool setRefString(const String &in)
Set the reference type to the specified String.
virtual void checkTypes() const
Check if all internal tables of types (both enum and String) are complete and correct.
virtual uInt type() const
Tell me your reference type (as Register()) N.B.
Quantum< Vector< Double > > getAngle(const Unit &inunit) const
static const String & showType(uInt tp)
MDirection(const Quantity &dt, const Quantity &dt1, const MDirection::Ref &rf)
MDirection(const MDirection::Ref &rf)
void shiftLongitude(Double lng, Bool trueAngle=False)
MDirection(const Quantity &dt, const Quantity &dt1)
static MDirection makeMDirection(const String &sourceName)
Make an MDirection object given the case-insensitive name of a moving source (ZENITH,...
virtual Bool isModel() const
Tell me if you are a pure model (e.g.
MDirection(const MVDirection &dt, MDirection::Types rf)
void shiftLongitude(const Quantity &lng, Bool trueAngle=False)
MDirection(const Quantum< Vector< Double > > &dt, const MDirection::Ref &rf)
MeasRef< MDirection > Ref
Measure reference (i.e.
MCDirection MCType
Measure conversion routines for this class (i.e.
static MDirection::Types castType(uInt tp)
Translate reference code tp.
Types
Types of known MDirections Warning: The order defines the order in the translation matrix FromTo in ...
@ COMET
Comet or other table-described solar system body.
virtual Bool setOffset(const Measure &in)
Set the offset in the reference (False if non-matching Measure)
void shiftAngle(Double off, Double pa)
Quantum< Vector< Double > > getAngle() const
Get Measure data.
MDirection(const Quantum< Vector< Double > > &dt, MDirection::Types rf)
static const String & showMe()
virtual const String * allTypes(Int &nall, Int &nextra, const uInt *&typ) const
Get a list of all known reference codes.
static MDirection::GlobalTypes globalType(uInt tp)
Tell me the global type (like GRADEC) for tp (tp like MDirection::J2000)
String toString() const
Convert to a String in astronomer-friendly format based on reference frame.
static void assure(const Measure &in)
Assert you are a direction.
MDirection(const MVDirection &dt)
Create from data and reference.
static uInt myType()
Get my type (as Register) N.B.
virtual const String & tellMe() const
Tell me your type ('Direction')
virtual const String & getDefaultType() const
Get the default reference type.
MDirection()
Tip: In the following constructors and other functions, all MeasRef can be replaced with simple Measu...
void shiftAngle(const Quantum< Double > &off, const Quantum< Double > &pa)
Shift over an angle off in the direction pa.
MDirection(const MeasValue *dt)
static const String & showType(MDirection::Types tp)
MDirection(const MVDirection &dt, const MDirection::Ref &rf)
void shiftLatitude(const Quantum< Double > &lat, Bool trueAngle=False)
ScalarMeasColumn< MDirection > ScalarColumn
Measure table Columns (e.g., MDirection::ScalarColumn)
MDirection(const Quantity &dt, const Quantity &dt1, MDirection::Types rf)
MDirection(const Measure *dt)
String: the storage and methods of handling collections of characters.
this file contains all the compiler specific defines
LatticeExprNode pa(const LatticeExprNode &left, const LatticeExprNode &right)
This function finds 180/pi*atan2(left,right)/2.
bool Bool
Define the standard types used by Casacore.