src/Marando/AstroDate/AstroDate.php
public function sidereal($mode = 'a', Angle $lon = null)
    {
        // Get UT1 time
        $ut  = $this->copy()->toUT1();
        $uta = $ut->jd;
        $utb = $ut->dayFrac;
        $ut  = null;

        // Get TT time
        $tt  = $this->copy()->toTT();
        $tta = $tt->jd;
        $ttb = $tt->dayFrac;
        $tt  = null;

        // Compute either GMST or GAST
        $st;
        if ($mode == 'a') {
            $strad = IAU::Gst06a($uta, $utb, $tta, $ttb);
        } else {
            $strad = IAU::Gmst06($uta, $utb, $tta, $ttb);
        }

        // Add longitude if relevant
        if ($lon) {
            $st = Angle::rad($strad)->add($lon)->norm()->toTime();
        } else {
            $st = Angle::rad($strad)->toTime();
        }

        // Return as hours
        return $st;
    }
public function sidereal($mode = 'a', Angle $lon = null)
    {
        // Get UT1 time
        $ut  = $this->copy()->toUT1();
        $uta = $ut->jd;
        $utb = $ut->dayFrac;
        $ut  = null;

        // Get TT time
        $tt  = $this->copy()->toTT();
        $tta = $tt->jd;
        $ttb = $tt->dayFrac;
        $tt  = null;

        // Compute either GMST or GAST
        $st;
        if ($mode == 'a') {
            $strad = IAU::Gst06a($uta, $utb, $tta, $ttb);
        } else {
            $strad = IAU::Gmst06($uta, $utb, $tta, $ttb);
        }

        // Add longitude if relevant
        if ($lon) {
            $st = Angle::rad($strad)->add($lon)->norm()->toTime();
        } else {
            $st = Angle::rad($strad)->toTime();
        }

        // Return as hours
        return $st;
    }
public function sidereal ( $ mode = 'a' , Angle $ lon = null ) { // Get UT1 time $ ut = $ this -> copy ( ) -> toUT1 ( ) ; $ uta = $ ut -> jd ; $ utb = $ ut -> dayFrac ; $ ut = null ; // Get TT time $ tt = $ this -> copy ( ) -> toTT ( ) ; $ tta = $ tt -> jd ; $ ttb = $ tt -> dayFrac ; $ tt = null ; // Compute either GMST or GAST $ st ; if ( $ mode == 'a' ) { $ strad = IAU :: Gst06a ( $ uta , $ utb , $ tta , $ ttb ) ; } else { $ strad = IAU :: Gmst06 ( $ uta , $ utb , $ tta , $ ttb ) ; } // Add longitude if relevant if ( $ lon ) { $ st = Angle :: rad ( $ strad ) -> add ( $ lon ) -> norm ( ) -> toTime ( ) ; } else { $ st = Angle :: rad ( $ strad ) -> toTime ( ) ; } // Return as hours return $ st ; }
Finds the sidereal time of this intsance

@param type  $mode Type of sidereal time... (a = apparent, m = mean)
@param Angle $lon  If a longitude is supplied, finds local sidereal time,
otherwise returns sidereal time at Greenwich
Finds the sidereal time of this intsance