49 const TimePoint& getTime()
const {
return time_; }
52 double getX()
const {
return vector_.x(); }
53 double getY()
const {
return vector_.y(); }
54 double getZ()
const {
return vector_.z(); }
55 double getMagnitude()
const {
return vector_.norm(); }
58 double getXOverMag()
const {
double m = vector_.norm();
return (m < 1e-12) ? 0.0 : vector_.x() /
m; }
59 double getYOverMag()
const {
double m = vector_.norm();
return (m < 1e-12) ? 0.0 : vector_.y() /
m; }
60 double getZOverMag()
const {
double m = vector_.norm();
return (m < 1e-12) ? 0.0 : vector_.z() /
m; }
63 double getRightAscension()
const {
return std::atan2(vector_.y(), vector_.x()); }
64 double getDeclination()
const {
double m = vector_.norm();
return (m < 1e-12) ? 0.0 : std::asin(vector_.z() / m); }
65 double getCoDeclination()
const {
double m = vector_.norm();
return (m < 1e-12) ? 0.0 : std::acos(vector_.z() / m); }
66 double getNegativeDeclination()
const {
return -getDeclination(); }
69 double getDirectionAngleX()
const {
double m = vector_.norm();
return (m < 1e-12) ? 0.0 : std::acos(vector_.x() / m); }
70 double getDirectionAngleY()
const {
double m = vector_.norm();
return (m < 1e-12) ? 0.0 : std::acos(vector_.y() / m); }
71 double getDirectionAngleZ()
const {
double m = vector_.norm();
return (m < 1e-12) ? 0.0 : std::acos(vector_.z() / m); }
74 double getDerivativeX()
const {
return velocity_.x(); }
75 double getDerivativeY()
const {
return velocity_.y(); }
76 double getDerivativeZ()
const {
return velocity_.z(); }
77 double getDerivativeMagnitude()
const {
return velocity_.norm(); }