Class: Astronoby::GreenwichSiderealTime
- Inherits:
-
SiderealTime
- Object
- SiderealTime
- Astronoby::GreenwichSiderealTime
- Defined in:
- lib/astronoby/time/greenwich_sidereal_time.rb
Overview
Greenwich Sidereal Time base class. Dispatches to mean or apparent subclasses.
Direct Known Subclasses
Constant Summary
Constants inherited from SiderealTime
Instance Attribute Summary
Attributes inherited from SiderealTime
Class Method Summary collapse
- .apparent_from_utc(utc) ⇒ Astronoby::GreenwichApparentSiderealTime
-
.from_utc(utc, type: MEAN) ⇒ Astronoby::GreenwichMeanSiderealTime, Astronoby::GreenwichApparentSiderealTime
Creates a Greenwich Sidereal Time from UTC.
- .mean_from_utc(utc) ⇒ Astronoby::GreenwichMeanSiderealTime
Instance Method Summary collapse
-
#to_lst(longitude:) ⇒ Astronoby::LocalMeanSiderealTime, Astronoby::LocalApparentSiderealTime
Converts to Local Sidereal Time for a given longitude.
-
#to_utc ⇒ Time
Converts to UTC.
Methods inherited from SiderealTime
#apparent?, #initialize, #mean?, normalize_time, #normalize_time, validate_type!
Constructor Details
This class inherits a constructor from Astronoby::SiderealTime
Class Method Details
.apparent_from_utc(utc) ⇒ Astronoby::GreenwichApparentSiderealTime
31 32 33 |
# File 'lib/astronoby/time/greenwich_sidereal_time.rb', line 31 def self.apparent_from_utc(utc) GreenwichApparentSiderealTime.from_utc(utc) end |
.from_utc(utc, type: MEAN) ⇒ Astronoby::GreenwichMeanSiderealTime, Astronoby::GreenwichApparentSiderealTime
Creates a Greenwich Sidereal Time from UTC.
13 14 15 16 17 18 19 20 21 |
# File 'lib/astronoby/time/greenwich_sidereal_time.rb', line 13 def self.from_utc(utc, type: MEAN) validate_type!(type) case type when MEAN GreenwichMeanSiderealTime.from_utc(utc) when APPARENT GreenwichApparentSiderealTime.from_utc(utc) end end |
.mean_from_utc(utc) ⇒ Astronoby::GreenwichMeanSiderealTime
25 26 27 |
# File 'lib/astronoby/time/greenwich_sidereal_time.rb', line 25 def self.mean_from_utc(utc) GreenwichMeanSiderealTime.from_utc(utc) end |
Instance Method Details
#to_lst(longitude:) ⇒ Astronoby::LocalMeanSiderealTime, Astronoby::LocalApparentSiderealTime
Converts to Local Sidereal Time for a given longitude.
54 55 56 |
# File 'lib/astronoby/time/greenwich_sidereal_time.rb', line 54 def to_lst(longitude:) LocalSiderealTime.from_gst(gst: self, longitude: longitude) end |
#to_utc ⇒ Time
Converts to UTC.
39 40 41 42 43 44 45 46 47 |
# File 'lib/astronoby/time/greenwich_sidereal_time.rb', line 39 def to_utc unless mean? raise NotImplementedError, "UTC conversion only supported for mean sidereal time" end gmst = GreenwichMeanSiderealTime.new(date: @date, time: @time) gmst.to_utc end |