Add function to calculate n_pulses in range with step

This commit is contained in:
2020-06-04 12:57:39 +02:00
parent 047ffb0dd6
commit 42c8f57de8
2 changed files with 27 additions and 4 deletions
+3
View File
@@ -24,6 +24,9 @@ class JFH5Writer {
uint32_t* b_daq_rec_;
uint8_t* b_is_good_frame_ ;
size_t get_n_pulses_in_range(const uint64_t start_pulse_id,
const uint64_t stop_pulse_id,
const int pulse_id_step);
void close_file();
public:
+24 -4
View File
@@ -17,14 +17,18 @@ using namespace std;
using namespace writer_config;
using namespace buffer_config;
JFH5Writer::JFH5Writer(const std::string& output_file,
JFH5Writer::JFH5Writer(const string& output_file,
const size_t n_modules,
const uint64_t start_pulse_id,
const uint64_t stop_pulse_id,
const size_t n_modules) :
const int pulse_id_step) :
n_modules_(n_modules),
start_pulse_id_(start_pulse_id),
stop_pulse_id_(stop_pulse_id),
n_modules_(n_modules),
n_images_(stop_pulse_id - start_pulse_id + 1),
pulse_id_step_(pulse_id_step),
n_images_(get_n_pulses_in_range(start_pulse_id,
stop_pulse_id,
pulse_id_step)),
current_write_index_(0)
{
@@ -75,6 +79,22 @@ JFH5Writer::~JFH5Writer()
delete[] b_is_good_frame_;
}
size_t JFH5Writer::get_n_pulses_in_range(
const uint64_t start_pulse_id,
const uint64_t stop_pulse_id,
const int pulse_id_step)
{
size_t n_pulses = 0;
if (start_pulse_id % pulse_id_step == 0) {
n_pulses++;
}
n_pulses += stop_pulse_id / pulse_id_step;
n_pulses -= start_pulse_id / pulse_id_step;
return n_pulses;
}
void JFH5Writer::close_file()
{
if (file_.getId() == -1) {