Package org.orekit.orbits
Class WalkerConstellation
- java.lang.Object
-
- org.orekit.orbits.WalkerConstellation
-
public class WalkerConstellation extends Object
Builder for orbits of satellites forming a Walker constellation.- Since:
- 12.1
- Author:
- Luc Maisonobe
-
-
Constructor Summary
Constructors Constructor Description WalkerConstellation(int t, int p, int f)Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <O extends Orbit>
WalkerConstellationSlot<O>buildReferenceSlot(O referenceOrbit)Create the reference slot, which is satellite 0 in plane 0.<O extends Orbit>
List<List<WalkerConstellationSlot<O>>>buildRegularSlots(O referenceOrbit)Create the regular slots.<O extends Orbit>
WalkerConstellationSlot<O>buildSlot(WalkerConstellationSlot<O> existingSlot, int plane, double satellite)Create one offset slot from an already existing slot.intgetF()Get the phasing parameter.intgetP()Get the number of orbital planes.intgetT()Get the total number of satellites.
-
-
-
Method Detail
-
getT
public int getT()
Get the total number of satellites.- Returns:
- total number of satellites
-
getP
public int getP()
Get the number of orbital planes.- Returns:
- number of orbital planes
-
getF
public int getF()
Get the phasing parameter.- Returns:
- phasing parameter
-
buildRegularSlots
public <O extends Orbit> List<List<WalkerConstellationSlot<O>>> buildRegularSlots(O referenceOrbit)
Create the regular slots.This method builds the
Tregular satellite, with integersatellite indices. If additional in-orbit spare satellites must be created, thebuildSlotmethod must be called explicitly.The various orbits are built from the
referenceOrbitusing plane rotations andshifts. This implies that if orbit does not includederivatives, a simple Keplerian motion is assumed, which is the intended use case.- Type Parameters:
O- type of the orbits- Parameters:
referenceOrbit- orbit of the reference satellite, inplane0 and atWalkerConstellationSlot.getSatellite()satellite index} 0- Returns:
- built orbits as a list of list, organized by planes
- See Also:
buildReferenceSlot(Orbit),buildSlot(WalkerConstellationSlot, int, double)
-
buildReferenceSlot
public <O extends Orbit> WalkerConstellationSlot<O> buildReferenceSlot(O referenceOrbit)
Create the reference slot, which is satellite 0 in plane 0.- Type Parameters:
O- type of the orbits- Parameters:
referenceOrbit- orbit of the reference satellite, inplane0 and atWalkerConstellationSlot.getSatellite()satellite index} 0- Returns:
- build reference slot
- See Also:
buildRegularSlots(Orbit),buildSlot(WalkerConstellationSlot, int, double)
-
buildSlot
public <O extends Orbit> WalkerConstellationSlot<O> buildSlot(WalkerConstellationSlot<O> existingSlot, int plane, double satellite)
Create one offset slot from an already existing slot.- Type Parameters:
O- type of the orbits- Parameters:
existingSlot- existing slot (may be thereference slotor not)plane- plane index of the new slot (may be non-integer for in-orbit spare satellites)satellite- new slot satellite index in plane (may be non-integer if needed)- Returns:
- built slot
- See Also:
buildRegularSlots(Orbit),buildReferenceSlot(Orbit)
-
-