fr.cnes.sirius.patrius.stela.bodies
Class MeeusMoonStela

java.lang.Object
  extended by org.orekit.bodies.AbstractCelestialBody
      extended by fr.cnes.sirius.patrius.stela.bodies.MeeusMoonStela
All Implemented Interfaces:
Serializable, CelestialBody, PVCoordinatesProvider

public class MeeusMoonStela
extends AbstractCelestialBody

This class implements the Moon ephemerides according to the algorithm of Meeus, it only provides the position. Note that it is not possible to build this Moon from the CelestialBodyFactory.

See Stela's implementation of this model

This class contains methods to store AbstractCelestialBody.getInertiallyOrientedFrame() to integration frame (CIRF) transform to speed up computation during the integration process. As this transform varies slowly through time, it has been demonstrated it is not necessary to recompute it every time. Warning: these methods should not be used in a stand-alone use (unless you known what you are doing). There are two methods:

Note that pole information allowing to define inertially-centered frame and rotating frame are defined in IAUPoleFactory since Meeus model does not provide the information.

Since:
1.3
Author:
Cedric Dental
See Also:
CelestialBody, Serialized Form
Concurrency :
immutable

Constructor Summary
MeeusMoonStela(double inEarthRadius)
          Simple constructor.
 
Method Summary
 PVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame)
          Get the PVCoordinates of the body in the selected frame.
static void resetTransform()
          Reset cached transform.
static void updateTransform(AbsoluteDate date, Frame frame)
          Update cached transform from FramesFactory.getMOD(boolean) to provided frame.
 
Methods inherited from class org.orekit.bodies.AbstractCelestialBody
getBodyOrientedFrame, getFrame, getGM, getInertiallyOrientedFrame, getName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MeeusMoonStela

public MeeusMoonStela(double inEarthRadius)
               throws OrekitException
Simple constructor.

Parameters:
inEarthRadius - the Earth Radius
Throws:
OrekitException - if data embedded in the library cannot be read
Method Detail

getPVCoordinates

public PVCoordinates getPVCoordinates(AbsoluteDate date,
                                      Frame frame)
                               throws OrekitException
Description copied from class: AbstractCelestialBody
Get the PVCoordinates of the body in the selected frame.

Specified by:
getPVCoordinates in interface PVCoordinatesProvider
Specified by:
getPVCoordinates in class AbstractCelestialBody
Parameters:
date - current date
frame - the frame where to define the position
Returns:
position/velocity of the body (m and m/s)
Throws:
OrekitException - if position cannot be computed in given frame

updateTransform

public static void updateTransform(AbsoluteDate date,
                                   Frame frame)
                            throws OrekitException
Update cached transform from FramesFactory.getMOD(boolean) to provided frame. Once called, this transform will always be used when calling getPVCoordinates(AbsoluteDate, Frame) unless a call to resetTransform() has been made

Parameters:
date - a date
frame - a frame
Throws:
OrekitException - thrown if transformation computation failed

resetTransform

public static void resetTransform()
Reset cached transform.



Copyright © 2016 CNES. All Rights Reserved.