26#ifndef MEASURES_MEASCONVERT_H
27#define MEASURES_MEASCONVERT_H
33#include <casacore/casa/aips.h>
34#include <casacore/measures/Measures/MConvertBase.h>
35#include <casacore/casa/Quanta/Quantum.h>
36#include <casacore/measures/Measures/Measure.h>
168 MeasConvert(
const typename M::Ref &mrin,
const typename M::Ref &mr);
173 const typename M::Ref &mr);
175 typename M::Types mr);
177 const typename M::Ref &mr);
179 typename M::Types mr);
197 const M &
operator()(
const M &val,
const typename M::Ref &mr);
213 void set(
const M &val,
const typename M::Ref &mr);
214 void set(
const M &val,
typename M::Types mr);
232 virtual void print(ostream &os)
const;
243 std::unique_ptr<typename M::MVType>
offin;
245 std::unique_ptr<typename M::MVType>
offout;
260 std::unique_ptr<typename M::MVType>
locres;
275 const typename M::MVType &
convert(
const typename M::MVType &val);
284#ifndef CASACORE_NO_AUTO_TEMPLATES
285#include <casacore/measures/Measures/MeasConvert.tcc>
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)
const M & operator()(typename M::Types mr)
void init()
Initialise pointers.
const M & operator()(const Vector< Double > &val)
std::unique_ptr< Measure > model
std::unique_ptr< MCBase > cvdat
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)
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).
std::unique_ptr< MBaseline > result[4]
MeasConvert(const Unit &inunit, typename M::Types mrin, typename M::Types mr)
const M & operator()(const M &val, typename M::Types mr)
MeasConvert(typename M::Types mrin, typename M::Types mr)
std::unique_ptr< typename MBaseline::MVType > locres
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)
std::vector< uInt > crout
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)
std::unique_ptr< typename MBaseline::MVType > offout
MeasConvert(typename M::Types mrin, const typename M::Ref &mr)
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.
MeasConvert(const MeasConvert< M > &other)
Copy constructor.
MeasConvert(const M &ep, typename M::Types mr)
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.
std::unique_ptr< typename MBaseline::MVType > offin
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.