26#ifndef MEASURES_MEASCONVERT_H
27#define MEASURES_MEASCONVERT_H
30#include <casacore/casa/aips.h>
31#include <casacore/casa/Containers/Block.h>
32#include <casacore/measures/Measures/MConvertBase.h>
33#include <casacore/casa/Quanta/Quantum.h>
34#include <casacore/measures/Measures/Measure.h>
165 MeasConvert(
const typename M::Ref &mrin,
const typename M::Ref &mr);
170 const typename M::Ref &mr);
172 typename M::Types mr);
174 const typename M::Ref &mr);
176 typename M::Types mr);
194 const M &
operator()(
const M &val,
const typename M::Ref &mr);
210 void set(
const M &val,
const typename M::Ref &mr);
211 void set(
const M &val,
typename M::Types mr);
229 virtual void print(ostream &os)
const;
272 const typename M::MVType &
convert(
const typename M::MVType &val);
281#ifndef CASACORE_NO_AUTO_TEMPLATES
282#include <casacore/measures/Measures/MeasConvert.tcc>
size_t nelements() const
The number of elements contained in this Block<T>.
virtual void addMethod(uInt method)
Add a method (Note: uInt should be an enum from the appropiate Measure)
virtual void print(ostream &os) const
Print conversion engine.
const M::MVType & convert(const typename M::MVType &val)
const M & operator()(Double val)
const M & operator()(const typename M::MVType &val)
MeasConvert(const Unit &inunit, typename M::Types mrin, const typename M::Ref &mr)
virtual uInt getMethod(uInt which) const
Get method.
Bool isNOP()
Is the conversion engine empty?
void set(const M &val, const typename M::Ref &mr)
Set a new model and reference.
const M & operator()(const Quantum< Double > &val)
MeasConvert(const M &ep, const typename M::Ref &mr)
virtual void set(const MeasValue &val)
Set a new model value only.
const M & operator()(const MeasVal *val)
M::MVType * offin
The input offset.
const M & operator()(typename M::Types mr)
void init()
Initialise pointers.
const M & operator()(const Vector< Double > &val)
void setOut(const typename M::Ref &mr)
Set a new output reference.
MeasConvert(const Unit &inunit, const typename M::Ref &mrin, const typename M::Ref &mr)
MeasConvert(const Unit &inunit, const typename M::Ref &mrin, typename M::Types mr)
MeasConvert(const Measure &ep, const typename M::Ref &mr)
M::MVType * offout
The output offset.
M::Ref outref
The output reference.
MeasConvert(const typename M::Ref &mrin, const typename M::Ref &mr)
MeasConvert()
Tip: In the following constructors and other functions, all MeasRef can be replaced with simple Measu...
virtual void addFrameType(uInt tp)
Add the frame type (Note: tp should be an MeasFrame::FrameType)
MeasConvert(const Unit &inunit, typename M::Types mrin, typename M::Types mr)
Unit unit
The model unit to be used in conversions.
const M & operator()(const M &val, typename M::Types mr)
MeasConvert(typename M::Types mrin, typename M::Types mr)
Int lres
Cyclic buffer for return values.
void setOut(typename M::Types mr)
MeasConvert< M > & operator=(const MeasConvert< M > &other)
Copy assignment.
void copy(const MeasConvert< M > &other)
Copy a MeasConvert.
virtual void setModel(const Measure &val)
Set a new model for the conversion.
const M & operator()(const M &val)
MeasConvert(const typename M::Ref &mrin, typename M::Types mr)
uInt crtype
Coded (with MeasFrame::FrameTypes) frames used in conversion.
void set(const M &val, typename M::Types mr)
MeasConvert(const M &ep)
Construct a conversion for the specified Measure and reference.
const M & operator()(const Quantum< Vector< Double > > &val)
Block< uInt > crout
Vector of conversion routines (length variable)
MeasConvert(typename M::Types mrin, const typename M::Ref &mr)
Measure * model
The model template Measure.
MeasConvert(const Measure &ep, typename M::Types mr)
const M & operator()(const M &val, const typename M::Ref &mr)
virtual Int nMethod() const
Get number of methods.
const M::MVType & convert()
Convert a value.
void create()
Create the conversion routine chain.
MCBase * cvdat
Local conversion data.
MeasConvert(const MeasConvert< M > &other)
Copy constructor.
MeasConvert(const M &ep, typename M::Types mr)
M::MVType * locres
Local variables that can be used in conversion.
const M & operator()(const typename M::Ref &mr)
const M & operator()()
The actual conversion operations.
virtual void set(const Unit &inunit)
Set a new model unit only.
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.