<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://patrius.cnes.fr/index.php?action=history&amp;feed=atom&amp;title=User_Manual_4.11_Multi_events_detection</id>
	<title>User Manual 4.11 Multi events detection - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://patrius.cnes.fr/index.php?action=history&amp;feed=atom&amp;title=User_Manual_4.11_Multi_events_detection"/>
	<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=User_Manual_4.11_Multi_events_detection&amp;action=history"/>
	<updated>2026-04-08T20:50:24Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://patrius.cnes.fr/index.php?title=User_Manual_4.11_Multi_events_detection&amp;diff=3472&amp;oldid=prev</id>
		<title>Admin : /* Getting Started */</title>
		<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=User_Manual_4.11_Multi_events_detection&amp;diff=3472&amp;oldid=prev"/>
		<updated>2023-05-23T11:32:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Getting Started&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 23 mai 2023 à 11:32&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l59&quot;&gt;Ligne 59 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 59 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;mainPropagator.setAttitudeProvider(attitudeProv, STATE1);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;mainPropagator.setAttitudeProvider(attitudeProv, STATE1);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;mainPropagator.setAttitudeProvider(attitudeProv, STATE2);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;mainPropagator.setAttitudeProvider(attitudeProv, STATE2);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;// Note that the NumericalPropagator and the MultiNumericalPropagator do not use anymore the Newtonian gravity model by default. It should now be added manually to the list of the force models before starting the propagation.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;mainPropagator.addForceModel(new DirectBodyAttraction(new NewtonianGravityModel(mainState.getMu(), STATE1));&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;mainPropagator.addForceModel(new DirectBodyAttraction(new NewtonianGravityModel(secondaryState.getMu(), STATE2));&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// Create SatToSatMultualVisibilityDetector&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// Create SatToSatMultualVisibilityDetector&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key w3?hpatrius?hprod:diff:1.41:old-3418:rev-3472:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://patrius.cnes.fr/index.php?title=User_Manual_4.11_Multi_events_detection&amp;diff=3418&amp;oldid=prev</id>
		<title>Admin : Page créée avec « == Introduction == === Scope === Here are presented all the multi events detectors that could be used in multi propagation.  === Javadoc === Those event detectors are avai... »</title>
		<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=User_Manual_4.11_Multi_events_detection&amp;diff=3418&amp;oldid=prev"/>
		<updated>2023-05-23T08:42:26Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « == Introduction == === Scope === Here are presented all the multi events detectors that could be used in multi propagation.  === Javadoc === Those event detectors are avai... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Introduction ==&lt;br /&gt;
=== Scope ===&lt;br /&gt;
Here are presented all the multi events detectors that could be used in multi propagation.&lt;br /&gt;
&lt;br /&gt;
=== Javadoc ===&lt;br /&gt;
Those event detectors are available in the packages :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Library&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Javadoc&lt;br /&gt;
|-&lt;br /&gt;
|Patrius &lt;br /&gt;
|[{{JavaDoc4.11}}/fr/cnes/sirius/patrius/propagation/events/package-summary.html Package fr.cnes.sirius.patrius.propagation.event]&lt;br /&gt;
|-&lt;br /&gt;
|Patrius &lt;br /&gt;
|[{{JavaDoc4.11}}/fr/cnes/sirius/patrius/events/package-summary.html Package fr.cnes.sirius.patrius.events]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
See : &lt;br /&gt;
* [ORB_MPRO_Home Multi propagation chapter]&lt;br /&gt;
* [MIS_EVT_Home Events detection introduction chapter]&lt;br /&gt;
&lt;br /&gt;
=== Useful Documents ===&lt;br /&gt;
None as of now.&lt;br /&gt;
&lt;br /&gt;
=== Package Overview ===&lt;br /&gt;
None as of now.&lt;br /&gt;
&lt;br /&gt;
== Features Description ==&lt;br /&gt;
=== Multi events detectors ===&lt;br /&gt;
The following events detectors could be used in mono and multi spacecraft propagation :&lt;br /&gt;
* [{{JavaDoc4.11}}//fr/cnes/sirius/patrius/propagation/events/ThreeBodiesAngleDetector.html ThreeBodiesAngleDetector]&lt;br /&gt;
* [{{JavaDoc4.11}}//fr/cnes/sirius/patrius/propagation/events/ExtremaThreeBodiesAngleDetector.html ExtremaThreeBodiesAngleDetector]&lt;br /&gt;
* [{{JavaDoc4.11}}//fr/cnes/sirius/patrius/events/sensor/SatToSatMutualVisibilityDetector.html SatToSatMutualVisibilityDetector]&lt;br /&gt;
&lt;br /&gt;
These three detectors extends [{{JavaDoc4.11}}/fr/cnes/sirius/patrius/propagation/events/AbstractDetector.html AbstractDetector] and implements [{{JavaDoc4.11}}/fr/cnes/sirius/patrius/propagation/events/multi/MultiEventDetector.html MultiEventDetector].&lt;br /&gt;
&lt;br /&gt;
Using [{{JavaDoc4.11}}/fr/cnes/sirius/patrius/propagation/numerical/multi/MultiNumericalPropagator.html multi numerical propagator], all states concerned by the detection are recovered from the global state vector.&amp;lt;br&amp;gt;&lt;br /&gt;
Using one of the [{{JavaDoc4.11}}/fr/cnes/sirius/patrius/propagation/Propagator.html 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.&lt;br /&gt;
&lt;br /&gt;
The meaning of the g switching function for the concerned event detectors, and their particularities are presented in dedicated chapter :&lt;br /&gt;
* [MIS_ORB_Home Orbit determination events chapter]for [{{JavaDoc4.11}}/fr/cnes/sirius/patrius/propagation/events/ThreeBodiesAngleDetector.html ThreeBodiesAngleDetector] and [{{JavaDoc4.11}}/fr/cnes/sirius/patrius/propagation/events/ExtremaThreeBodiesAngleDetector.html ExtremaThreeBodiesAngleDetector]&lt;br /&gt;
* [MIS_STASAT_Home Ground stations and satellites events] for [{{JavaDoc4.11}}/fr/cnes/sirius/patrius/events/sensor/SatToSatMutualVisibilityDetector.html SatToSatMutualVisibilityDetector]&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
These constructors take as parameter the ID of states concerned by the detection.&lt;br /&gt;
&lt;br /&gt;
Here after is presented the instanciation of a SatToSatMutualVisibilityDetectorin multi propagation case :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Initialize multi numerical propagator&lt;br /&gt;
final FirstOrderIntegrator integratorMultiSat = new DormandPrince853Integrator(.1, 60, 1e-9, 1e-9);&lt;br /&gt;
MultiNumericalPropagator mainPropagator = new MultiNumericalPropagator(integratorMultiSat);&lt;br /&gt;
mainPropagator.addInitialState(mainState, STATE1);&lt;br /&gt;
mainPropagator.addInitialState(secondaryState, STATE2);&lt;br /&gt;
mainPropagator.setAttitudeProvider(attitudeProv, STATE1);&lt;br /&gt;
mainPropagator.setAttitudeProvider(attitudeProv, STATE2);&lt;br /&gt;
&lt;br /&gt;
// Create SatToSatMultualVisibilityDetector&lt;br /&gt;
final MultiEventDetector detector = new SatToSatMutualVisibilityDetector(STATE1, STATE2, mainSpacecraftSensorModel1, secondarySpacecraftSensorModel2, false, 0.01, 10.e-10);&lt;br /&gt;
&lt;br /&gt;
// Add detector&lt;br /&gt;
mainPropagator.addEventDetector(detector1);&lt;br /&gt;
&lt;br /&gt;
// propagate&lt;br /&gt;
Map&amp;lt;String, SpacecraftState&amp;gt; endStates = mainPropagator.propagate(date.shiftedBy(duration));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If a wrong constructor is used, i.e a constructor for mono propagation, an exception will be raised during propagation.&lt;br /&gt;
&lt;br /&gt;
== Contents ==&lt;br /&gt;
=== Interfaces ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interface&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Summary&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Javadoc&lt;br /&gt;
|-&lt;br /&gt;
| EventDetector&lt;br /&gt;
|This interface represents an event finder.&lt;br /&gt;
|[{{JavaDoc4.11}}/fr/cnes/sirius/patrius/propagation/events/EventDetector.html EventDetector ]&lt;br /&gt;
|-&lt;br /&gt;
| MultiEventDetector&lt;br /&gt;
|This interface represents an event finder in multi propagation case.&lt;br /&gt;
|[{{JavaDoc4.11}}/fr/cnes/sirius/patrius/propagation/events/multi/MultiEventDetector.html MultiEventDetector]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Classes ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Summary&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Javadoc&lt;br /&gt;
|-&lt;br /&gt;
| ThreeBodiesAngleDetector&lt;br /&gt;
|This class handles events representing the reaching of a predetermined angle between three bodies.&lt;br /&gt;
|[{{JavaDoc4.11}}/fr/cnes/sirius/patrius/propagation/events/ThreeBodiesAngleDetector.html ThreeBodiesAngleDetector]&lt;br /&gt;
|-&lt;br /&gt;
| ExtremaThreeBodiesAngleDetector&lt;br /&gt;
|This class handles events representing the reaching of of extrema for the angle between three bodies.&lt;br /&gt;
|[{{JavaDoc4.11}}/fr/cnes/sirius/patrius/propagation/events/ExtremaThreeBodiesAngleDetector.html ExtremaThreeBodiesAngleDetector]&lt;br /&gt;
|-&lt;br /&gt;
| SatToSatMutualVisibilityDetector&lt;br /&gt;
|This class handles events representing the mutual visibility between two spacecraft&amp;#039;s sensors.&lt;br /&gt;
|[{{JavaDoc4.11}}/fr/cnes/sirius/patrius/events/sensor/SatToSatMutualVisibilityDetector.html SatToSatMutualVisibilityDetector]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Manual_4.11_Mission]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>