Class TimeStampedPVCoordinates

    • Constructor Detail

      • TimeStampedPVCoordinates

        public TimeStampedPVCoordinates​(AbsoluteDate date,
                                        Vector3D position,
                                        Vector3D velocity,
                                        Vector3D acceleration)
        Builds a TimeStampedPVCoordinates pair.
        Parameters:
        date - coordinates date
        position - the position vector (m)
        velocity - the velocity vector (m/s)
        acceleration - the acceleration vector (m/s²)
      • TimeStampedPVCoordinates

        public TimeStampedPVCoordinates​(AbsoluteDate date,
                                        Vector3D position,
                                        Vector3D velocity)
        Build from position and velocity. Acceleration is set to zero.
        Parameters:
        date - coordinates date
        position - the position vector (m)
        velocity - the velocity vector (m/s)
      • TimeStampedPVCoordinates

        public TimeStampedPVCoordinates​(AbsoluteDate date,
                                        PVCoordinates pv)
        Build from position velocity acceleration coordinates.
        Parameters:
        date - coordinates date
        pv - position velocity, and acceleration coordinates, in meters and seconds.
      • TimeStampedPVCoordinates

        public TimeStampedPVCoordinates​(AbsoluteDate date,
                                        double a,
                                        PVCoordinates pv)
        Multiplicative constructor

        Build a TimeStampedPVCoordinates from another one and a scale factor.

        The TimeStampedPVCoordinates built will be a * pv

        Parameters:
        date - date of the built coordinates
        a - scale factor
        pv - base (unscaled) PVCoordinates
      • TimeStampedPVCoordinates

        public TimeStampedPVCoordinates​(AbsoluteDate date,
                                        PVCoordinates start,
                                        PVCoordinates end)
        Subtractive constructor

        Build a relative TimeStampedPVCoordinates from a start and an end position.

        The TimeStampedPVCoordinates built will be end - start.

        Parameters:
        date - date of the built coordinates
        start - Starting PVCoordinates
        end - ending PVCoordinates
      • TimeStampedPVCoordinates

        public TimeStampedPVCoordinates​(AbsoluteDate date,
                                        double a1,
                                        PVCoordinates pv1,
                                        double a2,
                                        PVCoordinates pv2)
        Linear constructor

        Build a TimeStampedPVCoordinates from two other ones and corresponding scale factors.

        The TimeStampedPVCoordinates built will be a1 * u1 + a2 * u2

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
      • TimeStampedPVCoordinates

        public TimeStampedPVCoordinates​(AbsoluteDate date,
                                        double a1,
                                        PVCoordinates pv1,
                                        double a2,
                                        PVCoordinates pv2,
                                        double a3,
                                        PVCoordinates pv3)
        Linear constructor

        Build a TimeStampedPVCoordinates from three other ones and corresponding scale factors.

        The TimeStampedPVCoordinates built will be a1 * u1 + a2 * u2 + a3 * u3

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
        a3 - third scale factor
        pv3 - third base (unscaled) PVCoordinates
      • TimeStampedPVCoordinates

        public TimeStampedPVCoordinates​(AbsoluteDate date,
                                        double a1,
                                        PVCoordinates pv1,
                                        double a2,
                                        PVCoordinates pv2,
                                        double a3,
                                        PVCoordinates pv3,
                                        double a4,
                                        PVCoordinates pv4)
        Linear constructor

        Build a TimeStampedPVCoordinates from four other ones and corresponding scale factors.

        The TimeStampedPVCoordinates built will be a1 * u1 + a2 * u2 + a3 * u3 + a4 * u4

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
        a3 - third scale factor
        pv3 - third base (unscaled) PVCoordinates
        a4 - fourth scale factor
        pv4 - fourth base (unscaled) PVCoordinates
      • TimeStampedPVCoordinates

        public TimeStampedPVCoordinates​(AbsoluteDate date,
                                        FieldVector3D<U> p)
        Builds a TimeStampedPVCoordinates triplet from a FieldVector3D<Derivative>.

        The vector components must have time as their only derivation parameter and have consistent derivation orders.

        Type Parameters:
        U - type of the derivative
        Parameters:
        date - date of the built coordinates
        p - vector with time-derivatives embedded within the coordinates
    • Method Detail

      • shiftedBy

        public TimeStampedPVCoordinates shiftedBy​(double dt)
        Get a time-shifted state.

        The state can be slightly shifted to close dates. This shift is based on a simple Taylor expansion. It is not intended as a replacement for proper orbit propagation (it is not even Keplerian!) but should be sufficient for either small time shifts or coarse accuracy.

        Specified by:
        shiftedBy in interface TimeShiftable<PVCoordinates>
        Overrides:
        shiftedBy in class PVCoordinates
        Parameters:
        dt - time shift in seconds
        Returns:
        a new state, shifted with respect to the instance (which is immutable)
      • shiftedBy

        public TimeStampedPVCoordinates shiftedBy​(TimeOffset dt)
        Get a time-shifted state.

        The state can be slightly shifted to close dates. This shift is based on a simple Taylor expansion. It is not intended as a replacement for proper orbit propagation (it is not even Keplerian!) but should be sufficient for either small time shifts or coarse accuracy.

        Specified by:
        shiftedBy in interface TimeShiftable<PVCoordinates>
        Parameters:
        dt - time shift
        Returns:
        a new state, shifted with respect to the instance (which is immutable)
        Since:
        13.0
      • toTaylorProvider

        public PVCoordinatesProvider toTaylorProvider​(Frame instanceFrame)
        Create a local provider using simply Taylor expansion through shiftedBy(double).

        The time evolution is based on a simple Taylor expansion. It is not intended as a replacement for proper orbit propagation (it is not even Keplerian!) but should be sufficient for either small time shifts or coarse accuracy.

        Parameters:
        instanceFrame - frame in which the instance is defined
        Returns:
        provider based on Taylor expansion, for small time shifts around instance date
      • toDerivativeStructurePV

        public TimeStampedFieldPVCoordinates<DerivativeStructure> toDerivativeStructurePV​(int order)
        Description copied from class: PVCoordinates
        Transform the instance to a FieldPVCoordinates<DerivativeStructure>.

        The DerivativeStructure coordinates correspond to time-derivatives up to the user-specified order. As both the instance components position, velocity and acceleration and the derivatives of the components holds time-derivatives, there are several ways to retrieve these derivatives. If for example the order is set to 2, then both pv.getPosition().getX().getPartialDerivative(2), pv.getVelocity().getX().getPartialDerivative(1) and pv.getAcceleration().getX().getValue() return the exact same value.

        If derivation order is 1, the first derivative of acceleration will be computed as a Keplerian-only jerk. If derivation order is 2, the second derivative of velocity (which is also the first derivative of acceleration) will be computed as a Keplerian-only jerk, and the second derivative of acceleration will be computed as a Keplerian-only jounce.

        Overrides:
        toDerivativeStructurePV in class PVCoordinates
        Parameters:
        order - derivation order for the vector components (must be either 0, 1 or 2)
        Returns:
        pv coordinates with time-derivatives embedded within the coordinates
      • toString

        public String toString​(TimeScale utc)
        Return a string representation of this date, position, velocity, and acceleration.
        Parameters:
        utc - time scale used to print the date.
        Returns:
        string representation of this.