| Earth Observation Mission CFI Software DataHandling Software User Manual |

Public Member Functions | Public Attributes

# EECFI::AttFile Class Reference

Class for reading/writing attitude generic files. More...

Inheritance diagram for EECFI::AttFile:

List of all members.

## Public Member Functions
| AttFile ()
| Empty constructor.
| AttFile (const string fileNam)
| Constructor with file name.
| ~AttFile ()
| Destructor.
void | read () throw (CfiError)
| Read the whole data block and store it in object.
void | write (FixedHeader &fixedHead, vector< AttRec > &attRecords, const long srcRef, const long datTyp, const double maximumGap, const long satReference) throw (CfiError)
| Write attitude file with name given in constructor.
void | write (string fileNam, FixedHeader &fixedHead, vector< AttRec > &attRecords, const long srcRef, const long datTyp, const double maximumGap, const long satReference) throw (CfiError)
| Write attitude file with a new name.
void | decimate (double decimationDeltaTime, AttFile &attOut) throw (CfiError)
| Decimate the list of attitude records according to input delta time.
## Public Attributes
vector< AttRec > | attRec
| Vector of attitude data.
long | sourceRef
| Initial reference frame: inertial reference frame.
long | dataType
| Angles or quaternions (AttitudeDataTypeEnum).
double | maxGap
| Maximum time gap between two consecutive records.
long | satRef
| Target reference frame.

## Detailed Description

Class for reading/writing attitude generic files.

## Constructor & Destructor Documentation

EECFI::AttFile::AttFile | ( |  | ) |

Empty constructor.

References EECFI::EEFile::fileType.

EECFI::AttFile::AttFile | ( | const string | fileNam | ) |

Constructor with file name.

Parameters:

  | fileNam | Name of the file.

EECFI::AttFile::~AttFile | ( |  | ) |

Destructor.

References attRec, and EECFI::EEFile::fixedHeader.

## Member Function Documentation

void EECFI::AttFile::decimate | ( | double | decimationDeltaTime,
|  | AttFile & | attOut |
| ) |  |  | throw (CfiError)

Decimate the list of attitude records according to input delta time.

Being t0 the time of the 1st attitude record of input list (calling object) and D the decimationDeltaTime, the attitude records from the input list that will be included in the output list will be those closer to every time t=t0+k*D (k=1,2...n). Important: the fixed header of calling object must have been read.

Parameters:

  | decimationDeltaTime | Number of seconds used for decimation.
  | attOut | Output Attitude File with the decimated list and corresponding Fixed header.

References EECFI::CfiError::addMsg().

void EECFI::AttFile::read | ( |  | ) | throw (CfiError)

Read the whole data block and store it in object.

References attRec, dataType, EECFI::EEFile::fileName, maxGap, satRef, sourceRef, and EECFI::CfiClass::throwWarn.

void EECFI::AttFile::write | ( | string | fileNam,
|  | FixedHeader & | fixedHead,
|  | vector< AttRec > & | attRecords,
|  | const long | srcRef,
|  | const long | datTyp,
|  | const double | maximumGap,
|  | const long | satReference |
| ) |  |  | throw (CfiError)

Write attitude file with a new name.

Note about output format: the number of decimal digits written to file depends on the type of data:

- If angles are used, 6 decimal digits are written.
- If quaternions are used, 9 decimal digits are written.

It is done this way because having 9 decimal digits in quaternions reduces pointing error significantly .

Parameters:

  | fileNam | New file name.
  | fixedHead | Values of the fixed header.
  | attRecords | Vector of attitude data.
  | srcRef | Initial reference frame.
  | datTyp | Angles of quaternions (AttitudeDataTypeEnum).
  | maximumGap | Maximum time gap between two cosecutive records.
  | satReference | Target reference frame.

void EECFI::AttFile::write | ( | FixedHeader & | fixedHead,
|  | vector< AttRec > & | attRecords,
|  | const long | srcRef,
|  | const long | datTyp,
|  | const double | maximumGap,
|  | const long | satReference |
| ) |  |  | throw (CfiError)

Write attitude file with name given in constructor.

Note about output format: the number of decimal digits written to file depends on the type of data:

- If angles are used, 6 decimal digits are written.
- If quaternions are used, 9 decimal digits are written.

It is done this way because having 9 decimal digits in quaternions reduces pointing error significantly .

Parameters:

  | fixedHead | Values of the fixed header.
  | attRecords | Vector of attitude data.
  | srcRef | Initial reference frame.
  | datTyp | Angles of quaternions (AttitudeDataTypeEnum).
  | maximumGap | Maximum time gap between two cosecutive records.
  | satReference | Target reference frame.

## Member Data Documentation

vector<AttRec> EECFI::AttFile::attRec

Vector of attitude data.

Referenced by read(), and ~AttFile().

long EECFI::AttFile::dataType

Angles or quaternions (AttitudeDataTypeEnum).

Referenced by read().

double EECFI::AttFile::maxGap

Maximum time gap between two consecutive records.

Referenced by read().

long EECFI::AttFile::satRef

Target reference frame.

Referenced by read().

long EECFI::AttFile::sourceRef

Initial reference frame: inertial reference frame.

Referenced by read().