6 static double const _fromFK5J2000CArr[9] = {
7 -5.487553969571600e-02, +4.941094533056070e-01, -8.676661358478490e-01,
8 -8.734371079953150e-01, -4.448295894318790e-01, -1.980763861308200e-01,
9 -4.838349858369940e-01, +7.469822518105100e-01, +4.559837957210930e-01
11 static const Eigen::Map<const Eigen::Matrix3d> _fromFK5J2000RotMat(_fromFK5J2000CArr);
31 double const fromDate = 2000.0;
32 double const toDate = this->
_date;
35 Eigen::Vector3d fk5J2000Pos = coord.
getVecPos();
36 Eigen::Vector3d fk5J2000PM = coord.
getVecPM();
37 Eigen::Vector3d adjIcrsPos = fk5J2000Pos + (fk5J2000PM * (toDate - fromDate));
40 Eigen::Vector3d galPos, galPM;
41 galPos = _fromFK5J2000RotMat * adjIcrsPos;
42 galPM = _fromFK5J2000RotMat * fk5J2000PM;
44 return Coord(galPos, galPM);
48 double const fromDate = this->
_date;
49 double const toDate = 2000.0;
52 Eigen::Vector3d galPos = coord.
getVecPos();
53 Eigen::Vector3d galPM = coord.
getVecPM();
54 Eigen::Vector3d adjGalPos = galPos + (galPM * (toDate - fromDate));
57 Eigen::Vector3d fk5J2000Pos, fk5J2000PM;
58 fk5J2000Pos = _fromFK5J2000RotMat.transpose() * adjGalPos;
59 fk5J2000PM = _fromFK5J2000RotMat.transpose() * galPM;
61 return Coord(fk5J2000Pos, fk5J2000PM);
65 std::ostringstream os;
66 os <<
"GalCoordSys(" <<
getDate() <<
")";
virtual std::string __repr__() const
Eigen::Vector3d const getVecPM() const
double getDate(bool zeroIfCurrent=true) const
boost::shared_ptr< CoordSys > Ptr
double _date
name of coordinate system
virtual CoordSys::Ptr clone() const
virtual Coord toFK5J2000(Coord const &coord, Site const &site) const
Eigen::Vector3d const getVecPos() const
virtual Coord fromFK5J2000(Coord const &coord, Site const &site) const
GalCoordSys(double date=0)