Earth Observation Mission CFI Software Pointing Software User Manual |
Class for storing the Satellite Attitude configuration parameters. More...
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. | |
SatTransId & | operator= (const SatTransId &other) |
Protected Member Functions | |
void | eraseObject () |
Erase object and free memory. |
Class for storing the Satellite Attitude configuration parameters.
EECFI::SatTransId::SatTransId | ( | ) |
Default constructor.
EECFI::SatTransId::SatTransId | ( | const SatTransId & | other | ) |
Copy constructor
other | The SatTransId to copy from |
EECFI::SatTransId::~SatTransId | ( | ) | [virtual] |
Class destructor.
References eraseObject().
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.
References EECFI::CfiError::addMsg(), EECFI::AngleModel::angles, and EECFI::CfiClass::throwWarn.
SatAttFileModel EECFI::SatTransId::getFile | ( | ) | const |
Get file data of object.
References EECFI::StarTrackerAux::aberrCorrection, EECFI::CfiError::addMsg(), EECFI::SatAttFileModel::attData, EECFI::SatAttFileModel::auxData, EECFI::SatAttFileModel::dataType, EECFI::SatAttFileModel::fileModel, EECFI::SatAttFileModel::inertialFrame, EECFI::SatAttFileModel::maxGap, EECFI::StarTrackerAux::starTrId, EECFI::StarTrackerAux::strAttRot, EECFI::CfiClass::throwWarn, EECFI::SatAttFileModel::tmData, EECFI::SatAttFileModel::valTime0, and EECFI::SatAttFileModel::valTime1.
HarmonicModel EECFI::SatTransId::getHarmonic | ( | ) | const |
Get harmonic parameters of object.
References EECFI::CfiError::addMsg(), EECFI::HarmonicModel::angleType, EECFI::HarmonicData::harmonicCoeffPitch, EECFI::HarmonicData::harmonicCoeffRoll, EECFI::HarmonicData::harmonicCoeffYaw, EECFI::HarmonicModel::harmonicData, EECFI::HarmonicData::harmonicTypePitch, EECFI::HarmonicData::harmonicTypeRoll, EECFI::HarmonicData::harmonicTypeYaw, and EECFI::CfiClass::throwWarn.
MatrixModel EECFI::SatTransId::getMatrix | ( | ) | const |
Get matrix model.
References EECFI::CfiError::addMsg(), EECFI::MatrixModel::attMatrix, and EECFI::CfiClass::throwWarn.
QuatPlusAnglesModel EECFI::SatTransId::getQuatPlusAngles | ( | ) | const |
Get quaternions plus angles model.
References EECFI::CfiError::addMsg(), EECFI::QuatPlusAnglesModel::angles, EECFI::QuatPlusAnglesModel::inertialFrame, EECFI::QuatPlusAnglesModel::quat, and EECFI::CfiClass::throwWarn.
QuatPlusMatrixModel EECFI::SatTransId::getQuatPlusMatrix | ( | ) | const |
Get quaternions plus matrix model.
References EECFI::CfiError::addMsg(), EECFI::QuatPlusMatrixModel::inertialFrame, EECFI::QuatPlusMatrixModel::quat, EECFI::QuatPlusMatrixModel::rotMatrix, and EECFI::CfiClass::throwWarn.
void EECFI::SatTransId::init | ( | const double | matrix[3][3] | ) |
Initialise using matrix.
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.
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.
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.
angle | Rotation angles.
. |
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.
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:
angleType | Type of angle (given by PointingAngleTypeEnum). | |
harmTypePitch | Type of coefficients:
. | |
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.
other | The SatTransId to copy/assign from |
References EECFI::CfiId::addInstance(), and eraseObject().
SatId EECFI::SatTransId::satId | ( | ) | const |
Return satellite id.
void EECFI::SatTransId::setAngles | ( | const AngleModel & | angleModel | ) |
Change angles model.
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.
azElDef | Definition of azimuth and elevation. |
References EECFI::AzElDefinition::az0Axis, EECFI::AzElDefinition::az90Axis, EECFI::AzElDefinition::el90Axis, and EECFI::CfiClass::throwWarn.
void EECFI::SatTransId::setFile | ( | const SatAttFileModel & | fileModel | ) |
Change initialisation file data of the object.
fileModel | File model data. |
References EECFI::StarTrackerAux::aberrCorrection, EECFI::CfiError::addMsg(), EECFI::SatAttFileModel::attData, EECFI::SatAttFileModel::auxData, EECFI::SatAttFileModel::dataType, EECFI::SatAttFileModel::fileModel, EECFI::SatAttFileModel::inertialFrame, EECFI::SatAttFileModel::maxGap, EECFI::StarTrackerAux::starTrId, EECFI::StarTrackerAux::strAttRot, EECFI::CfiClass::throwWarn, EECFI::SatAttFileModel::tmData, EECFI::SatAttFileModel::valTime0, and EECFI::SatAttFileModel::valTime1.
void EECFI::SatTransId::setHarmonic | ( | const HarmonicModel & | harmonicModel | ) |
Change harmonic parameters of the object.
harmonicModel | Harmonic model data. |
References EECFI::CfiError::addMsg(), EECFI::HarmonicModel::angleType, EECFI::HarmonicData::harmonicCoeffPitch, EECFI::HarmonicData::harmonicCoeffRoll, EECFI::HarmonicData::harmonicCoeffYaw, EECFI::HarmonicModel::harmonicData, EECFI::HarmonicData::harmonicTypePitch, EECFI::HarmonicData::harmonicTypeRoll, EECFI::HarmonicData::harmonicTypeYaw, and EECFI::CfiClass::throwWarn.
void EECFI::SatTransId::setMatrix | ( | const MatrixModel & | matrixModel | ) |
Change matrix model.
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.
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.
quatPlusMat | Quaternion plus matrix model data. |
References EECFI::CfiError::addMsg(), EECFI::QuatPlusMatrixModel::inertialFrame, EECFI::QuatPlusMatrixModel::quat, EECFI::QuatPlusMatrixModel::rotMatrix, and EECFI::CfiClass::throwWarn.