ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
AnalysisCommon
HDF5Utils
HDF5Utils
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"
9
namespace
H5Utils::hist
{
class
HistogramMerger
; }
10
11
#include <memory>
12
19
20
namespace
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
;
89
int
m_chunkSize
;
91
bool
m_requireSameFormat
;
93
std::size_t
m_bufferSize
;
95
bool
m_measureBufferInRows
;
97
std::unique_ptr<H5Utils::hist::HistogramMerger>
m_histMerger
;
98
};
//> end class Merger
99
}
//> end namespace H5Utils
100
101
#endif
//> !HDF5Utils_Merger_H
H5Utils::Merger::Merger
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
H5Utils::Merger::m_chunkSize
int m_chunkSize
The chunk size to apply.
Definition
Merger.h:89
H5Utils::Merger::m_measureBufferInRows
bool m_measureBufferInRows
Whether to measure the buffer in bytes or rows.
Definition
Merger.h:95
H5Utils::Merger::m_histMerger
std::unique_ptr< H5Utils::hist::HistogramMerger > m_histMerger
Accumulator for UHI histogram groups.
Definition
Merger.h:97
H5Utils::Merger::flush
void flush(H5::Group &dst)
Write all accumulated histogram data to the output.
Definition
Merger.cxx:138
H5Utils::Merger::~Merger
~Merger()
Definition
Merger.cxx:27
H5Utils::Merger::m_mergeAxis
hsize_t m_mergeAxis
The axis to merge along.
Definition
Merger.h:87
H5Utils::Merger::m_bufferSize
std::size_t m_bufferSize
The size of the buffer.
Definition
Merger.h:93
H5Utils::Merger::createFrom
H5::Group createFrom(H5::H5Location &targetLocation, const H5::Group &source)
Make a new group from information in a source group.
Definition
Merger.cxx:122
H5Utils::Merger::m_requireSameFormat
bool m_requireSameFormat
Whether to require the same group structure.
Definition
Merger.h:91
H5Utils::hist::HistogramMerger
Accumulates UHI histogram groups from multiple source files and writes the merged result once all inp...
Definition
HistogramMerger.h:30
H5Utils::hist
Definition
HistAxis.h:14
H5Utils
HDF5 Tuple Writer.
Definition
CompressedTypes.h:16
merge
Definition
merge.py:1
Generated on
for ATLAS Offline Software by
1.17.0