Class Nsl37
java.lang.Object
gaiasky.util.gaia.BaseAttitudeDataServer<IAttitude>
gaiasky.util.gaia.AnalyticalAttitudeDataServer
gaiasky.util.gaia.Nsl37
-
Field Summary
Fields inherited from class 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_AXISModifier and TypeFieldDescriptionprotected static final doubleFactor converting from arcsec/s to deg/dayprotected static final doubleprotected NslSunprotected static final doubleprotected static final doubleThe obliquity of the eclipticprotected static final doubleMathematical constantsprotected static final doubleprotected longThe time in ns of one rotation of the satellite around its spin axis.protected static final doubleprotected static final Vector3DUnit vectorsprotected static final Vector3Dprotected static final Vector3DFields inherited from class BaseAttitudeDataServer
initialized, initialRequestedTimeContext, nativeTimeContext, withUncertaintiesCorrelationsModifier and TypeFieldDescriptionprotected booleanSome scanning laws have constants or tables for interpolation that need to be computed before the first use and recomputed after changing certain reference values.protected TimeContextprotected TimeContextnative and initially requested time context of the server - has to be set by the implementing classprotected booleanswitch to decide if attitude uncertainties and correlations should be calculated -
Constructor Summary
ConstructorsConstructorDescriptionNsl37()Creates a new instance of the Nominal Scanning Law with default values from the GPDB -
Method Summary
Modifier and TypeMethodDescriptiongetAttitudeNative(double julianDate) Calculate the scanning law at a given time.protected IAttitudegetAttitudeNative(long tNow) Evaluate the attitude in the native time system of the serverdoubledoubledoubledoubledoubledoubleintdoublemodFourPi(double angle) Returns the argument modulo 4*pi [rad]voidInitializes quantities that only depend on the initial parameters.Methods inherited from class AnalyticalAttitudeDataServer
getNominalSunVector, getNuRef, getOmegaRef, getRefTime, getTargetPrecessionRate, getTargetScanPeriod, getTargetScanRate, getXiRef, inGap, setDefault, setNuRef, setOmegaRef, setRefTime, setTargetPrecessionRate, setTargetScanPeriod, setTargetScanRate, setXiRefModifier and TypeMethodDescriptionprotected NslSundoublegetNuRef()Get the reference revolving phase angledoubleGet the reference scan phase anglelongRef time in nanoseconds since epoch.doubleGet the target precession ratelongGet the target scan perioddoubleGet the target scan ratedoublegetXiRef()Get the reference solar aspect anglebooleaninGap(long time) voidSet all parameters to default values (from GaiaParam)voidsetNuRef(double nuRef) Set the reference value for the precession phase angle (nu)voidsetOmegaRef(double omegaRef) Set the reference value for the spin phase abgle (Omega)voidsetRefTime(long tRef) Sets the reference time in nanoseconds.voidsetTargetPrecessionRate(double targetPrecessionRate) Set the target precession ratevoidsetTargetScanPeriod(long targetScanPeriod) Set the target scan periodvoidsetTargetScanRate(double targetScanRate) Set the target scan ratevoidsetXiRef(double xiRef) Set the reference value for the solar aspect angle (xi)Methods inherited from class BaseAttitudeDataServer
getAttitude, getAttitude, getAttitude, isInitialized, setInitializedModifier and TypeMethodDescriptiongetAttitude(long time) getAttitude(Instant instant) getAttitude(Date date) booleanvoidsetInitialized(boolean initialized)
-
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:BaseAttitudeDataServerEvaluate the attitude in the native time system of the server- Specified by:
getAttitudeNativein classBaseAttitudeDataServer<IAttitude>- 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
-