ATLAS Offline Software
Loading...
Searching...
No Matches
Merger.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef HDF5Utils_Merger_H
6#define HDF5Utils_Merger_H
7
8#include "H5Cpp.h"
9namespace H5Utils::hist { class HistogramMerger; }
10
11#include <memory>
12
19
20namespace H5Utils {
24 class Merger {
25 public:
38 Merger(
39 hsize_t mergeAxis = 0,
40 int chunkSize = -1,
41 bool requireSameFormat = true,
42 std::size_t bufferSize = -1,
43 bool bufferInRows = false);
44
45 ~Merger();
46
52 void merge(H5::Group& target, const H5::Group& source);
53
59 void merge(H5::DataSet& target, const H5::DataSet& source);
60
66 H5::Group createFrom(
67 H5::H5Location& targetLocation,
68 const H5::Group& source);
69
75 H5::DataSet createFrom(
76 H5::H5Location& targetLocation,
77 const H5::DataSet& source);
78
83 void flush(H5::Group& dst);
84
85 protected:
87 hsize_t m_mergeAxis;
93 std::size_t m_bufferSize;
97 std::unique_ptr<H5Utils::hist::HistogramMerger> m_histMerger;
98 }; //> end class Merger
99} //> end namespace H5Utils
100
101#endif //> !HDF5Utils_Merger_H
Merger(hsize_t mergeAxis=0, int chunkSize=-1, bool requireSameFormat=true, std::size_t bufferSize=-1, bool bufferInRows=false)
Create the merger.
Definition Merger.cxx:14
int m_chunkSize
The chunk size to apply.
Definition Merger.h:89
bool m_measureBufferInRows
Whether to measure the buffer in bytes or rows.
Definition Merger.h:95
std::unique_ptr< H5Utils::hist::HistogramMerger > m_histMerger
Accumulator for UHI histogram groups.
Definition Merger.h:97
void flush(H5::Group &dst)
Write all accumulated histogram data to the output.
Definition Merger.cxx:138
hsize_t m_mergeAxis
The axis to merge along.
Definition Merger.h:87
std::size_t m_bufferSize
The size of the buffer.
Definition Merger.h:93
H5::Group createFrom(H5::H5Location &targetLocation, const H5::Group &source)
Make a new group from information in a source group.
Definition Merger.cxx:122
bool m_requireSameFormat
Whether to require the same group structure.
Definition Merger.h:91
Accumulates UHI histogram groups from multiple source files and writes the merged result once all inp...
HDF5 Tuple Writer.
Definition merge.py:1