Package gaiasky.util.gaia
Class Nsl37
- java.lang.Object
-
- gaiasky.util.gaia.BaseAttitudeDataServer<Attitude>
-
- gaiasky.util.gaia.AnalyticalAttitudeDataServer
-
- gaiasky.util.gaia.Nsl37
-
public class Nsl37 extends AnalyticalAttitudeDataServer
Improved analytical representation of the Gaia Nominal Scanning Law (NSL).Based on GAIA-CA-TN-OCA-FM-037-2.
-
-
Field Summary
-
Fields inherited from class gaiasky.util.gaia.AnalyticalAttitudeDataServer
ARCSEC_PER_S_TO_DEG_PER_DAY, FOUR_PI, nslSun, OBLIQUITY_DEG, OBLIQUITY_RAD, PI, PI_HALF, targetScanPeriod, TWO_PI, X_AXIS, Y_AXIS, Z_AXIS
-
Fields inherited from class gaiasky.util.gaia.BaseAttitudeDataServer
initialized, initialRequestedTimeContext, nativeTimeContext, withUncertaintiesCorrelations
-
-
Constructor Summary
Constructors Constructor Description Nsl37()
Creates a new instance of the Nominal Scanning Law with default values from the GPDB
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Attitude
getAttitudeNative(double julianDate)
Calculate the scanning law at a given time.protected Attitude
getAttitudeNative(long tNow)
Evaluate the attitude in the native time system of the serverdouble
getLSunRef()
double
getNuFull()
double
getNuMod4Pi()
double
getOmegaDot1()
double
getOmegaFull()
double
getOmegaMod4Pi()
int
getOmegaRevs()
double
modFourPi(double angle)
Returns the argument modulo 4*pi [rad]void
recomputeConstants()
Initializes quantities that only depend on the initial parameters.-
Methods inherited from class gaiasky.util.gaia.AnalyticalAttitudeDataServer
getNominalSunVector, getNuRef, getOmegaRef, getRefTime, getTargetPrecessionRate, getTargetScanPeriod, getTargetScanRate, getXiRef, inGap, setDefault, setNuRef, setOmegaRef, setRefTime, setTargetPrecessionRate, setTargetScanPeriod, setTargetScanRate, setXiRef
-
Methods inherited from class gaiasky.util.gaia.BaseAttitudeDataServer
getAttitude, getAttitude, isInitialized, setInitialized
-
-
-
-
Method Detail
-
getAttitudeNative
public Attitude getAttitudeNative(double julianDate)
Calculate the scanning law at a given time. See GAIA-CA-TN-OCA-FM-037-2- Parameters:
julianDate
- The julian date- Returns:
- The attidue object
-
getAttitudeNative
protected Attitude getAttitudeNative(long tNow)
Description copied from class:BaseAttitudeDataServer
Evaluate the attitude in the native time system of the server- Specified by:
getAttitudeNative
in classBaseAttitudeDataServer<Attitude>
- Parameters:
tNow
- The time elapsed in nanoseconds since epoch J2010- Returns:
- The attitude object
-
recomputeConstants
public void recomputeConstants()
Initializes quantities that only depend on the initial parameters. Must be called whenever the scanning law parameters have been changed.
-
modFourPi
public double modFourPi(double angle)
Returns the argument modulo 4*pi [rad]- Parameters:
angle
- angle [rad]- Returns:
- angle modulo 4*PI
-
getNuFull
public double getNuFull()
- Returns:
- full precession angle [rad]
-
getNuMod4Pi
public double getNuMod4Pi()
- Returns:
- precession angle modulo 2 Pi
-
getOmegaFull
public double getOmegaFull()
- Returns:
- full spin angle [rad]
-
getOmegaRevs
public int getOmegaRevs()
- Returns:
- number of revolutions around the spin axis
-
getOmegaMod4Pi
public double getOmegaMod4Pi()
- Returns:
- spin angle modulo 4 Pi
-
getLSunRef
public double getLSunRef()
- Returns:
- longitude of sun [rad]
-
getOmegaDot1
public double getOmegaDot1()
- Returns:
- time derivative of spin angle
-
-