RTC Toolkit 5.1.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
rtctk::componentFramework::FitsRecorder< T > Class Template Reference

#include <fitsDataRecorder.hpp>

Inheritance diagram for rtctk::componentFramework::FitsRecorder< T >:
rtctk::componentFramework::DataRecorder< T... >

Public Member Functions

 FitsRecorder (const ColumnDescription &columns, const std::array< bool, sizeof...(T)> &disable={}, const std::string &extension_name="recording")
 create a new recorder
 
virtual ~FitsRecorder ()=default
 
void Open (const std::filesystem::path &file) override
 Open a file.
 
void Write (const std::tuple< T... > &data) override
 Write a single row of data.
 
void Close () override
 Close the currently open file.
 
void SetColumnLength (size_t column, size_t length)
 Set the exact length of a column.
 
void SetColumnLength (const std::tuple< T... > &data)
 
std::string DefaultFileExtension () override
 Default filename extension for the recorder.
 
- Public Member Functions inherited from rtctk::componentFramework::DataRecorder< T... >
 DataRecorder (const ColumnDescription &columns, const DisabledFields &disable={})
 Create a new recorder.
 
virtual ~DataRecorder ()=default
 
void SetDisabledFields (const DisabledFields &disable)
 Disable certain fields so that they are not recorded.
 
virtual void Write (const gsl::span< const std::tuple< T... > > data)
 Write multiple rows of data.
 

Additional Inherited Members

- Public Types inherited from rtctk::componentFramework::DataRecorder< T... >
using TupleType
 Type of the tuple returned by user-defined method AsTuple.
 
using DisabledFields
 Type for disabled fields, an array of bools with length equal to size of the data tuple.
 
using ColumnDescription
 
- Protected Attributes inherited from rtctk::componentFramework::DataRecorder< T... >
DisabledFields m_disabled_fields
 Array of fields that should not be recorded.
 
const ColumnDescription m_column_description
 

Constructor & Destructor Documentation

◆ FitsRecorder()

template<class... T>
rtctk::componentFramework::FitsRecorder< T >::FitsRecorder ( const ColumnDescription & columns,
const std::array< bool, sizeof...(T)> & disable = {},
const std::string & extension_name = "recording" )
explicit

create a new recorder

Parameters
columnscolumn description (name and unit)
disablearray of bools, with boolean wether fields should be skipped during the recording
extension_namename of the FITS extension to use for the binary table

◆ ~FitsRecorder()

template<class... T>
virtual rtctk::componentFramework::FitsRecorder< T >::~FitsRecorder ( )
virtualdefault

Member Function Documentation

◆ Close()

template<class... T>
void rtctk::componentFramework::FitsRecorder< T >::Close ( )
overridevirtual

Close the currently open file.

Implements rtctk::componentFramework::DataRecorder< T... >.

◆ DefaultFileExtension()

template<class... T>
std::string rtctk::componentFramework::FitsRecorder< T >::DefaultFileExtension ( )
inlineoverridevirtual

Default filename extension for the recorder.

Implements rtctk::componentFramework::DataRecorder< T... >.

◆ Open()

template<class... T>
void rtctk::componentFramework::FitsRecorder< T >::Open ( const std::filesystem::path & file)
overridevirtual

Open a file.

Parameters
[in]fileThe path to the file.

Implements rtctk::componentFramework::DataRecorder< T... >.

◆ SetColumnLength() [1/2]

template<class... T>
void rtctk::componentFramework::FitsRecorder< T >::SetColumnLength ( const std::tuple< T... > & data)

◆ SetColumnLength() [2/2]

template<class... T>
void rtctk::componentFramework::FitsRecorder< T >::SetColumnLength ( size_t column,
size_t length )

Set the exact length of a column.

This is needed for FITS binary tables because variable length types create problems when recording, as the data is written in an heap area after the binary table and needs to move when the binary table grows. The size is given in number of elements. This function needs to be called before Open.

set exact size of a specific column.

  • column index of the column, starting at 0.
  • length size of the column in number of elements

◆ Write()

template<class... T>
void rtctk::componentFramework::FitsRecorder< T >::Write ( const std::tuple< T... > & data)
overridevirtual

Write a single row of data.

Parameters
[in]dataThe tuple containing all the data, including the disabled fields.

Implements rtctk::componentFramework::DataRecorder< T... >.


The documentation for this class was generated from the following files: