Class BaseParameterDriversSequenceBuilder<T,P extends BaseParameterDriver<P,O>,O extends BaseParameterObserver<P,O>,S extends BaseParameterDriversSequence<P,O>,B extends BaseParameterDriversSequenceBuilder<T,P,O,S,B>>

java.lang.Object
org.orekit.utils.drivers.BaseParameterDriversSequenceBuilder<T,P,O,S,B>
Type Parameters:
T - type of the elements
P - type of the parameter driver
O - type of the parameter observer
S - type of the parameters drivers sequence
B - type of the parameters drivers sequence builder
Direct Known Subclasses:
FieldParameterDriversSequenceBuilder, ParameterDriversSequenceBuilder

public abstract class BaseParameterDriversSequenceBuilder<T,P extends BaseParameterDriver<P,O>,O extends BaseParameterObserver<P,O>,S extends BaseParameterDriversSequence<P,O>,B extends BaseParameterDriversSequenceBuilder<T,P,O,S,B>> extends Object
Since:
14.0
Author:
Luc Maisonobe
  • Field Details

  • Constructor Details

    • BaseParameterDriversSequenceBuilder

      protected BaseParameterDriversSequenceBuilder(String baseName, double scale, double minValue, double maxValue, T defaultValue)
      Constructor for an initially empty builder.

      The builder build() method cannot be called right after construction. Some reference values must be set before, either by calling the addReferenceValue(referenceValue) method once, or by calling the addReferenceValue(referenceValue, earliestValidityDate, latestValidityDate) method as many times as needed to cover the usage range before the build() method can be called.

      Parameters:
      baseName - base name of the parameters
      scale - scaling factor to convert the parameters value to non-dimensional (typically set to the expected standard deviation of the parameter), it must be non-zero
      minValue - minimum value allowed
      maxValue - maximum value allowed
      defaultValue - default value valid throughout timeline
  • Method Details

    • addReferenceValue

      public B addReferenceValue(T referenceValue)
      Add a reference value throughout timeline.

      Calling this method is equivalent to call addReferenceValue(referenceValue, AbsoluteDate.PAST_INFINITY, AbsoluteDate.FUTURE_INFINITY).

      Parameters:
      referenceValue - reference value
      Returns:
      the instance itself, allowing use of the fluent interface pattern
    • addReferenceValue

      public B addReferenceValue(T referenceValue, AbsoluteDate earliestValidityDate, AbsoluteDate latestValidityDate)
      Add a reference value valid for a time span.
      Parameters:
      referenceValue - reference value
      earliestValidityDate - date after which the coefficient is valid
      latestValidityDate - date before which the coefficient is valid
      Returns:
      the instance itself, allowing use of the fluent interface pattern
    • build

      public S build()
      Build a BaseParameterDriversSequence.

      If only one reference value has been set, its name will be the base name set at construction. If several reference values have been set, their names will be built by concatenating together SPAN_PREFIX, followed by the base name set at construction, followed by a single "-", and finally appending the index of the parameter driver, counting from 0.

      Returns:
      built sequence
    • buildDriver

      protected abstract P buildDriver(String name, T referenceValue, double scaleFactor, double min, double max, TimeInterval validity)
      Build a parameter driver.
      Parameters:
      name - name of the parameter
      referenceValue - reference value of the parameter
      scaleFactor - scaling factor to convert the parameters value to non-dimensional (typically set to the expected standard deviation of the parameter), it must be non-zero
      min - minimum value allowed
      max - maximum value allowed
      validity - validity interval
      Returns:
      built parameter driver
    • buildSequence

      protected abstract S buildSequence(TimeSpanMap<P> drivers)
      Build a sequence.
      Parameters:
      drivers - drivers sequence
      Returns:
      built sequence