Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.apo.nmsu.edu/Telescopes/coordConv/html/pvt_coord_8h_source.html
Дата изменения: Thu May 7 21:42:46 2015
Дата индексирования: Sun Apr 10 03:05:23 2016
Кодировка:
lsst.coordConv: include/coordConv/pvtCoord.h Source File
lsst.coordConv  unknown
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
pvtCoord.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "coordConv/pvt.h"
4 #include "coordConv/coord.h"
5 
6 namespace coordConv {
7 
13  class PVTCoord {
14  public:
24  explicit PVTCoord(Coord const &coord, Eigen::Vector3d const &vel, double tai);
25 
36  explicit PVTCoord(Coord const &coord0, Coord const &coord1, double tai, double deltaT);
37 
47  explicit PVTCoord(PVT const &equatPVT, PVT const &polarPVT, PVT const &distPVT=PVT());
48 
63  explicit PVTCoord(PVT const &equatPVT, PVT const &polarPVT, PVT const &distPVT, double equatPM, double polarPM, double radVel);
64 
68  explicit PVTCoord();
69 
75  PVTCoord copy(double tai) const;
76 
80 // double getOrient() const { return _orient; };
81 
85  Eigen::Vector3d getVel() const { return _vel; };
86 
90  double getTAI() const { return _tai; };
91 
95  Coord getCoord() const { return _coord; };
96 
102  Coord getCoord(double tai) const;
103 
107  bool isfinite() const;
108 
118  bool getSphPVT(PVT &equatPVT, PVT &polarPVT) const;
119 
126  PVT getDistance() const;
127 
137  PVT angularSeparation(PVTCoord const &pvtCoord) const;
138 
152  PVT orientationTo(PVTCoord const &pvtCoord) const;
153 
164  PVTCoord offset(PVT &toOrient, PVT const &fromOrient, PVT const &dist) const;
165 
166  bool operator==(PVTCoord const &rhs) {
167  return (this->getCoord() == rhs.getCoord())
168  && (this->getVel() == rhs.getVel())
169  && (this->getTAI() == rhs.getTAI());
170  }
171 
172  bool operator!=(PVTCoord const &rhs) {
173  return !operator==(rhs);
174  }
175 
179  std::string __repr__() const;
180 
181  private:
182  Coord _coord; // coordinate at initial time
183  Eigen::Vector3d _vel; // vector velocity (AU/sec)
184  double _tai; // initial TAI date (MJD, seconds)
185 
202  void _setFromCoordPair(Coord const &coord0, Coord const &coord1, double tai, double deltaT);
203 
204  };
205 
206 
207  std::ostream &operator<<(std::ostream &os, PVTCoord const &pvtCoord);
208 
209 }
PVT angularSeparation(PVTCoord const &pvtCoord) const
Definition: pvtCoord.cc:121
bool isfinite() const
Definition: pvtCoord.cc:115
PVTCoord copy(double tai) const
Definition: pvtCoord.cc:79
double getTAI() const
Definition: pvtCoord.h:90
bool getSphPVT(PVT &equatPVT, PVT &polarPVT) const
Definition: pvtCoord.cc:91
Eigen::Vector3d getVel() const
Definition: pvtCoord.h:85
PVT orientationTo(PVTCoord const &pvtCoord) const
Definition: pvtCoord.cc:134
PVT getDistance() const
Definition: pvtCoord.cc:104
bool operator!=(PVTCoord const &rhs)
Definition: pvtCoord.h:172
std::string __repr__() const
Definition: pvtCoord.cc:176
bool operator==(PVTCoord const &rhs)
Definition: pvtCoord.h:166
Coord getCoord() const
Definition: pvtCoord.h:95
PVTCoord offset(PVT &toOrient, PVT const &fromOrient, PVT const &dist) const
Definition: pvtCoord.cc:164
std::ostream & operator<<(std::ostream &out, Coord const &coord)
Definition: coord.cc:263