jaxoplanet.orbits.transit
=========================

.. py:module:: jaxoplanet.orbits.transit


Classes
-------

.. autoapisummary::

   jaxoplanet.orbits.transit.TransitOrbit


Module Contents
---------------

.. py:class:: TransitOrbit(*, period: jaxoplanet.types.Scalar, duration: jaxoplanet.types.Scalar | None = None, speed: jaxoplanet.types.Scalar | None = None, time_transit: jaxoplanet.types.Scalar | None = None, impact_param: jaxoplanet.types.Scalar | None = None, radius_ratio: jaxoplanet.types.Scalar | None = None)

   Bases: :py:obj:`equinox.Module`


   An orbit parameterized by the transit signal parameters.

   :param period: Orbital periods of the planets [time unit].
   :param duration: Durations of transits [time unit].
                    Either this or `speed` must be provided.
   :type duration: Optional[Scalar]
   :param speed: Speeds of the planets [length/time unit].
                 Either this or `duration` must be provided.
   :type speed: Optional[Scalar]
   :param time_transit: The epochs of reference transits [time unit].
                        Default is 0.
   :type time_transit: Optional[Scalar]
   :param impact_param: Impact parameters of the transits.
                        Default is 0.
   :type impact_param: Optional[Scalar]
   :param radius_ratio: Ratio of planet radii to star radius.
                        Default is 0.
   :type radius_ratio: Optional[Scalar]

   :raises ValueError: If neither `speed` nor `duration` is provided.

   Properties:
       - shape: Returns the shape of the period, i.e. the number of planets.
       - central_radius: A Scalar representing the radius of the central body.
           Its value is always 1 in this class, but required for compatibility reasons.
       - radius: An alias for radius_ratio required for compatibility reasons.
       - relative_position: The relative position of the orbiting body at a given time.


   .. py:attribute:: period
      :type:  jaxoplanet.types.Scalar


   .. py:attribute:: speed
      :type:  jaxoplanet.types.Scalar


   .. py:attribute:: duration
      :type:  jaxoplanet.types.Scalar


   .. py:attribute:: time_transit
      :type:  jaxoplanet.types.Scalar


   .. py:attribute:: impact_param
      :type:  jaxoplanet.types.Scalar


   .. py:attribute:: radius_ratio
      :type:  jaxoplanet.types.Scalar


   .. py:property:: shape
      :type: tuple[int, Ellipsis]



   .. py:property:: radius
      :type: jaxoplanet.types.Scalar



   .. py:property:: central_radius
      :type: jaxoplanet.types.Scalar



   .. py:method:: relative_position(t: jaxoplanet.types.Scalar, parallax: jaxoplanet.types.Scalar | None = None) -> tuple[jaxoplanet.types.Scalar, jaxoplanet.types.Scalar, jaxoplanet.types.Scalar]


