lsst.astshim gf5dcc679e7+7aca86229d
Loading...
Searching...
No Matches
ast::SkyFrame Class Reference

SkyFrame is a specialised form of Frame which describes celestial longitude/latitude coordinate systems. More...

#include <SkyFrame.h>

Inheritance diagram for ast::SkyFrame:

Public Member Functions

 SkyFrame (std::string const &options="")
 Construct a SkyFrame.
virtual ~SkyFrame ()
 SkyFrame (SkyFrame const &)=default
 Copy constructor: make a deep copy.
 SkyFrame (SkyFrame &&)=default
SkyFrameoperator= (SkyFrame const &)=delete
SkyFrameoperator= (SkyFrame &&)=default
std::shared_ptr< SkyFramecopy () const
 Return a deep copy of this object.
bool getAlignOffset () const
 Get AlignOffset: align SkyFrames using the offset coordinate system?
bool getAsTime (int axis) const
 Get AsTime(axis) for one axis: format celestial coordinates as times?
double getEquinox () const
 Get Equinox: epoch of the mean equinox.
bool getIsLatAxis (int axis) const
 Get IsLatAxis(axis) for one axis: is the specified axis the latitude axis?
bool getIsLonAxis (int axis) const
 Get IsLonAxis(axis) for one axis: is the specified axis the longitude axis?
int getLatAxis () const
 Get LatAxis: index of the latitude axis.
int getLonAxis () const
 Get LonAxis: index of the longitude axis.
bool getNegLon () const
 Get NegLon: display longitude values in the range [-pi,pi]?
std::string getProjection () const
 Get Projection: sky projection description.
std::vector< double > getSkyRef () const
 Get SkyRef for both axes: position defining location of the offset coordinate system.
std::string getSkyRefIs () const
 Get SkyRefIs: selects the nature of the offset coordinate system.
std::vector< double > getSkyRefP () const
 Get SkyRefP for both axes: position defining orientation of the offset coordinate system.
double getSkyTol () const
 Get SkyTol: smallest significant shift in sky coordinates.
void setAlignOffset (bool alignOffset)
 Set AlignOffset: align SkyFrames using the offset coordinate system?
void setAsTime (int axis, bool asTime)
 Set AsTime(axis) for one axis: format celestial coordinates as times?
void setEquinox (double equinox)
 Set Equinox: epoch of the mean equinox.
void setNegLon (bool negLon)
 Set NegLon: display longitude values in the range [-pi,pi]?
void setProjection (std::string const &projection)
 Set Projection: sky projection description.
void setSkyRef (std::vector< double > const &skyRef)
 Set SkyRef: position defining location of the offset coordinate system.
void setSkyRefIs (std::string const &skyRefIs)
 Set SkyRefIs: selects the nature of the offset coordinate system.
void setSkyRefP (std::vector< double > const &skyRefP)
 Set SkyRefP: position defining orientation of the offset coordinate system.
void setSkyTol (double skyTol)
 Set SkyTol: smallest significant shift in sky coordinates.
std::shared_ptr< MappingskyOffsetMap ()
 Get a sky offset map.

Protected Member Functions

virtual std::shared_ptr< ObjectcopyPolymorphic () const override
 SkyFrame (AstSkyFrame *rawptr)
 Construct a SkyFrame from a raw AST pointer.

Friends

class Object

Detailed Description

SkyFrame is a specialised form of Frame which describes celestial longitude/latitude coordinate systems.

The particular celestial coordinate system to be represented is specified by setting the SkyFrame's System attribute (currently, the default is ICRS) qualified, as necessary, by a mean Equinox value and/or an Epoch.

For each of the supported celestial coordinate systems, a SkyFrame can apply an optional shift of origin to create a coordinate system representing offsets within the celestial coordinate system from some specified point. This offset coordinate system can also be rotated to define new longitude and latitude axes. See attributes SkyRef, SkyRefIs and SkyRefP.

All the coordinate values used by a SkyFrame are in radians. These may be formatted in more conventional ways for display by using format.

Attributes

SkyFrame provides the following attributes, in addition to those provided by Frame, Mapping and Object

  • AlignOffset: align SkyFrames using the offset coordinate system?
  • AsTime(axis): format celestial coordinates as times?
  • Equinox: epoch of the mean equinox.
  • IsLatAxis(axis): is the specified axis the latitude axis?
  • IsLonAxis(axis): is the specified axis the longitude axis?
  • LatAxis: index of the latitude axis.
  • LonAxis: index of the longitude axis.
  • NegLon: display longitude values in the range [-pi,pi]?
  • Projection: sky projection description.
  • SkyRef(axis): position defining location of the offset coordinate system.
  • SkyRefIs: selects the nature of the offset coordinate system.
  • SkyRefP(axis): position defining orientation of the offset coordinate system.
  • SkyTol: smallest significant shift in sky coordinates.

Definition at line 66 of file SkyFrame.h.

Constructor & Destructor Documentation

◆ SkyFrame() [1/4]

ast::SkyFrame::SkyFrame ( std::string const & options = "")
inlineexplicit

Construct a SkyFrame.

Parameters
[in]optionsString containing an optional comma-separated list of attribute assignments to be used for initialising the new SkyFrame. The syntax used is identical to that for set.

Examples

  • auto auto = astSkyFrame("")

    Creates a SkyFrame to describe the default ICRS celestial coordinate system.

  • auto auto = astSkyFrame("System = FK5, Equinox = J2005, Digits = 10")

    Creates a SkyFrame to describe the FK5 celestial coordinate system, with a mean Equinox oc Because especially accurate coordinates will be used, additional precision (10 digits) has been requested. This will be used when coordinate values are formatted for display.

  • auto auto = astSkyFrame("System = FK4, Equinox = 1955-sep-2")

    Creates a SkyFrame to describe the old FK4 celestial coordinate system. A default Epoch value (B1950.0) is used, but the mean Equinox value is given explicitly as "1955-sep-2".

  • auto auto = astSkyFrame("System = GAPPT, Epoch = J2000")

    Creates a SkyFrame to describe the Geocentric Apparent celestial coordinate system.

Notes

  • Currently, the default celestial coordinate system is ICRS. However, this default may change in future as new astrometric standards evolve. The intention is to track the most modern appropriate standard. For this reason, you should use the default only if this is what you intend (and can tolerate any associated slight change in behaviour with future versions of this function). If you intend to use the ICRS system indefinitely then you should specify it explicitly using an options value of System=ICRS.
  • Whichever celestial coordinate system is represented, it will have two axes. The first of these will be the longitude axis and the second will be the latitude axis. This order can be changed using permAxes if required.
  • When conversion between two SkyFrames is requested (as when supplying SkyFrames to convert), account will be taken of the nature of the celestial coordinate systems they represent, together with any qualifying mean Equinox or Epoch values, etc. The AlignSystem attribute will also be taken into account. The results will therefore fully reflect the relationship between positions on the sky measured in the two systems.

Definition at line 124 of file SkyFrame.h.

◆ ~SkyFrame()

virtual ast::SkyFrame::~SkyFrame ( )
inlinevirtual

Definition at line 129 of file SkyFrame.h.

◆ SkyFrame() [2/4]

ast::SkyFrame::SkyFrame ( SkyFrame const & )
default

Copy constructor: make a deep copy.

◆ SkyFrame() [3/4]

ast::SkyFrame::SkyFrame ( SkyFrame && )
default

◆ SkyFrame() [4/4]

ast::SkyFrame::SkyFrame ( AstSkyFrame * rawptr)
inlineexplicitprotected

Construct a SkyFrame from a raw AST pointer.

Definition at line 250 of file SkyFrame.h.

Member Function Documentation

◆ copy()

std::shared_ptr< SkyFrame > ast::SkyFrame::copy ( ) const
inline

Return a deep copy of this object.

Definition at line 138 of file SkyFrame.h.

◆ copyPolymorphic()

virtual std::shared_ptr< Object > ast::SkyFrame::copyPolymorphic ( ) const
inlineoverrideprotectedvirtual

Definition at line 245 of file SkyFrame.h.

◆ getAlignOffset()

bool ast::SkyFrame::getAlignOffset ( ) const
inline

Get AlignOffset: align SkyFrames using the offset coordinate system?

Definition at line 141 of file SkyFrame.h.

◆ getAsTime()

bool ast::SkyFrame::getAsTime ( int axis) const
inline

Get AsTime(axis) for one axis: format celestial coordinates as times?

Definition at line 144 of file SkyFrame.h.

◆ getEquinox()

double ast::SkyFrame::getEquinox ( ) const
inline

Get Equinox: epoch of the mean equinox.

Definition at line 147 of file SkyFrame.h.

◆ getIsLatAxis()

bool ast::SkyFrame::getIsLatAxis ( int axis) const
inline

Get IsLatAxis(axis) for one axis: is the specified axis the latitude axis?

Definition at line 150 of file SkyFrame.h.

◆ getIsLonAxis()

bool ast::SkyFrame::getIsLonAxis ( int axis) const
inline

Get IsLonAxis(axis) for one axis: is the specified axis the longitude axis?

Definition at line 153 of file SkyFrame.h.

◆ getLatAxis()

int ast::SkyFrame::getLatAxis ( ) const
inline

Get LatAxis: index of the latitude axis.

Definition at line 156 of file SkyFrame.h.

◆ getLonAxis()

int ast::SkyFrame::getLonAxis ( ) const
inline

Get LonAxis: index of the longitude axis.

Definition at line 159 of file SkyFrame.h.

◆ getNegLon()

bool ast::SkyFrame::getNegLon ( ) const
inline

Get NegLon: display longitude values in the range [-pi,pi]?

Definition at line 162 of file SkyFrame.h.

◆ getProjection()

std::string ast::SkyFrame::getProjection ( ) const
inline

Get Projection: sky projection description.

Definition at line 165 of file SkyFrame.h.

◆ getSkyRef()

std::vector< double > ast::SkyFrame::getSkyRef ( ) const
inline

Get SkyRef for both axes: position defining location of the offset coordinate system.

Definition at line 169 of file SkyFrame.h.

◆ getSkyRefIs()

std::string ast::SkyFrame::getSkyRefIs ( ) const
inline

Get SkyRefIs: selects the nature of the offset coordinate system.

Definition at line 178 of file SkyFrame.h.

◆ getSkyRefP()

std::vector< double > ast::SkyFrame::getSkyRefP ( ) const
inline

Get SkyRefP for both axes: position defining orientation of the offset coordinate system.

Definition at line 182 of file SkyFrame.h.

◆ getSkyTol()

double ast::SkyFrame::getSkyTol ( ) const
inline

Get SkyTol: smallest significant shift in sky coordinates.

Definition at line 191 of file SkyFrame.h.

◆ operator=() [1/2]

SkyFrame & ast::SkyFrame::operator= ( SkyFrame && )
default

◆ operator=() [2/2]

SkyFrame & ast::SkyFrame::operator= ( SkyFrame const & )
delete

◆ setAlignOffset()

void ast::SkyFrame::setAlignOffset ( bool alignOffset)
inline

Set AlignOffset: align SkyFrames using the offset coordinate system?

Definition at line 194 of file SkyFrame.h.

◆ setAsTime()

void ast::SkyFrame::setAsTime ( int axis,
bool asTime )
inline

Set AsTime(axis) for one axis: format celestial coordinates as times?

Definition at line 197 of file SkyFrame.h.

◆ setEquinox()

void ast::SkyFrame::setEquinox ( double equinox)
inline

Set Equinox: epoch of the mean equinox.

Definition at line 200 of file SkyFrame.h.

◆ setNegLon()

void ast::SkyFrame::setNegLon ( bool negLon)
inline

Set NegLon: display longitude values in the range [-pi,pi]?

Definition at line 203 of file SkyFrame.h.

◆ setProjection()

void ast::SkyFrame::setProjection ( std::string const & projection)
inline

Set Projection: sky projection description.

Definition at line 206 of file SkyFrame.h.

◆ setSkyRef()

void ast::SkyFrame::setSkyRef ( std::vector< double > const & skyRef)
inline

Set SkyRef: position defining location of the offset coordinate system.

Definition at line 209 of file SkyFrame.h.

◆ setSkyRefIs()

void ast::SkyFrame::setSkyRefIs ( std::string const & skyRefIs)
inline

Set SkyRefIs: selects the nature of the offset coordinate system.

Definition at line 217 of file SkyFrame.h.

◆ setSkyRefP()

void ast::SkyFrame::setSkyRefP ( std::vector< double > const & skyRefP)
inline

Set SkyRefP: position defining orientation of the offset coordinate system.

Definition at line 220 of file SkyFrame.h.

◆ setSkyTol()

void ast::SkyFrame::setSkyTol ( double skyTol)
inline

Set SkyTol: smallest significant shift in sky coordinates.

Definition at line 228 of file SkyFrame.h.

◆ skyOffsetMap()

std::shared_ptr< Mapping > ast::SkyFrame::skyOffsetMap ( )
inline

Get a sky offset map.

Get a Mapping in which the forward transformation transforms a position in the coordinate system given by the System attribute of the supplied SkyFrame, into the offset coordinate system specified by the SkyRef, SkyRefP and SkyRefIs attributes of the sky frame. A UnitMap is returned if the sky frame does not define an offset coordinate system.

Definition at line 238 of file SkyFrame.h.

◆ Object

friend class Object
friend

Definition at line 67 of file SkyFrame.h.


The documentation for this class was generated from the following file: