|
| SpecFrame (std::string const &options="") |
|
virtual | ~SpecFrame () |
|
| SpecFrame (SpecFrame const &)=default |
| Copy constructor: make a deep copy. More...
|
|
| SpecFrame (SpecFrame &&)=default |
|
SpecFrame & | operator= (SpecFrame const &)=delete |
|
SpecFrame & | operator= (SpecFrame &&)=default |
|
std::shared_ptr< SpecFrame > | copy () 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...
|
|
| Frame (int naxes, std::string const &options="") |
|
virtual | ~Frame () |
|
| Frame (Frame const &)=default |
| Copy constructor: make a deep copy. More...
|
|
| Frame (Frame &&)=default |
|
Frame & | operator= (Frame const &)=delete |
|
Frame & | operator= (Frame &&)=default |
|
std::shared_ptr< Frame > | copy () 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< FrameSet > | convert (Frame const &to, std::string const &domainlist="") |
|
double | distance (PointD const &point1, PointD const &point2) const |
|
std::shared_ptr< FrameSet > | findFrame (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 |
|
virtual | ~Mapping () |
|
| Mapping (Mapping const &)=default |
| Copy constructor: make a deep copy. More...
|
|
| Mapping (Mapping &&)=default |
|
Mapping & | operator= (Mapping const &)=delete |
|
Mapping & | operator= (Mapping &&)=default |
|
std::shared_ptr< Mapping > | copy () 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< Mapping > | inverted () 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< Mapping > | simplified () 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 |
|
virtual | ~Object () |
|
| Object (Object const &object) |
| Copy constructor: make a deep copy. More...
|
|
| Object (Object &&)=default |
|
Object & | operator= (Object const &)=delete |
|
Object & | operator= (Object &&)=default |
|
bool | operator== (Object const &rhs) const |
|
bool | operator!= (Object const &rhs) const |
|
std::shared_ptr< Object > | copy () 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 () |
|
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
frame = SpecFrame()
Create a @ref SpecFrame to describe the default wavelength spectral
coordinate system. The SpecFrame_RestFreq "RestFreq" attribute (rest frequency) is
unspecified, so it will not be possible to align this @ref SpecFrame
with another @ref SpecFrame on the basis of a velocity-based system. The
standard of rest is also unspecified. This means that alignment
will be possible with other @ref SpecFrame "SpecFrames", but no correction will be
made for Doppler shift caused by change of rest frame during the
alignment.
frame = SpecFrame("System=VELO, RestFreq=1.0E15, StdOfRest=LSRK")
Create a @ref SpecFrame describing a apparent radial velocity ("VELO") axis
with rest frequency 1.0E15 Hz (about 3000 Angstroms), measured
in the kinematic Local Standard of Rest ("LSRK"). Since the
source position has not been specified (using attributes @ref SpecFrame_RefRA "RefRA" and
@ref SpecFrame_RefDec "RefDec"), it will only be possible to align this @ref SpecFrame with
other @ref SpecFrame "SpecFrames" which are also measured in the LSRK standard of
rest.
Notes
- When conversion between two SpecFrames is requested (as when supplying SpecFrames to Frame::convert) account will be taken of the nature of the spectral coordinate systems they represent, together with any qualifying rest frequency, standard of rest, epoch values, etc. The AlignSystem and SpecFrame_AlignStdOfRest "AlignStdOfRest" attributes will also be taken into account. The results will therefore fully reflect the relationship between positions measured in the two systems. In addition, any difference in the Unit attributes of the two systems will also be taken into account.