13#ifndef RTCTK_STANDALONETOOLS_RAWRECORDER_FITSCONVERTERIF_HPP
14#define RTCTK_STANDALONETOOLS_RAWRECORDER_FITSCONVERTERIF_HPP
16#include <taiclock/taiClock.hpp>
20#include <CCfits/CCfits.h>
21#include <CCfits/FITS.h>
23#include <llnetio/mudpi/mudpi.hpp>
24#include <llnetio/rtms/rtms.hpp>
31 llnetio::rtms::PayloadHeader,
32 llnetio::rtms::TrailerHeader>;
61 m_store_sampleids = store;
68 m_store_timestamps = store;
74 return m_store_sampleids;
80 return m_store_timestamps;
98 return m_fits_handle !=
nullptr;
100 void Open(
const std::string& file);
106 std::unique_ptr<CCfits::FITS> m_fits_handle;
107 std::string m_directory;
109 bool m_store_timestamps;
110 bool m_store_sampleids;
Definition fitsConverterIf.hpp:42
bool GetStoreSampleIds()
Get current setting for storing sample ids as keywords.
Definition fitsConverterIf.hpp:73
void SetStoreSampleIds(bool store)
Enable or disable storage of sample ids as keywords.
Definition fitsConverterIf.hpp:60
bool GetSplitFiles()
Get the setting for splitting files.
Definition fitsConverterIf.hpp:85
void SetFitsHandle(std::unique_ptr< CCfits::FITS > &&handle)
Definition fitsConverterIf.cpp:38
const bool IsOpen()
Definition fitsConverterIf.hpp:97
void Close()
Definition fitsConverterIf.cpp:31
bool GetStoreTimestamps()
Get current setting for storing timestamps as keywords.
Definition fitsConverterIf.hpp:79
virtual void WriteData(const PacketData &data)=0
Write data into the FITS file(s).
void Open(const std::string &file)
Definition fitsConverterIf.cpp:27
CCfits::FITS & GetFitsHandle()
Definition fitsConverterIf.cpp:42
virtual ~FitsConverterIf()
Definition fitsConverterIf.cpp:46
FitsConverterIf(const std::string &directory, bool split_files)
Construct a FITS converter.
Definition fitsConverterIf.cpp:16
const std::string & GetDirectory()
Get the path to the output directory.
Definition fitsConverterIf.hpp:92
void SetStoreTimestamps(bool store)
Enable or disable storage of timestamps as keywords.
Definition fitsConverterIf.hpp:67
std::variant< llnetio::rtms::LeaderHeader, llnetio::rtms::PayloadHeader, llnetio::rtms::TrailerHeader > RtmsHeaderVariant
Definition fitsConverterIf.hpp:30
Definition fitsConverterIf.hpp:34
llnetio::mudpi::Header mudpi_header
Definition fitsConverterIf.hpp:35
gsl::span< const uint8_t > payload
Definition fitsConverterIf.hpp:39
taiclock::TaiClock::time_point pcap_timestamp
Definition fitsConverterIf.hpp:38
llnetio::rtms::CommonHeader rtms_header
Definition fitsConverterIf.hpp:36
RtmsHeaderVariant rtms_variant
Definition fitsConverterIf.hpp:37