Class FieldBooleanDetector<T extends CalculusFieldElement<T>>

  • Type Parameters:
    T - type of the field elements
    All Implemented Interfaces:

    public class FieldBooleanDetector<T extends CalculusFieldElement<T>>
    extends FieldAbstractDetector<FieldBooleanDetector<T>,​T>
    This class provides AND and OR operations for event detectors. This class treats positive values of the g function as true and negative values as false.

    One example for an imaging satellite might be to only detect events when a satellite is overhead (elevation > 0) AND when the ground point is sunlit (Sun elevation > 0). Another slightly contrived example using the OR operator would be to detect access to a set of ground stations and only report events when the satellite enters or leaves the field of view of the set, but not hand-offs between the ground stations.

    For the FieldBooleanDetector is important that the sign of the g function of the underlying event detector is not arbitrary, but has a semantic meaning, e.g. in or out, true or false. This class works well with event detectors that detect entry to or exit from a region, e.g. FieldEclipseDetector, FieldElevationDetector, FieldLatitudeCrossingDetector. Using this detector with detectors that are not based on entry to or exit from a region, e.g. FieldDateDetector, will likely lead to unexpected results. To apply conditions to this latter type of event detectors a FieldEventEnablingPredicateFilter is usually more appropriate.

    Evan Ward, luc Luc Maisonobe
    See Also:
    andCombine(Collection), orCombine(Collection), notCombine(FieldEventDetector), EventEnablingPredicateFilter, EventSlopeFilter