fr.cnes.sirius.patrius.guidance
Class QuaternionHarmonicProfile

java.lang.Object
  extended by fr.cnes.sirius.patrius.guidance.GuidanceProfile
      extended by fr.cnes.sirius.patrius.guidance.QuaternionHarmonicProfile
All Implemented Interfaces:
Serializable, AttitudeLeg, AttitudeProvider

public final class QuaternionHarmonicProfile
extends GuidanceProfile

Represents a quaternion guidance profile, calculated with Fourier series.

Since:
1.3
Version:
$Id: QuaternionHarmonicProfile.java 17585 2017-05-10 13:27:59Z bignon $
Author:
Tiziana Sabatini
See Also:
Serialized Form
Concurrency :
conditionally thread-safe
Concurrency comment :
thread-safe if the Frame attribute is thread-safe.

Constructor Summary
QuaternionHarmonicProfile(AbsoluteDate origin, Frame frame, FourierSeries q0, FourierSeries q1, FourierSeries q2, FourierSeries q3, AbsoluteDateInterval timeInterval)
          Create a harmonic, quaternion guidance profile.
 
Method Summary
 double[] getAngularFrequencies()
           
 Attitude getAttitude(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame)
          Compute the attitude corresponding to an orbital state.
 double[] getConstants()
           
 double[][] getCosArrays()
           
 FourierSeries getQ0FourierSeries()
           
 FourierSeries getQ1FourierSeries()
           
 FourierSeries getQ2FourierSeries()
           
 FourierSeries getQ3FourierSeries()
           
 double[][] getSinArrays()
           
 void setSpinDerivativesComputation(boolean computeSpinDerivatives)
          Method to activate spin derivative computation.
 
Methods inherited from class fr.cnes.sirius.patrius.guidance.GuidanceProfile
checkDate, getAttitude, getTimeInterval
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QuaternionHarmonicProfile

public QuaternionHarmonicProfile(AbsoluteDate origin,
                                 Frame frame,
                                 FourierSeries q0,
                                 FourierSeries q1,
                                 FourierSeries q2,
                                 FourierSeries q3,
                                 AbsoluteDateInterval timeInterval)
Create a harmonic, quaternion guidance profile.

Parameters:
origin - origin of date
frame - the reference frame of the Fourier series
q0 - q0 quaternion component Fourier decomposition
q1 - q1 quaternion component Fourier decomposition
q2 - q2 quaternion component Fourier decomposition
q3 - q3 quaternion component Fourier decomposition
timeInterval - interval of validity of the guidance profile
Method Detail

getQ0FourierSeries

public FourierSeries getQ0FourierSeries()
Returns:
the Fourier series representing the q0 quaternion component.

getQ1FourierSeries

public FourierSeries getQ1FourierSeries()
Returns:
the Fourier series representing the q1 quaternion component.

getQ2FourierSeries

public FourierSeries getQ2FourierSeries()
Returns:
the Fourier series representing the q2 quaternion component.

getQ3FourierSeries

public FourierSeries getQ3FourierSeries()
Returns:
the Fourier series representing the q3 quaternion component.

getAngularFrequencies

public double[] getAngularFrequencies()
Returns:
the angular frequencies of the four Fourier series representing q0, q1, q2 qnd q3.

getConstants

public double[] getConstants()
Returns:
the a0 coefficients of the four Fourier series representing q0, q1, q2 qnd q3.

getCosArrays

public double[][] getCosArrays()
Returns:
the a coefficients of the four Fourier series representing q0, q1, q2 qnd q3.

getSinArrays

public double[][] getSinArrays()
Returns:
the b coefficients of the four Fourier series representing q0, q1, q2 qnd q3.

getAttitude

public Attitude getAttitude(PVCoordinatesProvider pvProv,
                            AbsoluteDate date,
                            Frame frame)
                     throws OrekitException
Compute the attitude corresponding to an orbital state.

Parameters:
pvProv - local position-velocity provider around current date
date - current date
frame - reference frame from which attitude is computed
Returns:
attitude attitude on the specified date and position-velocity state
Throws:
OrekitException - if attitude cannot be computed

setSpinDerivativesComputation

public void setSpinDerivativesComputation(boolean computeSpinDerivatives)
                                   throws OrekitException
Method to activate spin derivative computation.

Parameters:
computeSpinDerivatives - true if spin derivatives should be computed
Throws:
OrekitException - if spin derivatives can not be computed


Copyright © 2017 CNES. All Rights Reserved.