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> 43 template <
class M>
class MeasConvert;
44 template <
class M>
class ArrayMeasColumn;
45 template <
class M>
class ScalarMeasColumn;
174 class MDirection :
public MeasBase<MVDirection, MeasRef<MDirection> > {
265 MDirection(const
MVDirection &dt, const MDirection::Ref &rf);
266 MDirection(const
MVDirection &dt, MDirection::Types rf);
269 const MDirection::Ref &rf);
271 MDirection::Types rf);
274 const MDirection::Ref &rf);
276 MDirection::Types rf);
279 MDirection(const MDirection::Ref &rf);
280 MDirection(MDirection::Types rf);
284 virtual ~MDirection();
296 static const
String &showMe();
333 const
uInt *&typ) const;
345 static
void checkMyTypes();
352 static
uInt myType();
A 1-D Specialization of the Array class.
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.
Read only access to table array Measure columns.
MDirection conversion routines.
MVDirection MVType
Measure value container for this class (i.e.
virtual Bool isModel() const
Tell me if you are a pure model (e.g.
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.
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.
typedef WHATEVER_SUN_TYPEDEF(MDirection) Types Types
Reference enum Types (included originally for gcc 2.95)
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 & 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 name of a moving source (SUN, etc.) or of a known standard source...
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.
Read only access to table scalar Measure columns.
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.
this file contains all the compiler specific defines
ScalarMeasColumn< MDirection > ScalarColumn
Measure table Columns (e.g., MDirection::ScalarColumn)
Quantum< Vector< Double > > getAngle() const
Get Measure data.
virtual uInt type() const
Tell me your reference type (as Register()) N.B.