User Manual 4.2 Multi events detection
Sommaire
Introduction
Scope
Here are presented all the multi events detectors that could be used in multi propagation.
Javadoc
Those event detectors are available in the packages :
Library | Javadoc |
---|---|
Patrius | Package fr.cnes.sirius.patrius.propagation.event |
Patrius | Package fr.cnes.sirius.patrius.events |
Links
See :
- [ORB_MPRO_Home Multi propagation chapter]
- [MIS_EVT_Home Events detection introduction chapter]
Useful Documents
None as of now.
Package Overview
None as of now.
Features Description
Multi events detectors
The following events detectors could be used in mono and multi spacecraft propagation :
These three detectors extends AbstractDetector and implements MultiEventDetector.
Using multi numerical propagator, all states concerned by the detection are recovered from the global state vector.
Using one of the mono propagator (analytical or numerical), the main state is recovered from the propagation. The others states concerned by the detection are recovered from a PVCoordinatesProvider.
The meaning of the g switching function for the concerned event detectors, and their particularities are presented in dedicated chapter :
- [MIS_ORB_Home Orbit determination events chapter]for ThreeBodiesAngleDetector and ExtremaThreeBodiesAngleDetector
- [MIS_STASAT_Home Ground stations and satellites events] for SatToSatMutualVisibilityDetector
Getting Started
In multi numerical propagation case, the states concerned by the detection are identified with their ID. Specific constructors should be used in multi numerical propagation case.
These constructors take as parameter the ID of states concerned by the detection.
Here after is presented the instanciation of a SatToSatMutualVisibilityDetectorin multi propagation case :
// Initialize multi numerical propagator final FirstOrderIntegrator integratorMultiSat = new DormandPrince853Integrator(.1, 60, 1e-9, 1e-9); MultiNumericalPropagator mainPropagator = new MultiNumericalPropagator(integratorMultiSat); mainPropagator.addInitialState(mainState, STATE1); mainPropagator.addInitialState(secondaryState, STATE2); mainPropagator.setAttitudeProvider(attitudeProv, STATE1); mainPropagator.setAttitudeProvider(attitudeProv, STATE2); // Create SatToSatMultualVisibilityDetector final MultiEventDetector detector = new SatToSatMutualVisibilityDetector(STATE1, STATE2, mainSpacecraftSensorModel1, secondarySpacecraftSensorModel2, false, 0.01, 10.e-10); // Add detector mainPropagator.addEventDetector(detector1); // propagate Map<String, SpacecraftState> endStates = mainPropagator.propagate(date.shiftedBy(duration));
If a wrong constructor is used, i.e a constructor for mono propagation, an exception will be raised during propagation.
Contents
Interfaces
Interface | Summary | Javadoc |
---|---|---|
EventDetector | This interface represents an event finder. | EventDetector |
MultiEventDetector | This interface represents an event finder in multi propagation case. | MultiEventDetector |
Classes
Class | Summary | Javadoc |
---|---|---|
ThreeBodiesAngleDetector | This class handles events representing the reaching of a predetermined angle between three bodies. | ThreeBodiesAngleDetector |
ExtremaThreeBodiesAngleDetector | This class handles events representing the reaching of of extrema for the angle between three bodies. | ExtremaThreeBodiesAngleDetector |
SatToSatMutualVisibilityDetector | This class handles events representing the mutual visibility between two spacecraft's sensors. | SatToSatMutualVisibilityDetector |