29 #ifndef MEASURES_MEASURE_H
30 #define MEASURES_MEASURE_H
43 template <
class T>
class Quantum;
44 template <
class T>
class Vector;
358 const uInt *&typ)
const;
416 virtual void print(std::ostream &os)
const = 0;
451 virtual void clear() = 0;
friend std::ostream & operator<<(std::ostream &os, const Measure &meas)
Each derived class should have:
A 1-D Specialization of the Array class.
std::vector< double > Vector
Base for Reference frame for physical measures.
virtual Bool putValue(const Vector< Quantum< Double > > &in)=0
void dummy_data() const
Each class will have the following information: Actual data.
virtual MRBase * getRefPtr() const =0
Get general reference pointer.
Physical quantities within reference frame.
virtual const String * allTypes(Int &nall, Int &nextra, const uInt *&typ) const
Get a list of all known reference codes.
virtual uInt type() const =0
Get the type (== Register() of derived Measure (faster than Strings) All should have: static uInt myT...
void dummy_getValue() const
Each derived class should be able to get its internal value and have:
ostream & operator<<(ostream &os, const std::pair< T, U > &p)
virtual ~Measure()
Destructor.
virtual Bool setRefString(const String &in)=0
Set the reference type to the specified String.
virtual Bool areYou(const String &tp) const =0
Check the type of derived Measure entity (e.g.
virtual String getRefString() const =0
Each Measure should have the following static methods to give its name (e.g.
virtual const MeasValue * getData() const =0
Get data pointer (used by MeasConvert)
Base class for values in a Measure.
virtual Measure * clone() const =0
Create a copy.
virtual void clear()=0
Clear the measure.
virtual void print(std::ostream &os) const =0
Print a Measure.
void * Convert
Each Measure should have typedefs of the form:
virtual Bool isModel() const
Tell me if you are a pure model (e.g.
virtual void set(const MeasValue &dt)=0
Each Measure should have the following set functions (with appropiate MVs and Ref): ...
bool Bool
Define the standard types used by Casacore.
virtual const Unit & getUnit() const =0
Get unit (only available if Measure generated from a Quantum, else "")
virtual const String & getDefaultType() const =0
Get the default reference type.
Types
Each derived class should have a Types enumeration, specifying the recognised frame types...
virtual void checkTypes() const =0
Check if all internal tables of types (both enum and String) are complete and correct.
virtual Bool setOffset(const Measure &in)=0
Set the offset in the reference (False if non-matching Measure)
void dummy_giveMe() const
Each derived class should have a string-to-code translation routine for the reference type...
virtual const String & tellMe() const =0
Tell me your Measure type (e.g.
virtual void assured(const String &tp) const =0
Assert that we are the correct Measure type.
static uInt giveMe(const String &in, Int N_name, const String tname[])
A general string checking routine to be used in derived measures.
String: the storage and methods of handling collections of characters.
void dummy_getRef() const
Each class should have a function to return its reference:
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.