12#ifndef RTCTK_STANDALONETOOLS_RAWRECORDER_FITSCONVERTERIF_HPP
13#define RTCTK_STANDALONETOOLS_RAWRECORDER_FITSCONVERTERIF_HPP
15#include <taiclock/taiClock.hpp>
19#include <CCfits/CCfits.h>
20#include <CCfits/FITS.h>
22#include <llnetio/mudpi/mudpi.hpp>
23#include <llnetio/rtms/rtms.hpp>
30 llnetio::rtms::PayloadHeader,
31 llnetio::rtms::TrailerHeader>;
60 m_store_sampleids = store;
67 m_store_timestamps = store;
73 return m_store_sampleids;
79 return m_store_timestamps;
97 return m_fits_handle !=
nullptr;
99 void Open(
const std::string& file);
105 std::unique_ptr<CCfits::FITS> m_fits_handle;
106 std::string m_directory;
108 bool m_store_timestamps;
109 bool m_store_sampleids;
bool GetStoreSampleIds()
Get current setting for storing sample ids as keywords.
Definition fitsConverterIf.hpp:72
void SetStoreSampleIds(bool store)
Enable or disable storage of sample ids as keywords.
Definition fitsConverterIf.hpp:59
bool GetSplitFiles()
Get the setting for splitting files.
Definition fitsConverterIf.hpp:84
void SetFitsHandle(std::unique_ptr< CCfits::FITS > &&handle)
Definition fitsConverterIf.cpp:37
const bool IsOpen()
Definition fitsConverterIf.hpp:96
void Close()
Definition fitsConverterIf.cpp:30
bool GetStoreTimestamps()
Get current setting for storing timestamps as keywords.
Definition fitsConverterIf.hpp:78
virtual void WriteData(const PacketData &data)=0
Write data into the FITS file(s).
void Open(const std::string &file)
Definition fitsConverterIf.cpp:26
CCfits::FITS & GetFitsHandle()
Definition fitsConverterIf.cpp:41
virtual ~FitsConverterIf()
Definition fitsConverterIf.cpp:45
FitsConverterIf(const std::string &directory, bool split_files)
Construct a FITS converter.
Definition fitsConverterIf.cpp:15
const std::string & GetDirectory()
Get the path to the output directory.
Definition fitsConverterIf.hpp:91
void SetStoreTimestamps(bool store)
Enable or disable storage of timestamps as keywords.
Definition fitsConverterIf.hpp:66
std::variant< llnetio::rtms::LeaderHeader, llnetio::rtms::PayloadHeader, llnetio::rtms::TrailerHeader > RtmsHeaderVariant
Definition fitsConverterIf.hpp:29
Definition fitsConverterIf.hpp:33
llnetio::mudpi::Header mudpi_header
Definition fitsConverterIf.hpp:34
gsl::span< const uint8_t > payload
Definition fitsConverterIf.hpp:38
taiclock::TaiClock::time_point pcap_timestamp
Definition fitsConverterIf.hpp:37
llnetio::rtms::CommonHeader rtms_header
Definition fitsConverterIf.hpp:35
RtmsHeaderVariant rtms_variant
Definition fitsConverterIf.hpp:36