fr.cnes.sirius.patrius.propagation.numerical.multi
Class MultiStateVectorInfo

java.lang.Object
  extended by fr.cnes.sirius.patrius.propagation.numerical.multi.MultiStateVectorInfo

public final class MultiStateVectorInfo
extends Object

Utility class that describes in a minimal fashion the structure of a state. An instance contains the size of an additional state and its index in the state vector. The instance AdditionalStateInfo is guaranteed to be immutable.

Since:
3.0
Version:
$Id: MultiStateVectorInfo.java 17585 2017-05-10 13:27:59Z bignon $
Author:
maggioranic
Concurrency :
immutable

Constructor Summary
MultiStateVectorInfo(Map<String,SpacecraftState> s)
          Build a MultiSatStateVectorInfo instance using the spacecraft states' map.
 
Method Summary
 Map<String,AdditionalStateInfo> getAddStatesInfos(String satId)
          Get the additional states informations associated with the given spacecraft ID.
 List<String> getIdList()
          Get the list of spacecraft ID.
protected  int getSatAddStatesSize(String satId)
          Get the additional states size of the given spacecraft .
 int getSatRank(String satId)
          Get the state vector index of the given spacecraft in the global state vector.
protected  int getSatSize(String satId)
          Get the state vector size of the given spacecraft .
 int getStateVectorSize()
          Get global state vector size.
 SpacecraftState mapArrayToState(double[] y, AbsoluteDate currentDate, OrbitType orbitType, PositionAngle angleType, AttitudeProvider attProviderForces, AttitudeProvider attProviderEvents, double mu, Frame integrationFrame, String satId)
          Extract a given SpacecraftState from the state vector.
 Map<String,SpacecraftState> mapArrayToStates(double[] y, AbsoluteDate currentDate, OrbitType orbitType, PositionAngle angleType, Map<String,AttitudeProvider> attProvidersForces, Map<String,AttitudeProvider> attProvidersEvents, Map<String,Double> mu, Map<String,Frame> integrationFrame)
          Convert state vector into a Map of SpacecraftState
 void mapStatesToArray(Map<String,SpacecraftState> s, OrbitType orbitType, PositionAngle angleType, double[] y)
          Convert a map of SpacecraftState into a state vector.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultiStateVectorInfo

public MultiStateVectorInfo(Map<String,SpacecraftState> s)
Build a MultiSatStateVectorInfo instance using the spacecraft states' map.

Parameters:
s - the spacecraft states' map.
Method Detail

getStateVectorSize

public int getStateVectorSize()
Get global state vector size.

Returns:
the global state vector size.

getIdList

public List<String> getIdList()
Get the list of spacecraft ID.

Returns:
the list of spacecraft ID.

getSatRank

public int getSatRank(String satId)
Get the state vector index of the given spacecraft in the global state vector.

Parameters:
satId - the spacecraft ID
Returns:
the state vector index

getSatSize

protected int getSatSize(String satId)
Get the state vector size of the given spacecraft .

Parameters:
satId - the spacecraft ID
Returns:
the state vector size

getSatAddStatesSize

protected int getSatAddStatesSize(String satId)
Get the additional states size of the given spacecraft .

Parameters:
satId - the spacecraft ID
Returns:
the additional states size

getAddStatesInfos

public Map<String,AdditionalStateInfo> getAddStatesInfos(String satId)
Get the additional states informations associated with the given spacecraft ID.

Parameters:
satId - the spacecraft ID
Returns:
the state vector index

mapArrayToStates

public Map<String,SpacecraftState> mapArrayToStates(double[] y,
                                                    AbsoluteDate currentDate,
                                                    OrbitType orbitType,
                                                    PositionAngle angleType,
                                                    Map<String,AttitudeProvider> attProvidersForces,
                                                    Map<String,AttitudeProvider> attProvidersEvents,
                                                    Map<String,Double> mu,
                                                    Map<String,Frame> integrationFrame)
                                             throws OrekitException
Convert state vector into a Map of SpacecraftState

Parameters:
y - the state vector
currentDate - the current date
orbitType - the orbital parameters types
angleType - the position angles type
attProvidersForces - the map of attitude providers for forces computation
attProvidersEvents - the map of attitude providers for events computation
mu - the map of central attraction coefficient used for propagation (m3/s2) for each SpacecraftState
integrationFrame - the map for frame in which integration is performed for each SpacecraftState
Returns:
the map of SpacecraftState
Throws:
OrekitException - if attitude cannot be computed

mapArrayToState

public SpacecraftState mapArrayToState(double[] y,
                                       AbsoluteDate currentDate,
                                       OrbitType orbitType,
                                       PositionAngle angleType,
                                       AttitudeProvider attProviderForces,
                                       AttitudeProvider attProviderEvents,
                                       double mu,
                                       Frame integrationFrame,
                                       String satId)
                                throws OrekitException
Extract a given SpacecraftState from the state vector.

Parameters:
y - the state vector
currentDate - the current date
orbitType - the orbital parameters types
angleType - the position angles type
attProviderForces - the attitude provider for forces computation of the given SpacecraftState
attProviderEvents - the attitude provider for events computation of the given SpacecraftState
mu - central attraction coefficient used for propagation (m3/s2)
integrationFrame - frame in which integration is performed
satId - the spacecraft id
Returns:
the SpacecraftState
Throws:
OrekitException - if attitude cannot be computed

mapStatesToArray

public void mapStatesToArray(Map<String,SpacecraftState> s,
                             OrbitType orbitType,
                             PositionAngle angleType,
                             double[] y)
Convert a map of SpacecraftState into a state vector.

Parameters:
s - the map of SpacecraftState
orbitType - the orbital parameters types
angleType - the position angles type
y - state vector


Copyright © 2017 CNES. All Rights Reserved.