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 AttitudegetAttitudeNative(double julianDate)Calculate the scanning law at a given time.protected AttitudegetAttitudeNative(long tNow)Evaluate the attitude in the native time system of the serverdoublegetLSunRef()doublegetNuFull()doublegetNuMod4Pi()doublegetOmegaDot1()doublegetOmegaFull()doublegetOmegaMod4Pi()intgetOmegaRevs()doublemodFourPi(double angle)Returns the argument modulo 4*pi [rad]voidrecomputeConstants()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:BaseAttitudeDataServerEvaluate the attitude in the native time system of the server- Specified by:
getAttitudeNativein 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
-
-