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
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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
Nsl37
public Nsl37()Creates a new instance of the Nominal Scanning Law with default values from the GPDB
-
-
Method Details
-
getAttitudeNative
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
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
-