30 #ifndef COORDINATES_LINEARCOORDINATE_H
31 #define COORDINATES_LINEARCOORDINATE_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/coordinates/Coordinates/Coordinate.h>
35 #include <casacore/casa/Arrays/Vector.h>
36 #include <wcslib/wcs.h>
40 template<
class T>
class Quantum;
Type
This enum lists the types of the derived classes.
virtual String showType() const
Returns the String "Linear".
virtual Bool setIncrement(const Vector< Double > &inc)
virtual uInt nWorldAxes() const
LinearCoordinate(const Vector< String > &names, const Vector< String > &units, const Vector< Double > &refVal, const Vector< Double > &inc, const Matrix< Double > &pc, const Vector< Double > &refPix)
Construct the LinearCoordinate.
static LinearCoordinate * restore(const RecordInterface &container, const String &fieldName)
Restore the LinearCoordinate from a record.
virtual Vector< Double > referencePixel() const
virtual Bool save(RecordInterface &container, const String &fieldName) const
Save the LinearCoordinate into the supplied record using the supplied field name.
virtual ~LinearCoordinate()
Destructor.
void makeWCS(wcsprm &wcs, uInt naxis, const Vector< Double > &refPix, const Vector< Double > &refVal, const Vector< Double > &incr, const Matrix< Double > &pc, const Vector< String > &units, const Vector< String > &names)
Make wcs structure.
LinearCoordinate(const LinearCoordinate &other)
Copy constructor (copy semantics).
LinearCoordinate(const Vector< String > &names, const Vector< Quantum< Double > > &refVal, const Vector< Quantum< Double > > &inc, const Matrix< Double > &pc, const Vector< Double > &refPix)
Construct LinearCoordinate with Quantum-based interface.
virtual uInt nPixelAxes() const
Returns the number of pixel/world axes.
virtual Bool setReferencePixel(const Vector< Double > &refPix)
LinearCoordinate & operator=(const LinearCoordinate &other)
Assignment (copy semantics).
virtual Vector< Double > referenceValue() const
virtual Vector< String > worldAxisUnits() const
LinearCoordinate(uInt naxes=1)
The default constructor makes a LinearCoordinate for which pixel and world coordinates are equal.
virtual Bool near(const Coordinate &other, Double tol=1e-6) const
Comparison function.
virtual Matrix< Double > linearTransform() const
virtual Bool toPixel(Vector< Double > &pixel, const Vector< Double > &world) const
virtual Bool near(const Coordinate &other, const Vector< Int > &excludeAxes, Double tol=1e-6) const
virtual Bool setWorldAxisNames(const Vector< String > &names)
Set the value of the requested attributed.
virtual Vector< Double > increment() const
virtual Bool setReferenceValue(const Vector< Double > &refval)
Bool overwriteWorldAxisUnits(const Vector< String > &units)
Overwrite the world axis units with no compatibility checks or adjustment.
virtual Vector< String > worldAxisNames() const
Return the requested attribute.
virtual Bool toWorld(Vector< Double > &world, const Vector< Double > &pixel, Bool=True) const
Convert a pixel position to a worl position or vice versa.
virtual Coordinate::Type type() const
Returns Coordinate::LINEAR.
virtual Bool setLinearTransform(const Matrix< Double > &pc)
virtual Coordinate * makeFourierCoordinate(const Vector< Bool > &axes, const Vector< Int > &shape) const
Find the Coordinate for when we Fourier Transform ourselves.
void copy(const LinearCoordinate &other)
Copy private data.
LinearCoordinate(const wcsprm &wcs, Bool oneRel=True)
Constructor from WCS structure; must hold ONLY a linear wcs structure Specify whether the absolute pi...
virtual Coordinate * clone() const
Make a copy of the LinearCoordinate using new.
virtual Bool setWorldAxisUnits(const Vector< String > &units)
Set the world axis units.
mutable ::wcsprm wcs_p
An interface to the WCSLIB linear transformation routines.
String: the storage and methods of handling collections of characters.
const Double e
e and functions thereof:
this file contains all the compiler specific defines
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape.
bool Bool
Define the standard types used by Casacore.