DEIMOS
Earth Observation Mission CFI Software
Pointing Software User Manual
ESA

EECFI::SatTransId Class Reference

Class for storing the Satellite Attitude configuration parameters. More...

Inheritance diagram for EECFI::SatTransId:
EECFI::CfiId EECFI::CfiClass

List of all members.

Public Member Functions

 SatTransId ()
 Default constructor.
 SatTransId (const SatTransId &other)
virtual ~SatTransId () EXCEPT
 Class destructor.
void init (const double angle[3])
 Initialise using angles.
void init (const double matrix[3][3])
 Initialise using matrix.
void init (long angleType, const std::vector< long > &harmTypePitch, const std::vector< long > &harmTypeRoll, const std::vector< long > &harmTypeYaw, const std::vector< double > &harmCoeffPitch, const std::vector< double > &harmCoeffRoll, const std::vector< double > &harmCoeffYaw)
 Initialise satellite orbital to satellite nominal attitude mispointing angles for a given satellite with harmonics.
void init (long inertialFrame, const std::vector< AttRec > &quaternions, const double matrix[3][3])
 Initialise using quaternions plus matrix.
void init (long inertialFrame, const std::vector< AttRec > &quaternions, const double angles[3])
 Initialise using quaternions plus angles.
void init (const TimeCorrelation &timeId, const std::vector< std::string > &files, std::string &auxiliaryFile, long timeInitMode, long timeRef, double time0, double time1)
 Initialise satellite attitude angles for a given satellite reading values from the attitude files.
MatrixModel getMatrix () const
 Get matrix model.
void setMatrix (const MatrixModel &matrixModel)
 Change matrix model.
AngleModel getAngles () const
 Get angles model.
void setAngles (const AngleModel &angleModel)
 Change angles model.
HarmonicModel getHarmonic () const
 Get harmonic parameters of object.
void setHarmonic (const HarmonicModel &harmModel)
 Change harmonic parameters of the object.
SatAttFileModel getFile () const
 Get file data of object.
void setFile (const SatAttFileModel &fileModel)
 Change initialisation file data of the object.
QuatPlusMatrixModel getQuatPlusMatrix () const
 Get quaternions plus matrix model.
void setQuatPlusMatrix (const QuatPlusMatrixModel &quatPlusMatrixModel)
 Change quaternions plus matrix model.
QuatPlusAnglesModel getQuatPlusAngles () const
 Get quaternions plus angles model.
void setQuatPlusAngles (const QuatPlusAnglesModel &quatPlusAnglesModel)
 Change quaternions plus angles model.
void setAzElDefinition (const AzElDefinition &azElDef)
 Set azimuth/elevation definition.
SatId satId () const
 Return satellite id.
SatTransIdoperator= (const SatTransId &other)

Protected Member Functions

void eraseObject ()
 Erase object and free memory.

Detailed Description

Class for storing the Satellite Attitude configuration parameters.


Constructor & Destructor Documentation

EECFI::SatTransId::SatTransId (  ) 

Default constructor.

EECFI::SatTransId::SatTransId ( const SatTransId other  ) 

Copy constructor

Parameters:
other The SatTransId to copy from
EECFI::SatTransId::~SatTransId (  )  [virtual]

Class destructor.

References eraseObject().


Member Function Documentation

void EECFI::SatTransId::eraseObject (  )  [protected]

Erase object and free memory.

References EECFI::CfiId::status(), EECFI::CfiId::subtractInstance(), and EECFI::CfiClass::throwWarn.

Referenced by operator=(), and ~SatTransId().

AngleModel EECFI::SatTransId::getAngles (  )  const

Get angles model.

Returns:
Angle model data.

References EECFI::CfiError::addMsg(), EECFI::AngleModel::angles, and EECFI::CfiClass::throwWarn.

MatrixModel EECFI::SatTransId::getMatrix (  )  const

Get matrix model.

Returns:
Matrix model data.

References EECFI::CfiError::addMsg(), EECFI::MatrixModel::attMatrix, and EECFI::CfiClass::throwWarn.

QuatPlusAnglesModel EECFI::SatTransId::getQuatPlusAngles (  )  const
QuatPlusMatrixModel EECFI::SatTransId::getQuatPlusMatrix (  )  const
void EECFI::SatTransId::init ( const double  matrix[3][3]  ) 

Initialise using matrix.

Parameters:
matrix Rotation matrix.

References EECFI::CfiId::addInstance(), and EECFI::CfiClass::throwWarn.

void EECFI::SatTransId::init ( long  inertialFrame,
const std::vector< AttRec > &  quaternions,
const double  matrix[3][3] 
)

Initialise using quaternions plus matrix.

Parameters:
inertialFrame Inertial frame (CoordinateSystemsEnum).
quaternions Quaternions that give the rotation from the inertial reference frame to the frame based on the satellite.
matrix Rotation matrix from the frame based on the satellite to the satellite frame.

References EECFI::CfiId::addInstance(), and EECFI::CfiClass::throwWarn.

void EECFI::SatTransId::init ( long  inertialFrame,
const std::vector< AttRec > &  quaternions,
const double  angles[3] 
)

Initialise using quaternions plus angles.

Parameters:
inertialFrame Inertial frame (CoordinateSystemsEnum).
quaternions Quaternions that give the rotation from the inertial reference frame to the frame based on the satellite.
angles Angles that define the rotation from the frame based on the satellite to the satellite frame.

References EECFI::CfiId::addInstance(), and EECFI::CfiClass::throwWarn.

void EECFI::SatTransId::init ( const double  angle[3]  ) 

Initialise using angles.

Parameters:
angle Rotation angles.

  • [0]: Pitch mispointing angle (Satellite Nominal Attitude Frame) [deg]. Allowed range: If no better value, assume 0.0.
  • [1]: Roll mispointing angle (Satellite Nominal Attitude Frame) [deg]. Allowed range: If no better value, assume 0.0.
  • [2]: Yaw mispointing angle (Satellite Nominal Attitude Frame) [deg]. Allowed range: If no better value, assume 0.0.

.

References EECFI::CfiId::addInstance(), and EECFI::CfiClass::throwWarn.

void EECFI::SatTransId::init ( const TimeCorrelation timeId,
const std::vector< std::string > &  files,
std::string &  auxiliaryFile,
long  timeInitMode,
long  timeRef,
double  time0,
double  time1 
)

Initialise satellite attitude angles for a given satellite reading values from the attitude files.

In order to read files, this method internally uses Data Handling functions. Please refer to [D_H_SUM] for further details.

Parameters:
timeId Time correlations.
files Filenames of the reference data files. In case multiple files are used, the files should be time ordered.
The supported Attitude File formats are the Generic Attitude File (described in [DAT_SUM]) and Star Tracker files.
If multiple files are used, Generic Attitude Files and Star Tracker files cannot be given to the function as part of the same list.
When using Star-Tracker files, the function assumes that all the input files belong to the same Star-Tracker. As a consequence of this assumption only the Star-Tracker identifier of the first file provided in the list is read. Note that the Star-Tracker identification number should be either 1, 2 or 3 (no internal check is performed).
auxiliaryFile Auxiliary file with StarTracker misalignment matrices.
timeInitMode Flag for selecting the time range of the initialisation (XPCFI_SEL_TIME/XPCFI_SEL_FILE).
timeRef Time reference (TimeRefPointingEnum).
time0 Start of the time range [Decimal days (Processing format)].
time1 Stop of the time range [Decimal days (Processing format)].

References EECFI::CfiId::addInstance(), and EECFI::CfiClass::throwWarn.

void EECFI::SatTransId::init ( long  angleType,
const std::vector< long > &  harmTypePitch,
const std::vector< long > &  harmTypeRoll,
const std::vector< long > &  harmTypeYaw,
const std::vector< double > &  harmCoeffPitch,
const std::vector< double > &  harmCoeffRoll,
const std::vector< double > &  harmCoeffYaw 
)

Initialise satellite orbital to satellite nominal attitude mispointing angles for a given satellite with harmonics.

The Attitude::compute and Attitude::changeFrame functions will then compute the values as follows:

harmonic.jpg
Parameters:
angleType Type of angle (given by PointingAngleTypeEnum).
harmTypePitch Type of coefficients:

  • 0= for the bias parameter
  • <0 for the sinus coefficients (-n means that corresponds to the sinus coefficient of order n)
  • >0 for the cosinus coefficients (-n means that corresponds to the cosinus coefficient of order n)

.

harmTypeRoll Type of coefficients (bias, sinus, cosinus, see documentation).
harmTypeYaw Type of coefficients (bias, sinus, cosinus, see documentation).
harmCoefPitch Bias, sinus and cosinus coefficients for the pitch angle.
harmCoefRoll Bias, sinus and cosinus coefficients for the roll angle.
harmCoefYaw Bias, sinus and cosinus coefficients for the yaw angle.

References EECFI::CfiId::addInstance(), EECFI::CfiError::addMsg(), and EECFI::CfiClass::throwWarn.

SatTransId & EECFI::SatTransId::operator= ( const SatTransId other  ) 

Copy assignment operator.

Parameters:
other The SatTransId to copy/assign from

References EECFI::CfiId::addInstance(), and eraseObject().

SatId EECFI::SatTransId::satId (  )  const

Return satellite id.

Returns:
Satellite id.
void EECFI::SatTransId::setAngles ( const AngleModel angleModel  ) 

Change angles model.

Parameters:
angleModel Angle model data.

References EECFI::CfiError::addMsg(), EECFI::AngleModel::angles, and EECFI::CfiClass::throwWarn.

void EECFI::SatTransId::setAzElDefinition ( const AzElDefinition azElDef  ) 

Set azimuth/elevation definition.

Parameters:
azElDef Definition of azimuth and elevation.

References EECFI::AzElDefinition::az0Axis, EECFI::AzElDefinition::az90Axis, EECFI::AzElDefinition::el90Axis, and EECFI::CfiClass::throwWarn.

void EECFI::SatTransId::setMatrix ( const MatrixModel matrixModel  ) 

Change matrix model.

Parameters:
matrixModel Matrix model data.

References EECFI::CfiError::addMsg(), EECFI::MatrixModel::attMatrix, and EECFI::CfiClass::throwWarn.

void EECFI::SatTransId::setQuatPlusAngles ( const QuatPlusAnglesModel quatPlusAng  ) 

Change quaternions plus angles model.

Parameters:
quatPlusAng Quaternion plus angles model data.

References EECFI::CfiError::addMsg(), EECFI::QuatPlusAnglesModel::angles, EECFI::QuatPlusAnglesModel::inertialFrame, EECFI::QuatPlusAnglesModel::quat, and EECFI::CfiClass::throwWarn.

void EECFI::SatTransId::setQuatPlusMatrix ( const QuatPlusMatrixModel quatPlusMat  ) 

Change quaternions plus matrix model.

Parameters:
quatPlusMat Quaternion plus matrix model data.

References EECFI::CfiError::addMsg(), EECFI::QuatPlusMatrixModel::inertialFrame, EECFI::QuatPlusMatrixModel::quat, EECFI::QuatPlusMatrixModel::rotMatrix, and EECFI::CfiClass::throwWarn.


Generated on Mon Dec 11 2023 13:28:30 for by doxygen 1.7.1