Package gaiasky.util.gaia
Class AnalyticalAttitudeDataServer
- Direct Known Subclasses:
Epsl
,EpslAndNsl
,Nsl37
,TransitionScanningLaw
This abstract class defines the fields and implements the methods that any
analytically defined attitude (e.g., NSL or EPSL) need in addition to those
in the superclass.
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final double
Factor converting from arcsec/s to deg/dayprotected static final double
protected NslSun
protected static final double
protected static final double
The obliquity of the eclipticprotected static final double
Mathematical constantsprotected static final double
protected long
The time in ns of one rotation of the satellite around its spin axis.protected static final double
protected static final Vector3d
Unit vectorsprotected static final Vector3d
protected static final Vector3d
Fields inherited from class gaiasky.util.gaia.BaseAttitudeDataServer
initialized, initialRequestedTimeContext, nativeTimeContext, withUncertaintiesCorrelations
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected NslSun
double
getNuRef()
Get the reference revolving phase angledouble
Get the reference scan phase anglelong
Ref time in nanoseconds since epoch.double
Get the target precession ratelong
Get the target scan perioddouble
Get the target scan ratedouble
getXiRef()
Get the reference solar aspect angleboolean
inGap
(long time) void
Set all parameters to default values (from GaiaParam)void
setNuRef
(double nuRef) Set the reference value for the precession phase angle (nu)void
setOmegaRef
(double omegaRef) Set the reference value for the spin phase abgle (Omega)void
setRefTime
(long tRef) Sets the reference time in nanoseconds.void
setTargetPrecessionRate
(double targetPrecessionRate) Set the target precession ratevoid
setTargetScanPeriod
(long targetScanPeriod) Set the target scan periodvoid
setTargetScanRate
(double targetScanRate) Set the target scan ratevoid
setXiRef
(double xiRef) Set the reference value for the solar aspect angle (xi)Methods inherited from class gaiasky.util.gaia.BaseAttitudeDataServer
getAttitude, getAttitude, getAttitudeNative, isInitialized, setInitialized
-
Field Details
-
PI
protected static final double PIMathematical constants- See Also:
-
TWO_PI
protected static final double TWO_PI- See Also:
-
FOUR_PI
protected static final double FOUR_PI- See Also:
-
PI_HALF
protected static final double PI_HALF- See Also:
-
ARCSEC_PER_S_TO_DEG_PER_DAY
protected static final double ARCSEC_PER_S_TO_DEG_PER_DAYFactor converting from arcsec/s to deg/day- See Also:
-
X_AXIS
Unit vectors -
Y_AXIS
-
Z_AXIS
-
OBLIQUITY_RAD
protected static final double OBLIQUITY_RADThe obliquity of the ecliptic -
OBLIQUITY_DEG
protected static final double OBLIQUITY_DEG- See Also:
-
targetScanPeriod
protected long targetScanPeriodThe time in ns of one rotation of the satellite around its spin axis. -
nslSun
-
-
Constructor Details
-
AnalyticalAttitudeDataServer
public AnalyticalAttitudeDataServer()
-
-
Method Details
-
setXiRef
public void setXiRef(double xiRef) Set the reference value for the solar aspect angle (xi)- Parameters:
xiRef
- angle in [rad]
-
setNuRef
public void setNuRef(double nuRef) Set the reference value for the precession phase angle (nu)- Parameters:
nuRef
- angle in [rad]
-
setOmegaRef
public void setOmegaRef(double omegaRef) Set the reference value for the spin phase abgle (Omega)- Parameters:
omegaRef
- angle in [rad]
-
setTargetPrecessionRate
public void setTargetPrecessionRate(double targetPrecessionRate) Set the target precession rate- Parameters:
targetPrecessionRate
- target value in [rev/yr]
-
setDefault
public void setDefault()Set all parameters to default values (from GaiaParam) -
setTargetScanPeriod
public void setTargetScanPeriod(long targetScanPeriod) Set the target scan period- Parameters:
targetScanPeriod
- period in [ns]
-
setTargetScanRate
public void setTargetScanRate(double targetScanRate) Set the target scan rate- Parameters:
targetScanRate
- target value in [arcsec/s]
-
getTargetScanPeriod
public long getTargetScanPeriod()Get the target scan period- Returns:
- targetScanPeriod period in [ns]
-
getTargetScanRate
public double getTargetScanRate()Get the target scan rate- Returns:
- target scan rate value in [arcsec/s]
-
getXiRef
public double getXiRef()Get the reference solar aspect angle- Returns:
- reference solar aspect angle [rad]
-
getNuRef
public double getNuRef()Get the reference revolving phase angle- Returns:
- reference revolving phase angle [rad]
-
getOmegaRef
public double getOmegaRef()Get the reference scan phase angle- Returns:
- reference scan phase angle [rad]
-
getTargetPrecessionRate
public double getTargetPrecessionRate()Get the target precession rate- Returns:
- target precession rate [rev/year]
-
inGap
public boolean inGap(long time) -
getRefTime
public long getRefTime()Ref time in nanoseconds since epoch.- Overrides:
getRefTime
in classBaseAttitudeDataServer<IAttitude>
- Returns:
- The reference time [ns]
-
setRefTime
public void setRefTime(long tRef) Sets the reference time in nanoseconds.- Overrides:
setRefTime
in classBaseAttitudeDataServer<IAttitude>
- Parameters:
tRef
- [ns]
-
getNominalSunVector
-