50 const TimePoint& getTime()
const {
return time_; }
53 double getX()
const {
return pos_.x(); }
54 double getY()
const {
return pos_.y(); }
55 double getZ()
const {
return pos_.z(); }
56 double getMagnitude()
const {
return pos_.norm(); }
59 double getXOverMag()
const {
double m = pos_.norm();
return (
m < 1e-12) ? 0.0 : pos_.x() /
m; }
60 double getYOverMag()
const {
double m = pos_.norm();
return (
m < 1e-12) ? 0.0 : pos_.y() /
m; }
61 double getZOverMag()
const {
double m = pos_.norm();
return (
m < 1e-12) ? 0.0 : pos_.z() /
m; }
64 double getRightAscension()
const {
return std::atan2(pos_.y(), pos_.x()); }
65 double getDeclination()
const {
double m = pos_.norm();
return (
m < 1e-12) ? 0.0 : std::asin(pos_.z() /
m); }
66 double getCoDeclination()
const {
double m = pos_.norm();
return (
m < 1e-12) ? 0.0 : std::acos(pos_.z() /
m); }
67 double getNegativeDeclination()
const {
return -getDeclination(); }
70 double getDirectionAngleX()
const {
double m = pos_.norm();
return (
m < 1e-12) ? 0.0 : std::acos(pos_.x() /
m); }
71 double getDirectionAngleY()
const {
double m = pos_.norm();
return (
m < 1e-12) ? 0.0 : std::acos(pos_.y() /
m); }
72 double getDirectionAngleZ()
const {
double m = pos_.norm();
return (
m < 1e-12) ? 0.0 : std::acos(pos_.z() /
m); }
75 double getVelocityX()
const {
return vel_.x(); }
76 double getVelocityY()
const {
return vel_.y(); }
77 double getVelocityZ()
const {
return vel_.z(); }
78 double getVelocityMagnitude()
const {
return vel_.norm(); }