Class FieldGroundAtNightDetector<T extends CalculusFieldElement<T>>

  • All Implemented Interfaces:
    FieldEventDetector<T>

    public class FieldGroundAtNightDetector<T extends CalculusFieldElement<T>>
    extends FieldAbstractTopocentricDetector<FieldGroundAtNightDetector<T>,​T>
    Detector for ground location being at night.

    This detector is mainly useful for scheduling optical measurements (either passive telescope observation of satellites against the stars background or active satellite laser ranging).

    The g function of this detector is positive when ground is at night (i.e. Sun is below dawn/dusk elevation angle).

    Since:
    13.1
    Author:
    Luc Maisonobe, Romain Serra
    See Also:
    GroundAtNightDetector
    • Constructor Detail

      • FieldGroundAtNightDetector

        public FieldGroundAtNightDetector​(TopocentricFrame topocentricFrame,
                                          ExtendedPositionProvider sun,
                                          T dawnDuskElevation,
                                          AtmosphericRefractionModel refractionModel)
        Simple constructor.
        Parameters:
        topocentricFrame - ground location to check
        sun - provider for Sun position
        dawnDuskElevation - Sun elevation below which we consider night is dark enough (rad)
        refractionModel - reference to refraction model (null if refraction should be ignored)
      • FieldGroundAtNightDetector

        protected FieldGroundAtNightDetector​(TopocentricFrame topocentricFrame,
                                             ExtendedPositionProvider sun,
                                             T dawnDuskElevation,
                                             AtmosphericRefractionModel refractionModel,
                                             FieldEventDetectionSettings<T> detectionSettings,
                                             FieldEventHandler<T> handler)
        Private constructor.
        Parameters:
        topocentricFrame - ground location from which measurement is performed
        sun - provider for Sun position
        dawnDuskElevation - Sun elevation below which we consider night is dark enough (rad)
        refractionModel - reference to refraction model (null if refraction should be ignored),
        detectionSettings - event detection settings
        handler - event handler to call at event occurrences
    • Method Detail

      • dependsOnTimeOnly

        public boolean dependsOnTimeOnly()
        Description copied from interface: FieldEventDetector
        Method returning true if and only if the detection function g does not depend on dependent variables, just the independent one i.e. time. This information is used for performance in propagation.
        Returns:
        flag
      • g

        public T g​(FieldSpacecraftState<T> state)
        Compute the value of the switching function. This function must be continuous (at least in its roots neighborhood), as the integrator will need to find its roots to locate the events.

        The g function of this detector is positive when ground is at night (i.e. Sun is below dawn/dusk elevation angle).

        This function only depends on date, not on the actual position of the spacecraft.

        Parameters:
        state - the current state information: date, kinematics, attitude
        Returns:
        value of the switching function