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>
328 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.
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.
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.