DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
dfmodules
src
SummaryTextDataWriter.cpp
Go to the documentation of this file.
1
8
9
#include "
dfmodules/SummaryTextDataWriter.hpp
"
10
11
#include <stdexcept>
12
#include <string>
13
14
namespace
dunedaq::dfmodules
{
15
16
SummaryTextDataWriter::SummaryTextDataWriter
(
const
std::string& file_name)
17
:
m_file_name
(file_name)
18
,
m_output_file
(file_name,
std
::ios::
out
|
std
::ios::app)
19
,
m_recorded_size
(0)
20
,
m_uncompressed_raw_data_size
(0)
21
,
m_total_file_size
(0)
22
{
23
if
(!
m_output_file
.is_open()) {
24
throw CantOpenFile(ERS_HERE, m_file_name);
25
}
26
}
27
28
SummaryTextDataWriter::~SummaryTextDataWriter
()
29
{
30
if
(
m_output_file
.is_open()) {
31
m_output_file
.close();
32
}
33
}
34
35
void
36
SummaryTextDataWriter::write
(
const
daqdataformats::TriggerRecord
& tr)
37
{
38
const
auto
trigger_number = tr.
get_header_ref
().
get_trigger_number
();
39
write_line
(
"TriggerRecord #"
+ std::to_string(trigger_number));
40
}
41
42
void
43
SummaryTextDataWriter::write
(
const
daqdataformats::TimeSlice
& ts)
44
{
45
const
auto
timeslice_number = ts.
get_header
().
timeslice_number
;
46
m_written_timeslices
.insert(timeslice_number);
47
write_line
(
"TimeSlice #"
+ std::to_string(timeslice_number));
48
}
49
50
bool
51
SummaryTextDataWriter::timeslice_already_exists
(
const
daqdataformats::TimeSlice
& ts)
const
52
{
53
return
m_written_timeslices
.count(ts.
get_header
().
timeslice_number
) > 0;
54
}
55
56
std::string
57
SummaryTextDataWriter::get_file_name
()
const
58
{
59
return
m_file_name
;
60
}
61
62
size_t
63
SummaryTextDataWriter::get_recorded_size
() const noexcept
64
{
65
return
m_recorded_size
;
66
}
67
68
size_t
69
SummaryTextDataWriter::get_uncompressed_raw_data_size
() const noexcept
70
{
71
return
m_uncompressed_raw_data_size
;
72
}
73
74
size_t
75
SummaryTextDataWriter::get_total_file_size
() const noexcept
76
{
77
return
m_total_file_size
;
78
}
79
80
void
81
SummaryTextDataWriter::write_line
(
const
std::string& line)
82
{
83
m_output_file
<< line <<
'\n'
;
84
if
(!
m_output_file
.good()) {
85
throw
CantWriteToFile
(
ERS_HERE
,
m_file_name
);
86
}
87
88
const
size_t
bytes_written = line.size() + 1;
89
m_recorded_size
+= bytes_written;
90
m_uncompressed_raw_data_size
+= bytes_written;
91
m_total_file_size
+= bytes_written;
92
}
93
94
}
// namespace dunedaq::dfmodules
ERS_HERE
#define ERS_HERE
Definition
LocalContext.hpp:127
SummaryTextDataWriter.hpp
dunedaq::daqdataformats::TimeSlice
C++ Representation of a DUNE TimeSlice, consisting of a TimeSliceHeader object and a vector of pointe...
Definition
TimeSlice.hpp:27
dunedaq::daqdataformats::TimeSlice::get_header
TimeSliceHeader get_header() const
Get a copy of the TimeSliceHeader struct.
Definition
TimeSlice.hpp:44
dunedaq::daqdataformats::TriggerRecordHeader::get_trigger_number
trigger_number_t get_trigger_number() const
Definition
TriggerRecordHeader.hpp:55
dunedaq::daqdataformats::TriggerRecord
C++ Representation of a DUNE TriggerRecord, consisting of a TriggerRecordHeader object and a vector o...
Definition
TriggerRecord.hpp:27
dunedaq::daqdataformats::TriggerRecord::get_header_ref
const TriggerRecordHeader & get_header_ref() const
Get a handle to the TriggerRecordHeader.
Definition
TriggerRecord.hpp:45
dunedaq::dfmodules::SummaryTextDataWriter::m_output_file
std::ofstream m_output_file
Definition
SummaryTextDataWriter.hpp:58
dunedaq::dfmodules::SummaryTextDataWriter::SummaryTextDataWriter
SummaryTextDataWriter(const std::string &file_name)
Definition
SummaryTextDataWriter.cpp:16
dunedaq::dfmodules::SummaryTextDataWriter::write_line
void write_line(const std::string &line)
Definition
SummaryTextDataWriter.cpp:81
dunedaq::dfmodules::SummaryTextDataWriter::m_uncompressed_raw_data_size
size_t m_uncompressed_raw_data_size
Definition
SummaryTextDataWriter.hpp:60
dunedaq::dfmodules::SummaryTextDataWriter::m_total_file_size
size_t m_total_file_size
Definition
SummaryTextDataWriter.hpp:61
dunedaq::dfmodules::SummaryTextDataWriter::timeslice_already_exists
bool timeslice_already_exists(const daqdataformats::TimeSlice &ts) const
Definition
SummaryTextDataWriter.cpp:51
dunedaq::dfmodules::SummaryTextDataWriter::get_total_file_size
size_t get_total_file_size() const noexcept
Definition
SummaryTextDataWriter.cpp:75
dunedaq::dfmodules::SummaryTextDataWriter::m_file_name
std::string m_file_name
Definition
SummaryTextDataWriter.hpp:57
dunedaq::dfmodules::SummaryTextDataWriter::write
void write(const daqdataformats::TriggerRecord &tr)
Definition
SummaryTextDataWriter.cpp:36
dunedaq::dfmodules::SummaryTextDataWriter::get_recorded_size
size_t get_recorded_size() const noexcept
Definition
SummaryTextDataWriter.cpp:63
dunedaq::dfmodules::SummaryTextDataWriter::get_file_name
std::string get_file_name() const
Definition
SummaryTextDataWriter.cpp:57
dunedaq::dfmodules::SummaryTextDataWriter::m_recorded_size
size_t m_recorded_size
Definition
SummaryTextDataWriter.hpp:59
dunedaq::dfmodules::SummaryTextDataWriter::~SummaryTextDataWriter
~SummaryTextDataWriter()
Definition
SummaryTextDataWriter.cpp:28
dunedaq::dfmodules::SummaryTextDataWriter::m_written_timeslices
std::set< daqdataformats::timeslice_number_t > m_written_timeslices
Definition
SummaryTextDataWriter.hpp:62
dunedaq::dfmodules::SummaryTextDataWriter::get_uncompressed_raw_data_size
size_t get_uncompressed_raw_data_size() const noexcept
Definition
SummaryTextDataWriter.cpp:69
dunedaq::dfmodules
An ERS Issue for DataStore creation failure.
Definition
DataStore.hpp:91
dunedaq::out
FELIX Initialization std::string initerror FELIX queue timed out
Definition
FelixIssues.hpp:24
dunedaq::CantWriteToFile
CantWriteToFile
Definition
SummaryTextDataWriter.hpp:26
std
Definition
SchemaUtils.hpp:118
dunedaq::daqdataformats::TimeSliceHeader::timeslice_number
timeslice_number_t timeslice_number
Slice number of this TimeSlice within the stream.
Definition
TimeSliceHeader.hpp:40
Generated on
for DUNE-DAQ by
1.18.0