package math
Mathematical data types for general use, not specific to the Gem model.
- Alphabetic
- By Inheritance
- math
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
sealed
class
Angle extends AnyRef
Exact angles represented as integral microarcseconds.
Exact angles represented as integral microarcseconds. These values form a commutative group over addition, where the inverse is reflection around the 0-180° axis. The subgroup of angles where integral microarcseconds correspond with clock microseconds (i.e., where they are evenly divisible by 15 microarcseconds) is represented by the HourAgle subtype.
Lawful conversion to and from other types/scales is provided by optics defined on the companion object. Floating-point conversions are provided directly
- trait AngleOptics extends OpticsHelpers
-
final
case class
Coordinates(ra: RightAscension, dec: Declination) extends Product with Serializable
A point in the sky, given right ascension and declination.
- trait CoordinatesOptics extends AnyRef
- type Dec = Declination
-
sealed abstract
case class
Declination extends Product with Serializable
Celestial latitude, measured in angular distance from the celestial equator.
Celestial latitude, measured in angular distance from the celestial equator. Points north of the celestial equator have positive declinations, while those south have negative declinations. This is a newtype wrapper for an
Angle
constrainted to the range [-90°, 90°], or [270 - 360) + [0 - 90] in terms of the underlyingAngle
. Note that the range is *inclusive* of both poles.- See also
The helpful Wikipedia article.
- trait DeclinationOptics extends AnyRef
-
final
class
Epoch extends AnyRef
An epoch, the astronomer's equivalent of
Instant
, based on a fractional year in some temporal scheme (Julian or Besselian) that determines year zero and the length of a year.An epoch, the astronomer's equivalent of
Instant
, based on a fractional year in some temporal scheme (Julian or Besselian) that determines year zero and the length of a year. The only meaningful operation for anEpoch
is to ask the elapsed epoch-years between it and some other point in time. We need this for proper motion corrections because velocities are measured in motion per epoch-year. The epoch year is stored internally as integral milliyears.- See also
The Wikipedia article
- trait EpochOptics extends AnyRef
-
final
class
HourAngle extends Angle
Exact hour angles represented as integral microseconds.
Exact hour angles represented as integral microseconds. These values form a commutative group over addition, where the inverse is reflection around the 0-12h axis. This is a subgroup of the integral Angles where microarcseconds are evenly divisible by 15.
Lawful conversion to and from other types/scales is provided by optics defined on the companion object. Floating-point conversions are provided directly
- See also
The helpful Wikipedia article.
- trait HourAngleOptics extends OpticsHelpers
-
sealed abstract
case class
Index extends Product with Serializable
A positive, non-zero value for numbered identifiers.
- trait IndexOptics extends AnyRef
-
sealed abstract
case class
JulianDate extends Product with Serializable
Astronomical time representation of continuous days since noon, November 24, 4714 BC.
Astronomical time representation of continuous days since noon, November 24, 4714 BC.
- See also
The Wikipedia article
-
final
case class
MagnitudeValue(scaledValue: Int) extends Product with Serializable
Exact magnitude value represented as an int with the original value scaled up
Exact magnitude value represented as an int with the original value scaled up
- scaledValue
This magnitude integral value, as the original multiplied by 100. value is dimensionless
- See also
The Wikipedia https://en.wikipedia.org/wiki/Apparent_magnitude
-
final
case class
Offset(p: P, q: Q) extends Product with Serializable
Angular offset with P and Q components.
- trait OffsetOptics extends AnyRef
- trait OpticsHelpers extends AnyRef
-
final
case class
ProperMotion(baseCoordinates: Coordinates, epoch: Epoch, properVelocity: Option[Offset], radialVelocity: Option[RadialVelocity], parallax: Option[Angle]) extends Product with Serializable
Time-parameterized coordinates, based on an observed position at some point in time (called the
epoch
) and measured velocities in distance (radialVelocity
; i.e., doppler shift) and position (properVelocity
) per year.Time-parameterized coordinates, based on an observed position at some point in time (called the
epoch
) and measured velocities in distance (radialVelocity
; i.e., doppler shift) and position (properVelocity
) per year. Given this information we can compute the position at any instant in time. The references below are extremely helpful, so do check them out if you're trying to understand the implementation.- baseCoordinates
observed coordinates at
epoch
- epoch
time of the base observation; typically
Epoch.J2000
- properVelocity
proper velocity per year in RightAscension and Declination, if any
- radialVelocity
radial velocity (km/y, positive if receding), if any
- parallax
parallax, if any
- trait ProperMotionOptics extends AnyRef
- type RA = RightAscension
-
sealed abstract
case class
RadialVelocity extends Product with Serializable
Radial Velocity represented as integral meters per second, positive if receding.
Radial Velocity represented as integral meters per second, positive if receding. We can also view velocity in terms of redshift (a dimensionless value called z).
- See also
Wikipedia on Radial Velocity
Wikipedia on Redshift
-
final
case class
RightAscension(toHourAngle: HourAngle) extends Product with Serializable
Celestial longitude, measured eastward along the celestial equator from the vernal equinox to the hour circle of the point in question.
- trait RightAscensionOptics extends AnyRef
-
sealed abstract
case class
Wavelength extends Product with Serializable
Exact wavelengths represented as unsigned integral picometers in the range [0 ..
Exact wavelengths represented as unsigned integral picometers in the range [0 .. Int.MaxValue] which means the largest representable wavelength is 2.147483647 mm.
Value Members
- val Dec: Declination.type
- val RA: RightAscension.type
- object Angle extends AngleOptics
-
object
Coordinates extends CoordinatesOptics with Serializable
- Annotations
- @SuppressWarnings()
- object Declination extends DeclinationOptics with Serializable
- object Epoch extends EpochOptics
- object HourAngle extends HourAngleOptics
- object Index extends IndexOptics with Serializable
- object JulianDate extends Serializable
- object MagnitudeValue extends Serializable
- object Offset extends OffsetOptics with Serializable
- object PhysicalConstants
- object ProperMotion extends ProperMotionOptics with Serializable
- object RadialVelocity extends Serializable
- object RightAscension extends RightAscensionOptics with Serializable
- object Wavelength extends Serializable