DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
SummaryTextDataWriter.hpp
Go to the documentation of this file.
1
11
12#ifndef DFMODULES_SRC_DFMODULES_SUMMARYTEXTDATAWRITER_HPP_
13#define DFMODULES_SRC_DFMODULES_SUMMARYTEXTDATAWRITER_HPP_
14
17
18#include "ers/Issue.hpp"
19
20#include <fstream>
21#include <set>
22#include <string>
23
24namespace dunedaq {
25ERS_DECLARE_ISSUE(dfmodules, CantOpenFile, "Unable to open " << file_name, ((std::string)file_name))
26ERS_DECLARE_ISSUE(dfmodules, CantWriteToFile, "Unable to write line to " << file_name, ((std::string)file_name))
27} // namespace dunedaq
28
29namespace dunedaq::dfmodules {
30
32{
33public:
34 explicit SummaryTextDataWriter(const std::string& file_name);
35
37 void write(const daqdataformats::TimeSlice& ts);
38
40
41 std::string get_file_name() const;
42 std::string get_file_name_extension() const { return "txt"; }
43 size_t get_recorded_size() const noexcept;
44 size_t get_uncompressed_raw_data_size() const noexcept;
45 size_t get_total_file_size() const noexcept;
46
48
50 SummaryTextDataWriter& operator=(const SummaryTextDataWriter&) = delete;
53
54private:
55 void write_line(const std::string& line);
56
58 std::ofstream m_output_file;
62 std::set<daqdataformats::timeslice_number_t> m_written_timeslices;
63};
64
65} // namespace dunedaq::dfmodules
66
67#endif // DFMODULES_SRC_DFMODULES_SUMMARYTEXTDATAWRITER_HPP_
CantOpenFile
C++ Representation of a DUNE TimeSlice, consisting of a TimeSliceHeader object and a vector of pointe...
Definition TimeSlice.hpp:27
C++ Representation of a DUNE TriggerRecord, consisting of a TriggerRecordHeader object and a vector o...
SummaryTextDataWriter(const std::string &file_name)
bool timeslice_already_exists(const daqdataformats::TimeSlice &ts) const
void write(const daqdataformats::TriggerRecord &tr)
std::set< daqdataformats::timeslice_number_t > m_written_timeslices
An ERS Issue for DataStore creation failure.
Definition DataStore.hpp:91
The DUNE-DAQ namespace.
ERS_DECLARE_ISSUE(cibmodules, CIBCommunicationError, " CIB Hardware Communication Error: "<< descriptor,((std::string) descriptor)) ERS_DECLARE_ISSUE(cibmodules