Interface ClockModel

All Superinterfaces:
ParameterDriversProvider
All Known Implementing Classes:
AbstractCombinedClocksPair, AggregatedClockModel, ClocksDifference, ClocksSum, ConstantClockModel, PerfectClockModel, PolynomialClockModel, SampledClockModel

public interface ClockModel extends ParameterDriversProvider
Offset clock model.
Since:
12.1
Author:
Luc Maisonobe
  • Method Details

    • getAcceptedTermSuffix

      default String getAcceptedTermSuffix(int term)
      Get the accepted suffix for parameter names. This creates the list of parameter driver terms that are accepted
      Parameters:
      term - the driver term parameter index requested
      Returns:
      clock term suffix
    • getValidityStart

      AbsoluteDate getValidityStart()
      Get validity start.
      Returns:
      model validity start
    • getValidityEnd

      AbsoluteDate getValidityEnd()
      Get validity end.
      Returns:
      model validity end
    • getOffset

      ClockOffset getOffset(AbsoluteDate date)
      Get the clock offset at date.
      Parameters:
      date - date at which offset is requested
      Returns:
      clock offset at specified date
    • getOffsetValue

      default double getOffsetValue(AbsoluteDate date)
      Get the clock offset value at date.
      Parameters:
      date - date at which offset value is requested
      Returns:
      clock offset value
    • getBiasDriver

      default ParameterDriver getBiasDriver()
      Get the parameter driver for the clock bias.

      The bias represents the constant offset of the clock from the reference time scale. For a polynomial clock model of the form offset(t) = a₀ + a₁·t + a₂·t² + ..., the bias driver corresponds to the a₀ coefficient.

      Returns:
      parameter driver for clock bias, or null if not available
      Since:
      14.0
    • getRateDriver

      default ParameterDriver getRateDriver()
      Get the parameter driver for the clock rate (drift).

      The rate represents the linear drift of the clock offset over time. For a polynomial clock model of the form offset(t) = a₀ + a₁·t + a₂·t² + ..., the rate driver corresponds to the a₁ coefficient. The rate is expressed in seconds of offset per second of elapsed time (dimensionless).

      Returns:
      parameter driver for clock rate, or null if not available
      Since:
      14.0
    • getAccelerationDriver

      default ParameterDriver getAccelerationDriver()
      Get the parameter driver for the clock acceleration.

      The acceleration represents the quadratic component of the clock offset over time. For a polynomial clock model of the form offset(t) = a₀ + a₁·t + a₂·t² + ..., the acceleration driver corresponds to the a₂ coefficient. The acceleration is expressed in seconds of offset per second squared of elapsed time.

      Returns:
      parameter driver for clock acceleration, or null if not available
      Since:
      14.0
    • getParameterDriverTerm

      default ParameterDriver getParameterDriverTerm(int term)
      Get the parameter driver for a given index.

      This gets the desired term value for the given integer. For example, if the fifth term counting up from bias being zero is desired. For all parameters without the standard naming convention, other methods of retrieval are required.

      Parameters:
      term - the driver term parameter index requested
      Returns:
      parameter driver for clock acceleration, or null if not available
      Since:
      14.0
    • toField

      <T extends CalculusFieldElement<T>> FieldClockModel<T> toField(DoubleFunction<T> converter)
      Convert to field model.
      Type Parameters:
      T - type of the field elements
      Parameters:
      converter - converter to field elements
      Returns:
      field version of the instance
      Since:
      14.0
    • toGradient

      FieldClockModel<Gradient> toGradient(int freeParameters, Map<String,Integer> indices)
      Convert to gradient model.
      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
      Returns:
      converted clock model