lsst.astshim  22.0.0+04719a4bac
Public Member Functions | Protected Member Functions | Friends | List of all members
ast::SpecFrame Class Reference

#include <SpecFrame.h>

Inheritance diagram for ast::SpecFrame:
ast::Frame ast::Mapping ast::Object

Public Member Functions

 SpecFrame (std::string const &options="")
 
virtual ~SpecFrame ()
 
 SpecFrame (SpecFrame const &)=default
 Copy constructor: make a deep copy. More...
 
 SpecFrame (SpecFrame &&)=default
 
SpecFrameoperator= (SpecFrame const &)=delete
 
SpecFrameoperator= (SpecFrame &&)=default
 
std::shared_ptr< SpecFramecopy () const
 Return a deep copy of this object. More...
 
bool getAlignSpecOffset () const
 
std::string getAlignStdOfRest () const
 
std::string getRefDec () const
 Get RefDec: declination of the source (FK5 J2000, "dd:mm:ss.s"). More...
 
std::string getRefRA () const
 Get RefRA: right ascension of the source (FK5 J2000, "hh:mm:ss.s"). More...
 
std::vector< double > getRefPos (SkyFrame const &frm) const
 
std::vector< double > getRefPos () const
 
double getRestFreq () const
 Get RestFreq: rest frequency (GHz). More...
 
std::string getSourceSys () const
 Get SourceSys: source velocity spectral system. More...
 
double getSourceVel () const
 
std::string getSourceVRF () const
 Get SourceVRF: source velocity rest frame. More...
 
double getSpecOrigin () const
 Get SpecOrigin: the zero point for SpecFrame axis values. More...
 
std::string getStdOfRest () const
 Get StdOfRest: standard of rest. More...
 
void setAlignSpecOffset (bool align)
 
void setAlignStdOfRest (std::string const &stdOfRest)
 
void setRefDec (std::string const &refDec)
 Set RefDec: declination of the source (FK5 J2000, "dd:mm:ss.s"). More...
 
void setRefRA (std::string const &refRA)
 Set RefRA: right ascension of the source (FK5 J2000, "hh:mm:ss.s"). More...
 
void setRefPos (SkyFrame const &frm, double lon, double lat)
 
void setRefPos (double ra, double dec)
 
void setRestFreq (double freq)
 Set RestFreq: rest frequency in GHz. More...
 
void setRestFreq (std::string const &freq)
 Set RestFreq: rest frequency in user-specified units. More...
 
void setSourceSys (std::string const &system)
 Set SourceSys: source velocity spectral system. More...
 
void setSourceVel (double vel)
 
void setSourceVRF (std::string const &vrf)
 Set SourceVRF: source velocity rest frame. More...
 
void setSpecOrigin (double origin)
 Set SpecOrigin: the zero point for SpecFrame axis values. More...
 
void setStdOfRest (std::string const &stdOfRest)
 Set StdOfRest: standard of rest. More...
 
- Public Member Functions inherited from ast::Frame
 Frame (int naxes, std::string const &options="")
 
virtual ~Frame ()
 
 Frame (Frame const &)=default
 Copy constructor: make a deep copy. More...
 
 Frame (Frame &&)=default
 
Frameoperator= (Frame const &)=delete
 
Frameoperator= (Frame &&)=default
 
std::shared_ptr< Framecopy () const
 Return a deep copy of this object. More...
 
double angle (PointD const &a, PointD const &b, PointD const &c) const
 
double axAngle (PointD const &a, PointD const &b, int axis) const
 
double axDistance (int axis, double v1, double v2) const
 
double axOffset (int axis, double v1, double dist) const
 
std::shared_ptr< FrameSetconvert (Frame const &to, std::string const &domainlist="")
 
double distance (PointD const &point1, PointD const &point2) const
 
std::shared_ptr< FrameSetfindFrame (Frame const &tmplt, std::string const &domainlist="")
 
std::string format (int axis, double value) const
 
bool getActiveUnit () const
 
std::string getAlignSystem () const
 
double getBottom (int axis) const
 
int getDigits () const
 
int getDigits (int axis) const
 
bool getDirection (int axis) const
 
std::string getDomain () const
 
double getDut1 () const
 
double getEpoch () const
 
std::string getFormat (int axis) const
 
std::string getInternalUnit (int axis) const
 
std::string getLabel (int axis) const
 
bool getMatchEnd () const
 
int getMaxAxes () const
 
int getMinAxes () const
 
int getNAxes () const
 
std::string getNormUnit (int axis) const
 
double getObsAlt () const
 
std::string getObsLat () const
 
std::string getObsLon () const
 
bool getPermute () const
 
bool getPreserveAxes () const
 
std::string getSymbol (int axis) const
 
std::string getSystem () const
 
std::string getTitle () const
 
double getTop (int axis) const
 
std::string getUnit (int axis) const
 
std::vector< double > intersect (std::vector< double > const &a1, std::vector< double > const &a2, std::vector< double > const &b1, std::vector< double > const &b2) const
 
std::vector< int > matchAxes (Frame const &other) const
 
CmpFrame under (Frame const &next) const
 
PointD norm (PointD value) const
 
PointD offset (PointD point1, PointD point2, double offset) const
 
DirectionPoint offset2 (PointD const &point1, double angle, double offset) const
 
void permAxes (std::vector< int > perm)
 
FrameMapping pickAxes (std::vector< int > const &axes) const
 
ResolvedPoint resolve (std::vector< double > const &point1, std::vector< double > const &point2, std::vector< double > const &point3) const
 
void setAlignSystem (std::string const &system)
 
void setBottom (int axis, double bottom)
 
void setDigits (int digits)
 
void setDigits (int axis, int digits)
 
void setDirection (bool direction, int axis)
 
virtual void setDomain (std::string const &domain)
 
void setDut1 (double dut1)
 
void setEpoch (double epoch)
 
void setEpoch (std::string const &epoch)
 
void setFormat (int axis, std::string const &format)
 
void setLabel (int axis, std::string const &label)
 
void setMatchEnd (bool match)
 
void setMaxAxes (int maxAxes)
 
void setMinAxes (int minAxes)
 
void setObsAlt (double alt)
 
void setObsLat (std::string const &lat)
 
void setObsLon (std::string const &lon)
 
void setActiveUnit (bool enable)
 
void setPermute (bool permute)
 
void setPreserveAxes (bool preserve)
 
void setSymbol (int axis, std::string const &symbol)
 
void setSystem (std::string const &system)
 
void setTitle (std::string const &title)
 
void setTop (int axis, double top)
 
void setUnit (int axis, std::string const &unit)
 
NReadValue unformat (int axis, std::string const &str) const
 
- Public Member Functions inherited from ast::Mapping
virtual ~Mapping ()
 
 Mapping (Mapping const &)=default
 Copy constructor: make a deep copy. More...
 
 Mapping (Mapping &&)=default
 
Mappingoperator= (Mapping const &)=delete
 
Mappingoperator= (Mapping &&)=default
 
std::shared_ptr< Mappingcopy () const
 Return a deep copy of this object. More...
 
int getNIn () const
 
int getNOut () const
 
bool getIsSimple () const
 
bool isInverted () const
 
bool getIsLinear () const
 
bool getReport () const
 
bool hasForward () const
 
bool hasInverse () const
 
std::shared_ptr< Mappinginverted () const
 
Array2D linearApprox (PointD const &lbnd, PointD const &ubnd, double tol) const
 
SeriesMap then (Mapping const &next) const
 
ParallelMap under (Mapping const &next) const
 
double rate (PointD const &at, int ax1, int ax2) const
 
void setReport (bool report)
 
std::shared_ptr< Mappingsimplified () const
 
void applyForward (ConstArray2D const &from, Array2D const &to) const
 
Array2D applyForward (ConstArray2D const &from) const
 
std::vector< double > applyForward (std::vector< double > const &from) const
 
void applyInverse (ConstArray2D const &from, Array2D const &to) const
 
Array2D applyInverse (ConstArray2D const &from) const
 
std::vector< double > applyInverse (std::vector< double > const &from) const
 
void tranGridForward (PointI const &lbnd, PointI const &ubnd, double tol, int maxpix, Array2D const &to) const
 
Array2D tranGridForward (PointI const &lbnd, PointI const &ubnd, double tol, int maxpix, int nPts) const
 
void tranGridInverse (PointI const &lbnd, PointI const &ubnd, double tol, int maxpix, Array2D const &to) const
 
Array2D tranGridInverse (PointI const &lbnd, PointI const &ubnd, double tol, int maxpix, int nPts) const
 
- Public Member Functions inherited from ast::Object
virtual ~Object ()
 
 Object (Object const &object)
 Copy constructor: make a deep copy. More...
 
 Object (Object &&)=default
 
Objectoperator= (Object const &)=delete
 
Objectoperator= (Object &&)=default
 
bool operator== (Object const &rhs) const
 
bool operator!= (Object const &rhs) const
 
std::shared_ptr< Objectcopy () const
 Return a deep copy of this object. More...
 
void clear (std::string const &attrib)
 
bool hasAttribute (std::string const &attrib) const
 
std::string getClassName () const
 
std::string getID () const
 Get ID: object identification string that is not copied. More...
 
std::string getIdent () const
 Get Ident: object identification string that is copied. More...
 
int getNObject () const
 
int getObjSize () const
 Get ObjSize: the in-memory size of the AST object in bytes. More...
 
int getRefCount () const
 
bool getUseDefs () const
 Get UseDefs: allow use of default values for Object attributes? More...
 
void lock (bool wait)
 
bool same (Object const &other) const
 
void setID (std::string const &id)
 Set ID: object identification string that is not copied. More...
 
void setIdent (std::string const &ident)
 Set Ident: object identification string that is copied. More...
 
void setUseDefs (bool usedefs)
 Set UseDefs: allow use of default values for Object attributes? More...
 
void show (std::ostream &os, bool showComments=true) const
 
std::string show (bool showComments=true) const
 
bool test (std::string const &attrib) const
 
void unlock (bool report=false)
 
AstObject const * getRawPtr () const
 
AstObject * getRawPtr ()
 

Protected Member Functions

virtual std::shared_ptr< ObjectcopyPolymorphic () const override
 
 SpecFrame (AstSpecFrame *rawptr)
 Construct a SpecFrame from a raw AST pointer. More...
 
- Protected Member Functions inherited from ast::Frame
 Frame (AstFrame *rawPtr)
 
- Protected Member Functions inherited from ast::Mapping
 Mapping (AstMapping *rawMap)
 
template<typename Class >
std::shared_ptr< Class > decompose (int i, bool copy) const
 
- Protected Member Functions inherited from ast::Object
 Object (AstObject *object)
 
template<typename T , typename AstT >
std::shared_ptr< T > copyImpl () const
 
bool getB (std::string const &attrib) const
 
std::string const getC (std::string const &attrib) const
 
double getD (std::string const &attrib) const
 
float getF (std::string const &attrib) const
 
int getI (std::string const &attrib) const
 
long int getL (std::string const &attrib) const
 
void set (std::string const &setting)
 
void setB (std::string const &attrib, bool value)
 
void setC (std::string const &attrib, std::string const &value)
 
void setD (std::string const &attrib, double value)
 
void setF (std::string const &attrib, float value)
 
void setI (std::string const &attrib, int value)
 
void setL (std::string const &attrib, long int value)
 

Friends

class Object
 

Additional Inherited Members

- Public Types inherited from ast::Object
using ObjectPtr = std::unique_ptr< AstObject, Deleter >
 unique pointer holding an AST raw pointer More...
 
- Static Public Member Functions inherited from ast::Object
static std::shared_ptr< ObjectfromString (std::string const &str)
 
template<typename Class >
static std::shared_ptr< Class > fromAstObject (AstObject *rawObj, bool copy)
 
- Static Protected Member Functions inherited from ast::Object
template<typename ShimT , typename AstT >
static std::shared_ptr< ShimT > makeShim (AstObject *p)
 

Detailed Description

A specialised form of one-dimensional Frame which represents various coordinate systems used to describe positions within an electro-magnetic spectrum.

The particular coordinate system to be used is specified by setting the SpecFrame_System "System" attribute (the default is wavelength) qualified, as necessary, by other attributes such as the rest frequency, the standard of rest, the epoch of observation, units, etc (see Attributes for details).

By setting a value for the SpecFrame_SpecOrigin "SpecOrigin" attribute, a SpecFrame can be made to represent offsets from a given spectral position, rather than absolute spectral values.

Attributes

In addition to those attributes common to all Frames, every SpecFrame also has the following attributes:

Several of the Frame attributes inherited by the SpecFrame class refer to a specific axis of the Frame (for instance Unit(axis), Label(axis), etc). Since a SpecFrame is strictly one-dimensional, it allows these attributes to be specified without an axis index. So for instance, "Unit" is allowed in place of "Unit(1)".

Examples

Notes

Constructor & Destructor Documentation

◆ SpecFrame() [1/4]

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

Construct a SpecFrame

Parameters
[in]optionsComma-separated list of attribute assignments.

◆ ~SpecFrame()

virtual ast::SpecFrame::~SpecFrame ( )
inlinevirtual

◆ SpecFrame() [2/4]

ast::SpecFrame::SpecFrame ( SpecFrame const &  )
default

Copy constructor: make a deep copy.

◆ SpecFrame() [3/4]

ast::SpecFrame::SpecFrame ( SpecFrame &&  )
default

◆ SpecFrame() [4/4]

ast::SpecFrame::SpecFrame ( AstSpecFrame *  rawptr)
inlineexplicitprotected

Construct a SpecFrame from a raw AST pointer.

Member Function Documentation

◆ copy()

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

Return a deep copy of this object.

◆ copyPolymorphic()

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

Return a deep copy of this object. This is called by copy.

Each subclass must override this method. The standard implementation is:

return copyImpl<astshim_class, ast_class>();

for example Frame implements this as:

return copyImpl<Frame, AstFrame>();

Reimplemented from ast::Frame.

◆ getAlignSpecOffset()

bool ast::SpecFrame::getAlignSpecOffset ( ) const
inline

Get AlignSpecOffset: align SpecFrames using the offset coordinate system?

◆ getAlignStdOfRest()

std::string ast::SpecFrame::getAlignStdOfRest ( ) const
inline

Get AlignStdOfRest: standard of rest in which to align SpecFrames.

◆ getRefDec()

std::string ast::SpecFrame::getRefDec ( ) const
inline

Get RefDec: declination of the source (FK5 J2000, "dd:mm:ss.s").

◆ getRefPos() [1/2]

std::vector<double> ast::SpecFrame::getRefPos ( ) const
inline

Return the reference position (specified by RefRA and RefDec) as FK5 J2000 RA, Dec (radians).

◆ getRefPos() [2/2]

std::vector<double> ast::SpecFrame::getRefPos ( SkyFrame const &  frm) const
inline

Get the reference position (specified by RefRA and RefDec) converted to the celestial coordinate system represented by a supplied SkyFrame.

Parameters
[in]frmSkyFrame which defines the required celestial coordinate system.
Returns
the reference longitude and latitude in the coordinate system represented by the supplied SkyFrame (radians).

◆ getRefRA()

std::string ast::SpecFrame::getRefRA ( ) const
inline

Get RefRA: right ascension of the source (FK5 J2000, "hh:mm:ss.s").

◆ getRestFreq()

double ast::SpecFrame::getRestFreq ( ) const
inline

Get RestFreq: rest frequency (GHz).

◆ getSourceSys()

std::string ast::SpecFrame::getSourceSys ( ) const
inline

Get SourceSys: source velocity spectral system.

◆ getSourceVel()

double ast::SpecFrame::getSourceVel ( ) const
inline

Get SourceVel: source velocity (in the system specified by SourceSys).

◆ getSourceVRF()

std::string ast::SpecFrame::getSourceVRF ( ) const
inline

Get SourceVRF: source velocity rest frame.

◆ getSpecOrigin()

double ast::SpecFrame::getSpecOrigin ( ) const
inline

Get SpecOrigin: the zero point for SpecFrame axis values.

◆ getStdOfRest()

std::string ast::SpecFrame::getStdOfRest ( ) const
inline

Get StdOfRest: standard of rest.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ setAlignSpecOffset()

void ast::SpecFrame::setAlignSpecOffset ( bool  align)
inline

Set AlignSpecOffset: align SpecFrames using the offset coordinate system?

◆ setAlignStdOfRest()

void ast::SpecFrame::setAlignStdOfRest ( std::string const &  stdOfRest)
inline

Set AlignStdOfRest: standard of rest in which to align SpecFrames.

◆ setRefDec()

void ast::SpecFrame::setRefDec ( std::string const &  refDec)
inline

Set RefDec: declination of the source (FK5 J2000, "dd:mm:ss.s").

◆ setRefPos() [1/2]

void ast::SpecFrame::setRefPos ( double  ra,
double  dec 
)
inline

Set the reference position (RefRA and RefDec) from FK5 J2000 RA and Dec (radians).

Parameters
[in]raFK5 J2000 RA (radians).
[in]decFK5 J2000 Dec (radians).

◆ setRefPos() [2/2]

void ast::SpecFrame::setRefPos ( SkyFrame const &  frm,
double  lon,
double  lat 
)
inline

Set the reference position (RefRA and RefDec) using axis values (in radians) supplied within the celestial coordinate system represented by a supplied SkyFrame.

Parameters
[in]frmSkyFrame which defines the celestial coordinate system in which the longitude and latitude values are supplied.
[in]lonThe longitude of the reference point, in the coordinate system represented by the supplied SkyFrame (radians).
[in]latThe latitude of the reference point, in the coordinate system represented by the supplied SkyFrame (radians).

◆ setRefRA()

void ast::SpecFrame::setRefRA ( std::string const &  refRA)
inline

Set RefRA: right ascension of the source (FK5 J2000, "hh:mm:ss.s").

◆ setRestFreq() [1/2]

void ast::SpecFrame::setRestFreq ( double  freq)
inline

Set RestFreq: rest frequency in GHz.

◆ setRestFreq() [2/2]

void ast::SpecFrame::setRestFreq ( std::string const &  freq)
inline

Set RestFreq: rest frequency in user-specified units.

◆ setSourceSys()

void ast::SpecFrame::setSourceSys ( std::string const &  system)
inline

Set SourceSys: source velocity spectral system.

◆ setSourceVel()

void ast::SpecFrame::setSourceVel ( double  vel)
inline

Set SourceVel: source velocity (in the system specified by SourceSys).

◆ setSourceVRF()

void ast::SpecFrame::setSourceVRF ( std::string const &  vrf)
inline

Set SourceVRF: source velocity rest frame.

◆ setSpecOrigin()

void ast::SpecFrame::setSpecOrigin ( double  origin)
inline

Set SpecOrigin: the zero point for SpecFrame axis values.

◆ setStdOfRest()

void ast::SpecFrame::setStdOfRest ( std::string const &  stdOfRest)
inline

Set StdOfRest: standard of rest.

Friends And Related Function Documentation

◆ Object

friend class Object
friend

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