Click or drag to resize

StoppingConditionEvaluator Class

The type that actually evaluates a value from the state of propagation that can be used to stop the propagation.
Inheritance Hierarchy
SystemObject
  AGI.Foundation.StoppingConditionsStoppingConditionEvaluator

Namespace:  AGI.Foundation.StoppingConditions
Assembly:  AGI.Foundation.Models (in AGI.Foundation.Models.dll) Version: 24.3.420.0 (24.3.420.0)
Syntax
public abstract class StoppingConditionEvaluator : IEvaluator, 
	IAvailability, IThreadAware, ICloneWithContext, IDisposable

The StoppingConditionEvaluator type exposes the following members.

Constructors
  NameDescription
Protected methodStoppingConditionEvaluator(EvaluatorGroup, StoppingCondition)
Initializes a new instance.
Protected methodStoppingConditionEvaluator(StoppingConditionEvaluator, CopyContext)
Initializes a new instance as a copy of an existing instance.
Top
Properties
  NameDescription
Public propertyAngularSetting
Gets the indication that the value being computed is an angle and, if so, should that angle be between negative PI and PI, or if it should be between 0 and 2*PI.
Public propertyConstraints
Gets the constraints that must also be satisfied for this stopping condition to stop propagation. If a constraint prevents an event from stopping propagation, it will not increment the count that gets compared to the StopOnEventNumber.
Public propertyDiscontinuityTolerance
Gets the tolerance to use to detect discontinuities in the value computed by the stopping condition. If the difference between two function values is greater than this value, then it should be considered a discontinuity and not counted as an event. It is up to the function sampling the stopping condition value to use this to detect discontinuities. This is PositiveInfinity if the AngularSetting is NotCircular, or PI for the other CircularRange values.
Public propertyEnabled
Gets or sets if this evaluator should be used during propagation.
Public propertyFunctionTolerance
Gets how close the function value must get to the Threshold to be considered equal to.
Public propertyGroup
Gets the group that contains this evaluator.
Public propertyIdentifier
Gets the definition that created this StoppingConditionEvaluator. This is to be used only for identification of this StoppingConditionEvaluator and related items.
Public propertyIsThreadSafe
Gets a value indicating whether the methods on this instance are safe to call from multiple threads simultaneously.
Public propertyName
Gets an optional name for this StoppingConditionEvaluator.
Public propertyRequireFunctionTolerance
Gets a value indicating whether the FunctionTolerance does not need to be satisfied. The search for an event will still attempt to converge to within the FunctionTolerance, but if it is known that an event is there (such as a threshold crossing), the event will be reported and this condition considered satisfied even if the search did not converge within the FunctionTolerance. This is by default.
Public propertySatisfiedCallback
Gets a delegate that is executed when this condition is satisfied. Edits to the state that gets sent in this delegate will be ignored unless the returned enumeration is that propagation should stop.
Public propertyStopOnEventNumber
Gets how many times an event should be found before stopping.
Protected propertyThreshold
Gets the threshold to stop at. This value is ignored if the TypeOfStoppingCondition is not one of the threshold types. When the StoppablePropagator that contains this condition is propagated, this ScalarEvaluator will be evaluated at that time and that value will be used as the threshold for the extent of the propagation.
Public propertyTypeOfStoppingCondition
Gets the type of the stop (local extrema, any threshold, ...)
Public propertyValueStatus
Gets which side the currently accepted value of the StoppingCondition is relative to the computed threshold. Note that this will not be updated during root finding. Other code can sample this value and make decisions based on if the threshold has been crossed or not without interfering with the root finding.
Top
Methods
  NameDescription
Public methodCheckForExactCrossing
Checks to see if the state is at the exact threshold to within machine tolerance.
Public methodClone
Clones this object using the specified context.
Public methodComputeThreshold
Computes the threshold for this StoppingConditionEvaluator, or throws an Exception if this evaluator is searching for an extrema.
Public methodDispose
Releases any resources associated with this instance.
Protected methodDispose(Boolean)
Releases any resources associated with this instance.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodEvaluateRawValue
Returns the raw value before it is bound by circular constraints. This method does not need to deal with the AngularSetting.
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetAvailabilityIntervals
Gets the intervals over which data is available.
Public methodGetCachingWrapper
Gets a version of this evaluator that caches the previously computed value so that if it is evaluated twice at the same date the computation is done only once.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetNextSampleSuggestion
Gets the next step that the thing that is sampling this StoppingConditionEvaluator should take. The returned Duration must be signed correctly. Override this method if this particular stopping condition has some sense of how it should be sampled, or if it somehow knows at what time it's extrema or thresholds will occur at.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetValue
Compute the value of the stopping condition from the state. This method will put the raw value into the circular bounds (if the function is circular).
Public methodInitialize

Initialize the StoppingConditionEvaluator with the initial state of propagation. This method is useful if the value that the StoppingConditionEvaluator evaluates is related to the initial state (for example, if this StoppingConditionEvaluator value is the span of time from the start of propagation to whatever the current time is, you will need to store that initial date in the derived type).

When overriding this method, the base method must be called.

Public methodIsAvailable
Determines if valid data is available for the given JulianDate.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodCode exampleUpdateEvaluatorReferences
Updates the evaluator references held by this object using the reference-to-reference mapping in the specified CopyContext.
Top
See Also