DEIMOS
Earth Observation Mission CFI Software
DataHandling Software User Manual
ESA

EECFI::AttFile Class Reference

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

Inheritance diagram for EECFI::AttFile:
EECFI::EEFile EECFI::CfiClass

List of all members.

Public Member Functions

 AttFile ()
 Default constructor.
 AttFile (const std::string &fileNam)
 Constructor with file name.
 AttFile (const AttFile &other)
 ~AttFile () NOEXCEPT
 Destructor.
AttFileoperator= (const AttFile &other)
void read ()
 Read the whole data block and store it in object.
void write (const FixedHeader &fixedHead, const std::vector< AttRec > &attRecords, const long srcRef, const long datTyp, const double maximumGap, const long satReference)
 Write attitude file with name given in constructor.
void write (const std::string &fileNam, const FixedHeader &fixedHead, const std::vector< AttRec > &attRecords, const long srcRef, const long datTyp, const double maximumGap, const long satReference)
 Write attitude file with a new name.
void decimate (double decimationDeltaTime, AttFile &attOut) const
 Decimate the list of attitude records according to input delta time.
long xsltAdd () const
 Add xslt reference with default stylesheet.

Public Attributes

std::vector< AttRecattRec
 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 (  ) 

Default constructor.

EECFI::AttFile::AttFile ( const std::string &  fileNam  )  [explicit]

Constructor with file name.

Parameters:
fileNam Name of the file.
EECFI::AttFile::AttFile ( const AttFile other  ) 

Copy constructor.

Parameters:
other The AttFile to copy from
EECFI::AttFile::~AttFile (  ) 

Destructor.


Member Function Documentation

void EECFI::AttFile::decimate ( double  decimationDeltaTime,
AttFile attOut 
) const

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(), attRec, dataType, EECFI::EEFile::fixedHeader, maxGap, satRef, sourceRef, EECFI::CfiClass::throwWarn, EECFI::FixedHeader::valStartDate, EECFI::FixedHeader::valStopDate, and EECFI::FixedHeader::version.

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

Copy assigment operator.

Parameters:
other The AttFile to copy/assign from

References attRec, dataType, maxGap, satRef, and sourceRef.

void EECFI::AttFile::read (  ) 

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 ( const std::string &  fileNam,
const FixedHeader fixedHead,
const std::vector< AttRec > &  attRecords,
const long  srcRef,
const long  datTyp,
const double  maximumGap,
const long  satReference 
)

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.

References EECFI::EEFile::fileName, and write().

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

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.

References attRec, EECFI::FixedHeader::creationDate, EECFI::FixedHeader::creator, EECFI::FixedHeader::creatorVersion, dataType, EECFI::FixedHeader::fileClass, EECFI::FixedHeader::fileDescription, EECFI::EEFile::fileName, EECFI::FixedHeader::fileName, EECFI::FixedHeader::fileType, EECFI::EEFile::fixedHeader, maxGap, EECFI::FixedHeader::mission, satRef, EECFI::FixedHeader::schema, sourceRef, EECFI::FixedHeader::system, EECFI::CfiClass::throwWarn, EECFI::FixedHeader::valStartDate, EECFI::FixedHeader::valStopDate, and EECFI::FixedHeader::version.

Referenced by write().

long EECFI::AttFile::xsltAdd (  )  const

Add xslt reference with default stylesheet.

References EECFI::EEFile::fileName.


Member Data Documentation

Vector of attitude data.

Referenced by decimate(), operator=(), read(), and write().

Angles or quaternions (AttitudeDataTypeEnum).

Referenced by decimate(), operator=(), read(), and write().

Maximum time gap between two consecutive records.

Referenced by decimate(), operator=(), read(), and write().

Target reference frame.

Referenced by decimate(), operator=(), read(), and write().

Initial reference frame: inertial reference frame.

Referenced by decimate(), operator=(), read(), and write().


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