Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.apo.nmsu.edu/Telescopes/coordConv/html/classcoord_conv_1_1_app_geo_coord_sys.html
Дата изменения: Thu May 7 21:42:47 2015
Дата индексирования: Sun Apr 10 05:22:33 2016
Кодировка:

Поисковые слова: принцип мопертюи
lsst.coordConv: coordConv::AppGeoCoordSys Class Reference
lsst.coordConv  unknown
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | Protected Member Functions | List of all members
coordConv::AppGeoCoordSys Class Reference

#include <coordSys.h>

Inheritance diagram for coordConv::AppGeoCoordSys:
coordConv::ApparentCoordSys coordConv::CoordSys

Public Member Functions

 AppGeoCoordSys (double date=0, double maxAge=0.05/(SecPerDay *DaysPerYear), double maxDDate=2 *DeltaTForPos/(SecPerDay *DaysPerYear))
 
virtual ~AppGeoCoordSys ()
 
virtual CoordSys::Ptr clone () const
 
virtual CoordSys::Ptr clone (double date) const
 
virtual Coord fromFK5J2000 (Coord const &coord, Site const &site) const
 
virtual Coord toFK5J2000 (Coord const &coord, Site const &site) const
 
virtual double dateFromTAI (double tai) const
 
virtual double taiFromDate (double date) const
 
virtual std::string __repr__ () const
 
double getMaxAge () const
 return maximum cache age (years) More...
 
double getMaxDDate () const
 return maximum delta date (years) More...
 
double getCacheDate () const
 return date of cache (TDB, Julian years); nan More...
 
bool cacheOK () const
 return true if cache is valid More...
 
- Public Member Functions inherited from coordConv::ApparentCoordSys
 ApparentCoordSys (std::string const &name, double date, DateTypeEnum dateType=DateType_TAI)
 
virtual ~ApparentCoordSys ()
 
virtual Coord removePM (Coord const &coord, double tai) const
 
- Public Member Functions inherited from coordConv::CoordSys
 CoordSys (std::string const &name, double date, DateTypeEnum dateType, bool isMean, bool canConvert)
 
virtual ~CoordSys ()
 Destructor. More...
 
DateTypeEnum getDateType () const
 
std::string getName () const
 
bool canConvert () const
 
bool isMean () const
 
bool isCurrent () const
 
double getDate (bool zeroIfCurrent=true) const
 
void setDate (double date)
 
void setCurrDate (double date) const
 
virtual Coord convertFrom (CoordSys const &fromCoordSys, Coord const &fromCoord, Site const &site, double tai=0) const
 
virtual PVTCoord convertFrom (CoordSys const &fromCoordSys, PVTCoord const &fromPVTCoord, Site const &site) const
 
virtual Coord convertFrom (double &toDir, double &scaleChange, CoordSys const &fromCoordSys, Coord const &fromCoord, double fromDir, Site const &site, double tai=0) const
 
virtual PVTCoord convertFrom (PVT &toDir, double &scaleChange, CoordSys const &fromCoordSys, PVTCoord const &fromPVTCoord, PVT const &fromDir, Site const &site) const
 
virtual PVTCoord removePM (PVTCoord const &pvtCoord)
 
bool operator== (CoordSys const &rhs)
 Equality operator; a method instead of a free function to simplify SWIG wrapping. More...
 
bool operator!= (CoordSys const &rhs)
 Inequality operator; a method instead of a free function to simplify SWIG wrapping. More...
 

Protected Member Functions

virtual void _setDate (double date) const
 

Additional Inherited Members

- Public Types inherited from coordConv::CoordSys
typedef boost::shared_ptr
< CoordSys
Ptr
 
typedef boost::shared_ptr
< const CoordSys
ConstPtr
 
- Protected Attributes inherited from coordConv::CoordSys
std::string _name
 
double _date
 name of coordinate system More...
 
DateTypeEnum _dateType
 date of coordinate system (units depend on coordinate system) More...
 
bool _isMean
 date type More...
 
bool _isCurrent
 true for mean coordinate systems More...
 
bool _canConvert
 true if coordinate system is current More...
 

Detailed Description

Apparent Geocentric RA, Dec coordinates; date is TDB date in Julian years

Technically the date should be TDB, but TT will always do. Note that TT has a fixed offset from TAI (TT_TAI in physConst.h, in seconds).

Warning
:
  • Not fully accurate for solar system objects.
  • This transformation requires iteration, so it will be somewhat slow.

The following approximations have been used:

Definition at line 395 of file coordSys.h.

Constructor & Destructor Documentation

coordConv::AppGeoCoordSys::AppGeoCoordSys ( double  date = 0,
double  maxAge = 0.05/(SecPerDay*DaysPerYear),
double  maxDDate = 2*DeltaTForPos/(SecPerDay*DaysPerYear) 
)
explicit

Construct an AppGeoCoordSys

Parameters
[in]dateTDB date in Julian years (but TT will always do)
[in]maxAgemaximum cache age (years) before setDate or setCurrDate will update an internal cache
[in]maxDDateminimum delta date (date - current date) (years) before setDate or setCurrDate will update an internal cache. The intent is to never update the cache while computing velocity by computing position at two nearby times, since updating the cache may introduce a small jump in position, which may result in unacceptable velocity error. Thus this must be larger than your delta-T for computing velocity, but larger than the interval between position updates.

Definition at line 13 of file appGeoCoordSys.cc.

virtual coordConv::AppGeoCoordSys::~AppGeoCoordSys ( )
inlinevirtual

Definition at line 410 of file coordSys.h.

Member Function Documentation

std::string coordConv::AppGeoCoordSys::__repr__ ( ) const
virtual

Return a string representation

Implements coordConv::CoordSys.

Definition at line 159 of file appGeoCoordSys.cc.

void coordConv::AppGeoCoordSys::_setDate ( double  date) const
protectedvirtual

Set the date of this coordinate system

The units depend on the specific coordinate system

Reimplemented from coordConv::CoordSys.

Definition at line 31 of file appGeoCoordSys.cc.

bool coordConv::AppGeoCoordSys::cacheOK ( ) const
inline

return true if cache is valid

Definition at line 426 of file coordSys.h.

CoordSys::Ptr coordConv::AppGeoCoordSys::clone ( ) const
virtual

Return a copy with the same date

Implements coordConv::CoordSys.

Definition at line 23 of file appGeoCoordSys.cc.

CoordSys::Ptr coordConv::AppGeoCoordSys::clone ( double  date) const
virtual

Return a copy with a specified date

Implements coordConv::CoordSys.

Definition at line 27 of file appGeoCoordSys.cc.

virtual double coordConv::AppGeoCoordSys::dateFromTAI ( double  tai) const
inlinevirtual

Convert TAI (MJD, seconds) to a suitable date for this coordinate system, as given by getDateType

Parameters
[in]taiTAI date (MJD, seconds)
Returns
date in appropriate units for this coordinate system

Reimplemented from coordConv::ApparentCoordSys.

Definition at line 415 of file coordSys.h.

Coord coordConv::AppGeoCoordSys::fromFK5J2000 ( Coord const &  coord,
Site const &  site 
) const
virtual

Convert a coordinate from FK5 at date of observation J2000 to this system at this date

Parameters
[in]coordposition in ICRS coordinates at date of observation J2000
[in]sitesite information
Returns
position in this coordinate system

Implements coordConv::CoordSys.

Definition at line 69 of file appGeoCoordSys.cc.

double coordConv::AppGeoCoordSys::getCacheDate ( ) const
inline

return date of cache (TDB, Julian years); nan

Definition at line 424 of file coordSys.h.

double coordConv::AppGeoCoordSys::getMaxAge ( ) const
inline

return maximum cache age (years)

Definition at line 420 of file coordSys.h.

double coordConv::AppGeoCoordSys::getMaxDDate ( ) const
inline

return maximum delta date (years)

Definition at line 422 of file coordSys.h.

virtual double coordConv::AppGeoCoordSys::taiFromDate ( double  date) const
inlinevirtual

Convert a suitable date for this coordinate system to TAI (MJD, seconds)

Parameters
[in]datedate in units suitable to this coordinate system, as given by getDateType
Returns
date in appropriate units for this coordinate system

Reimplemented from coordConv::ApparentCoordSys.

Definition at line 416 of file coordSys.h.

Coord coordConv::AppGeoCoordSys::toFK5J2000 ( Coord const &  coord,
Site const &  site 
) const
virtual

Perform the inverse transform of fromFK5J2000.

Unfortunately, some of the equations (e.g. annual aberration) are not invertable, so they have been solved by iteration. To make the code easier to follow, the symbols used here are identical to those used in fromFK5J2000.

The convergence criterion is set by the magic numbers MaxIter and Accuracy.

References: cnv_J2AppGeo* ABERAT*, an APPLE (J2000) subroutine; U.S. Naval Observatory P.T. Wallace, slaMAPQK (a SLALIB subroutine); Starlink, RGO P.T. Wallace, "Proposals for Keck Tel. Point. Algorithms," 1986 (unpub.) "The Astronomical Almanac" for 1978, U.S. Naval Observatory these use physical units instead of direction cosines

if the number of iterations exceeds "MaxIter" before converging, throw an exception

if all three components of (P this iter - P last iter) / |P| are less than "Accuracy", then the iteration has converged.

Implements coordConv::CoordSys.

Definition at line 110 of file appGeoCoordSys.cc.


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