Class PolynomialClockModel

java.lang.Object
org.orekit.time.clocks.PolynomialClockModel
All Implemented Interfaces:
ClockModel, ParameterDriversProvider

public class PolynomialClockModel extends Object implements ClockModel
Polynomial clock model.
Since:
12.1
Author:
Luc Maisonobe
  • Constructor Details

    • PolynomialClockModel

      public PolynomialClockModel(AbsoluteDate referenceDate)
      Simple constructor.
      Parameters:
      referenceDate - reference date
    • PolynomialClockModel

      public PolynomialClockModel(AbsoluteDate referenceDate, double... terms)
      Simple constructor.
      Parameters:
      referenceDate - reference date
      terms - the polynomial terms in order.
    • PolynomialClockModel

      public PolynomialClockModel(ParameterDriver... terms)
      Simple constructor.
      Parameters:
      terms - the parameter driver terms
    • PolynomialClockModel

      public PolynomialClockModel(List<ParameterDriver> terms)
      Simple constructor.
      Parameters:
      terms - the parameter driver terms
  • Method Details

    • getValidityStart

      public AbsoluteDate getValidityStart()
      Get validity start.
      Specified by:
      getValidityStart in interface ClockModel
      Returns:
      model validity start
    • getValidityEnd

      public AbsoluteDate getValidityEnd()
      Get validity end.
      Specified by:
      getValidityEnd in interface ClockModel
      Returns:
      model validity end
    • getParametersDrivers

      public List<ParameterDriver> getParametersDrivers()
      Get the drivers for parameters.
      Specified by:
      getParametersDrivers in interface ParameterDriversProvider
      Returns:
      drivers for parameters
    • addParameterDriver

      public void addParameterDriver(Integer index, ParameterDriver driver)
      Add a parameter driver term in a given index to the list of parameters. If parameters prior to the one requested don't exist, it will create empty ones. This allows adding a velocity, acceleration, or above without explicitly defining the terms below.
      Parameters:
      index - the index at which to add the parameter driver
      driver - the parameter driver to add
    • getOffset

      public ClockOffset getOffset(AbsoluteDate date)
      Get the clock offset at date.
      Specified by:
      getOffset in interface ClockModel
      Parameters:
      date - date at which offset is requested
      Returns:
      clock offset at specified date
    • getFieldOffset

      public <T extends CalculusFieldElement<T>> FieldClockOffset<T> getFieldOffset(FieldAbsoluteDate<T> date)
      Get the field clock offset at date.
      Specified by:
      getFieldOffset in interface ClockModel
      Type Parameters:
      T - type of the field elements
      Parameters:
      date - date at which offset is requested
      Returns:
      field clock offset
    • getFieldModel

      public FieldClockModel<Gradient> getFieldModel(int freeParameters, Map<String,Integer> indices, AbsoluteDate date)
      Convert to field model.
      Specified by:
      getFieldModel in interface ClockModel
      Parameters:
      freeParameters - total number of free parameters in the gradient
      indices - indices of the differentiation parameters in derivatives computations, must be span name and not driver name
      date - date at which model must be valid
      Returns:
      converted clock model