Class: Astronoby::DeepSkyObject

Inherits:
Object
  • Object
show all
Includes:
Body
Defined in:
lib/astronoby/bodies/deep_sky_object.rb

Overview

Represents a deep-sky object (star, galaxy, nebula, etc.) with optional proper motion and parallax data.

Instance Method Summary collapse

Constructor Details

#initialize(equatorial_coordinates:, proper_motion_ra: nil, proper_motion_dec: nil, parallax: nil, radial_velocity: nil) ⇒ DeepSkyObject

Returns a new instance of DeepSkyObject.

Parameters:



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/astronoby/bodies/deep_sky_object.rb', line 17

def initialize(
  equatorial_coordinates:,
  proper_motion_ra: nil,
  proper_motion_dec: nil,
  parallax: nil,
  radial_velocity: nil
)
  @initial_equatorial_coordinates = equatorial_coordinates
  @proper_motion_ra = proper_motion_ra
  @proper_motion_dec = proper_motion_dec
  @parallax = parallax
  @radial_velocity = radial_velocity
end

Instance Method Details

#at(instant, ephem: nil) ⇒ Astronoby::DeepSkyObjectPosition

Returns Position of the deep-sky object at the given instant.

Parameters:

  • instant (Astronoby::Instant)

    Instant of the observation

  • ephem (Astronoby::Ephemeris, nil) (defaults to: nil)

    Ephemeris to use for Earth position calculation

Returns:



36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/astronoby/bodies/deep_sky_object.rb', line 36

def at(instant, ephem: nil)
  DeepSkyObjectPosition.new(
    instant: instant,
    equatorial_coordinates: @initial_equatorial_coordinates,
    ephem: ephem,
    proper_motion_ra: @proper_motion_ra,
    proper_motion_dec: @proper_motion_dec,
    parallax: @parallax,
    radial_velocity: @radial_velocity,
    deep_sky_object: self
  )
end